2024年3月10日发(作者:)

关于这个分区,硬盘厂商设计的是1GB=1000Mb,而操作系统却认为1Gb=1024Mb,

而这个整数分区的公式既不是按照硬盘厂商的设计也不是操作系统的设计,而是另有误差。

原因就是硬盘在分区和格式化之后还会在硬盘上占用一定的空间用来存储磁盘结构和数据

位置等信息。

1、对于FAT32格式:

应分配MB数=(分区GB数-1)×4+1024×分区GB数

也就是说,如果你要在FAT32格式的硬盘上分出一个10 GB的硬盘,那么:

你应该分配的MB数=(10-1)×4+1024×10=10276 MB

这样你就可以得到整数的10 GB分区了。

2、对于NTFS格式:

硬盘一般有255磁头,63扇区,故每柱面大小为:

512byte x 255 x 63=8225280bytes =7.84423828125 MB

如果要分10 GB,那么要10x1024 MB=10240 MB

需要柱面数为10240÷7.84423828125=1305.4652

取整数既为1306个柱面

应分MB数为1306x7.84423828125=10244.5751953125 MB

不管小数点后面几位都进1,也就是10245 MB,系统也就认为是10.00 GB了。

而经测试,其实用第二种方法。即:

硬盘一般有255磁头,63扇区,故每柱面大小为:

512byte x 255 x 63=8225280bytes =7.84423828125 MB

如果要分40GB,那么要40x1024MB=40960MB

需要柱面数为40960÷7.84423828125=5221.66

取整数既为5222个柱面

应分M数为5222x7.84423828125=40962.6123046875MB

不管小数点后面几位都进1,也就是40963MB,windows就认为是40GB了。

这种方法对NTFS和FAT32格式分区都是通用。

下面附10GB到200GB整10GB递增的精确计算结果:

10GB = 10245MB

20GB = 20482MB

30GB = 30726MB

40GB = 40963MB

50GB = 51208MB

60GB = 61444MB

70GB = 71681MB

80GB = 81926MB

90GB = 92162MB

100GB = 102407MB

110GB = 112644MB

120GB = 122888MB

130GB = 133125MB

140GB = 143362MB

150GB = 153606MB

160GB = 163843MB

170GB = 174088MB

180GB

190GB

184324MB

194561MB