关于硬盘大小不得不知道的几个知识及硬盘分区大小计算方法

关于硬盘大小不得不知道的几个知识及硬盘分区大小计算方法

  必知一:在工业意义上 1G=1000M 1M=1000K 1K=1000
操作系统中认为 1G=1024M 1M=1024K 1K=1024
所以100M的硬盘格式化出来的实际容量是
100/1.024/1.024/1.024
93.13G

    厂商生产硬盘的时候,是按1000M为一个G,而等到我们把硬盘安装到电脑上时,电脑是按1024M为一个G,无形中我们每G少了24M,硬盘容量越大,就少的越多。

    必知二:分区最小单位是蔟,目前格盘方式有FAT12FAT16FAT32NTFSHPFSLinux等几种。例如采用FAT16方式,则簇就是32KB,如采用FAT32方式,则簇就是4KB。而一个簇只能分配给一个文件使用(即使该簇的文件有32KB,而某个文件仅仅使用其中的一个字节也不例外),这就不可避免的导致磁盘空间的浪费(该簇中没有被使用的容量被浪费)。而从理论上讲,平均每个文件所浪费的磁盘空间为簇容量的一半,即一个簇的容量若为4KB,那么每个文件所浪费的就2KB,若一个簇的容量为32KB,那么每个文件所浪费的容量就是16KB,例如一个2G的硬盘采用FAT16方式格式化,那么它的簇就是32KB,每个文件就要浪费16KB,若该磁盘分区上有20480个文件,则浪费的空间就是20480×16/1024=320MB。如同样是上述采用FAT32方式格式化后,其簇就是4KB,这样,每个文件平均所浪费的就是2KB,设该硬盘上还是有20480个文件,则浪费的空间就是20480×2/1024=40M。一个要浪费320MB,一个要浪费40MB,现在大家知道该用哪种方式格盘所浪费的空间少了吧。如果硬盘容量再大点,那么有多少空间即将被浪费,相信大家都知道了吧,这就是硬盘有些空间无故消失的原因。同时由于生产技术的原因,有些硬盘出厂就不是满空间。同样在磁盘分区时,大家也该知道怎么样才能分出完整的10G空间了吧(例如要分个10G的盘符)。分区越多,则损失的空间就越大。

    硬盘分区大小计算方法

    分区的时侯都会输入数字,比如你想得到一个2G的分区你也许会输入2000M或者2048M其实你输入的这些数字所分出来的区在Windows下面都不会被认成整数的2G,而是1.9?G,想要得到Windows下的整数G分区,你必须知道以下这两条

一、FAT32格式的通过这个公式算出的值就是被Windows认成整数G的值。 
整数G计算公式:(X1)*4+1024*X=Y
(说明:以上“ * ” 表示 “ × ” ,下同)
  其中X就是你想要得到的整数分区的数值,单位是GY是你分区时应该输入的数字,单位是M,例如我想得到Windows下的3G整数空间,那么我分区时就应该输入(31)*41024*33080,那么我们应该在分区时输入3080作为分区的大小,同理欲分出10G的空间则应该是(101)*41024*1010276,输入10276将会得到10G的整数空间,其他大小大家可以自行计算!
例: 
(10
1)*4+1024*10=10276 10G 
(5
1)*4+1024*5=5136 5G 
(15
1)*4+1024*15=15416 15G 
(20
1)*4+1024*20=20556 20G

(二)NTFS格式的分区

精确的算法如下:
硬盘一般有255磁头,63扇区,故每柱面大小为:
512byte x 255 x 63
8225280bytes 7.84423828125 M
如果要分4G,那么要4x1024M=4096M
需要柱面数为4096÷7.84423828125=522.166
取整数既为523个柱面
应分M数为523x7.84423828125=4102.53662109375M
不管小数点后面几位都进1,也就是4103Mwindows就认为是4.00G了。

如果你想得到一个具体的数字的分区,而又苦于计算的繁琐,网上有不少在线计算器及计算工具下载。现在提供一个:http://disk.wen.la/

 

你可能感兴趣的:(windows,linux,算法)