同一块磁盘,大小是 2TB,格式化工具, NTFS 可以设置最低 4KB 分配单元,而 extfat 最低只能 128KB 。 请问有什么工具可以让 exfat 支持更低的分配单元吗?
1
Eytoyes 2021-04-04 09:29:35 +08:00
我试了 DG 可以给 exfat 分区指定簇大小,但是要 v5.0 以后的版本才支持
Windows 会根据目标磁盘的容量决定默认簇大小 https://support.microsoft.com/zh-cn/topic/%E5%AF%B9%E4%BA%8E-ntfs-fat-%E5%92%8C-exfat-%E7%9A%84%E9%BB%98%E8%AE%A4%E7%B0%87%E5%A4%A7%E5%B0%8F-9772e6f1-e31a-00d7-e18f-73169155af95 |
2
aheadlead 2021-04-04 13:19:22 +08:00
好奇问一句为啥要设那么小?
|
3
hahasong 2021-04-04 13:32:11 +08:00 via iPhone
簇大小设小了是可以节约空间,同时你的 U 盘掉速会很严重
|
4
hahasong 2021-04-04 13:32:32 +08:00 via iPhone
建议你接受 win10 的设置
|
5
flynaj 2021-04-04 13:48:08 +08:00 1
如果你存的都是大文,把族设大性能更好. cmd 命令行可以指定参数
``` /A:size 替代默认分配单元大小。强烈建议你在通常情况下使用 默认配置。 ReFS 支持 4096 、64K 。 NTFS 支持 512 、1024 、2048 、4096 、8192 、16K 、32K 、64K 、 128K 、256K 、512K 、1M 、2M 。 FAT 支持 512 、1024 、2048 、4096 、8192 、16K 、32K 、64K, (128K 、256K 用于大于 512 个字节的扇区)。 FAT32 支持 512 、1024 、2048 、4096 、8192 、16K 、32K 、64K, (128K 、256K 用于大于 512 个字节的扇区)。 exFAT 支持 512 、1024 、2048 、4096 、8192 、16K 、32K 、64K 、 128K 、256K 、512K 、1M 、2M 、4M 、8M 、16M 、32M 。 请注意,FAT 和 FAT32 文件系统 对卷上的群集数量施加以下限制: FAT: 群集数量 <= 65526 FAT32: 65526 < 群集数量 < 4177918 如果判定使用的指定群集大小无法 满足以上需求,将立即 停止格式化。 大于 4096 的分配单元大小 不支持 NTFS 压缩。 ``` |
6
xiaoyanbot OP |
7
aheadlead 2021-04-06 10:40:39 +08:00 via iPhone
@xiaoyanbot 不如考虑单独做个分区存这些玩意?记得弄个 ssd...
|
8
xiaoyanbot OP @flynaj 请问完整的命令是 format 这个命令吗?
|
9
xiaoyanbot OP @Eytoyes 发现分区助手, 可以 exfat 支持 4KB
|
10
xiaoyanbot OP @Eytoyes 发现 DG ( Diskgenius )最小的大小, exfat 是 4KB
|
11
flynaj 2021-04-06 13:27:38 +08:00
|
12
xiaoyanbot OP @flynaj 主要是为了 win 和 mac 之间用的时候, 读写兼容性 ... reiserfs 和 ext4 在 win 上都没有原生支持吧...
|
13
xiaoyanbot OP exfat 格式 ,使用分区助手格式化为了 4KB 的簇大小, 在 分区助手 的扇区和簇信息那里看的是正确的 4KB, 在 chkdsk 工具里看着也是正确的:
![Snipaste_2021-04-06_14-29-45.jpg]( https://i.loli.net/2021/04/06/TVrX2HUGvBxzMiO.jpg) 但用小的文本文件看占用空间(使用资源管理器 explorer.exe )看的时候,结果发现是 占用空间 1024KB, 很奇怪 然后用 treesize free 这样的工具看的时候, 也是显示 4KB 好奇怪, 是 资源管理器 的 bug 吗? @flynaj |
14
flynaj 2021-04-06 14:51:15 +08:00
|
15
ZhuMa12345678 2021-04-09 15:39:38 +08:00
那是因为微软在 Windows 的图形界面格式化窗口里对 exFAT 文件系统做了恶意限制,比如强制隐藏了本地硬盘的 exFAT 格式化选项以及>64G 分区的 4096 字节分配单元大小选项等等。
然而对于系统自带的 format.com 命令行格式化程序则没有对 exFAT 文件系统施加任何人为限制,那么解决方案自然就是:先以管理员身份运行 CMD 命令提示符,注意空格输入:"Format X: /FS:exFAT /Q /A:4096 /Y"不包含引号即可将任意类型的盘快速格式化为 exFAT-4K 簇,其中"X:"为要格式化卷的盘符,"/A:"参数为自行指定一个簇大小。或者直接使用 DiskGenius 等第三方软件来格式化为 exFAT 也是可以的。 至于 NTFS 与 exFAT 格式化对分区容量的要求问题,这里先明确一点:只要能格式化为 NTFS 的盘就一定也能格式化为 exFAT,但反过来则不一定。 首先 exFAT 和 NTFS 在底层元数据结构上都是使用四个字节即 32 位簇项来描述总簇数,在使用同等簇大小下这两个文件系统能支持的最大卷容量都是一样大的。 也就是说,单个 exFAT 卷最多可以有 2^32 个簇,这样即使使用最小的 512B 簇最大也能支持到 512B×2^32B=2T 的分区大小,而使用 4K 簇的话最大则能支持到 4096B×2^32B=16T 的分区大小。 当然不管是 exFAT 还是 NTFS 文件系统,如果在格式化时簇大小设置的太大了,那么存储大量小文件肯定就会很浪费空间,这个没特殊需求直接使用 4K 簇大小即可,前提是只要分区容量不超过 16T 就行。 |
16
xiaoyanbot OP @ZhuMa12345678 感谢解答
|
17
szthanatos 11 小时 2 分钟前
@ZhuMa12345678 mark & thanks
|