硬盘分区整数计算器

0
339

在实际操作中,不知大家是否遇到过这样一个问题,在对硬盘重新或者全新进行分区时,总得不到一个整数的硬盘容量。然而实际上我们在使用FDISK分区时的初衷并不是这样的,我们希望分区大小是一个整数,例如10GB、20GB等。问题是,在操作过程中我们明明是按照1GB=1024MB的公式计算的,例如想分2GB就输入2048MB。硬盘分区的计算公式存在着一个误差。其实所得出的整数G并不是从标准的1024及工业上的1000计算出来的,而是从以下这条公式:

Y=(A-1)×4+1024×A(FAT32)
Y=A×1024+1(NTFS)

A为你想要得到的整数G(单位为:GB)Y为你分区时应该输入的数字(单位为MB)如:

下面是分区格式为NTFS的计算结果:

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=184324MB
190GB=194561MB

关于这个问题,硬盘厂商设计的是1GB=1000Mb,而操作系统却认为1Gb=1024Mb,而这个整数分区的公式既不是按照硬盘厂商的设计也不是操作系统的设计,而是另有误差。原因就是硬盘在分区和格式化之后还会在硬盘上占用一定的空间用来存储磁盘结构和数据位置等信息。

对于FAT32格式,应分配 MB数=(分区GB数-1)×4+1024×分区GB ,如果要分出一个10GB的分区,则需要 MB数=(10-1)×4+1024×10=10276MB 的空间,这样你就可以得到整数的10GB分区了。

对于NTFS格式,硬盘一般有255磁头,63扇区,每柱面大小为:512byte x 255 x 63 = 8225280bytes=7.84423828125MB,如果要分10GB,那么要 10x1024MB=10240MB,需要柱面数为10240÷7.84423828125=1305.416744475568004979769685652,取整既为1306个柱面应分MB数为 1306×7.84423828125=10244.5751953125MB,不管小数点后面几位都进1,也就是10245MB,系统也就认为是10.00GB了。

下一篇解决verifying DMI pool data

留言

留言不能为空
怎么称呼您?

验证码 *