使用柱面-磁头-扇区模型计算磁盘容量

使用柱面-磁头-扇区模型计算磁盘容量

让我们看看 fdisk -l /dev/sdc输出。

# fdisk -l /dev/sdc
Disk /dev/sdc: 786 MB, 786432000 bytes
255 heads, 63 sectors/track, 95 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

我计算了这个虚拟磁盘的容量。在图片上查看。我得到的是 781401600 字节,而不是上面列表中的 786432000 字节。我不知道为什么会这样。如何得到 786432000 字节(我丢失了 5030400 字节)?

在此处输入图片描述

答案1

请参阅这个答案,其中有权威的解释:

简而言之,CHS 数字现在没有太大价值,实际上是从实际容量(以字节为单位)反向计算的。也就是说,您的磁盘容量实际上是 786432000 字节。让我们计算一下您的情况的柱面数:

bytes       b/S   H     S    C
786432000 / 512 / 255 / 63 = 95.61157796451914

现在你必须以某种方式消除.6圆柱体的缺陷,因此你得到:

C / H / S = 95 / 255 / 63

显然,舍入误差会导致字节数错误。您的丢失字节之谜

C                  S    H     b/S
0.61157796451914 * 63 * 255 * 512 = 5030399.999999992 ~ 5030400

简而言之 - 忘掉 CHS。如果你有 SSD,那就更别提了。除非你有一个hydra 固态硬盘,无论如何你都很难数出它有多少个头……

相关内容