磁盘分配单元大小

由于分配过大导致文件实际大小与占用空间大小不符

简介

由于格式化硬盘的时候设置分配单元大小过大,导致文件在存储的时候文件大小与在硬盘中占用的空间大小不符,占用的空间可能是实际大小的几倍不止,现在的硬盘一般还是比较大的,所以这是一个短时间可能无法发现的问题。
所谓分配单元大小,即是系统对磁盘设备进行读写的最小单位。在极限速度以内,分配单元大小越大读写速度越快,反之则越慢。但同时单元分配越大越会造成空间的浪费。现在 Windows 与其他磁盘工具格式化默认 4096 字节。

排查问题

通过命令可以得到磁盘分区当前状态

1
fsutil fsinfo ntfsinfo 盘符:

异常盘符信息

其中每物理扇区字节数为 4096,每群集字节数却为 2097152,严重超出正常范围。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
NTFS 卷序列号 :        0xac249e45249e1306
NTFS 版本 : 3.1
LFS 版本 : 2.0
总扇区 : 1,000,212,479 (476.9 GB)
总群集 : 244,192 (476.9 GB)
空余群集 : 4,988 ( 9.7 GB)
总保留群集 : 2 ( 4.0 MB)
用于存储备用的保留 : 0 ( 0.0 KB)
每扇区字节数 : 512
每物理扇区字节数 : 4096
每群集字节数 : 2097152
每 FileRecord 分段字节数 : 1024
每 FileRecord 分段群集数 : 0
Mft 有效数据长度 : 348.00 MB
Mft 开始 Lcn : 0x0000000000000600
Mft2 开始 Lcn : 0x0000000000000001
Mft 区域开始 : 0x000000000003b820
Mft 区域结束 : 0x000000000003b8a0
MFT 区域大小 : 256.00 MB
最大设备修剪程度计数 : 256
最大设备修剪字节计数 : 0xffffffff
最大卷修剪程度计数 : 62
最大卷修剪字节计数 : 0x40000000
Resource Manager 标识符: 3EFE31B9-FB44-11EB-8AD1-00E04C3605F3

重新格式化盘符信息

经过尝试发现分配单元大小只能通过重新格式化修改,修改后其中每物理扇区字节数为 4096,每群集字节数却为 4096,测试文件存储显示占用空间正常。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
NTFS 卷序列号 :        0x65f33762c14d581b
NTFS 版本 : 3.1
LFS 版本 : 2.0
总扇区 : 1,000,212,479 (476.9 GB)
总群集 : 125,026,559 (476.9 GB)
空余群集 : 122,800,585 (468.4 GB)
总保留群集 : 1,024 ( 4.0 MB)
用于存储备用的保留 : 0 ( 0.0 KB)
每扇区字节数 : 512
每物理扇区字节数 : 4096
每群集字节数 : 4096
每 FileRecord 分段字节数 : 1024
每 FileRecord 分段群集数 : 0
Mft 有效数据长度 : 69.25 MB
Mft 开始 Lcn : 0x00000000000c0000
Mft2 开始 Lcn : 0x0000000000000002
Mft 区域开始 : 0x0000000000000000
Mft 区域结束 : 0x0000000000000000
MFT 区域大小 : 0.00 KB
最大设备修剪程度计数 : 256
最大设备修剪字节计数 : 0xffffffff
最大卷修剪程度计数 : 62
最大卷修剪字节计数 : 0x40000000
Resource Manager 标识符: 7F073C2D-7C25-11ED-9084-D85ED3244FF6