3
回答
求解答硬盘扇区数问题

各位OSC大神,小弟最近在看硬盘容量计算的相关知识,有些疑惑,求解答,
主要是这样的,硬盘容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数
我用DiskGenius看了一下我的硬盘,希捷500G是这样的

然后我用上面的公式算了一下,发现 60801 * 255 * 63 = 976768065 个扇区
跟总扇区数 976773168 相比 少了 5103 个扇区,这应该是那个附加扇区数吧,

那么问题来了,这个附加扇区数是什么鬼,有用的吗,
我们算硬盘容量大小的时候需要加上这个附加扇区吗,要不根据公式算出就只有
60801 * 255 * 63 * 512 = 500105249280 个字节,跟总字节数还是相差蛮大的
求路过的大神解答

举报
Dragonite
发帖于4年前 3回/489阅
共有3个答案 最后回答: 4年前

c*h*s 的寻址方式, 早就已经不适合现代大容量硬盘了,现在全是用LBA方式表示扇区,所有扇区都是线性的,从0-976773167

所以现代的MBR分区表其实是定义每个分区的起始扇区编号,所以MBR最大只能表示2T的空间。

然后磁盘报告自己的CHS三个参数,只是遗留的参数项,根据旧MBR的位数使用方式,所有S都是63,所有H都是255, 能变化的只有C了。

60801 * 255 * 63 < 976773168 < 60802 * 255 * 63

真实容量就是中间那个数, 按最接近的方式,就是C=60801了。

对于使用者来说,只需要考虑976773168这个数字和4K对齐,其它统统不用管。

--- 共有 5 条评论 ---
Dragonite回复 @szf : 好的,我现在明白了,谢谢哈 4年前 回复
szf回复 @kchr : 没错,如果按CHS来填充分区表,C最多只有1024, H最多是255,S最多是63, 约为8.4G容量,跨越这个容量当年是个难关,比如ST就出了个什么DM,然后又是DM万用版之类的东东。 现在这些东西都过气了~ 4年前 回复
szf回复 @Dragonite : 会使用的,因为现在的硬盘全部都是LBA寻址了,那个附加空间的意思只是总扇区数-(C*H*S)后的剩余而已。 对于存储(分区,PV)来说,只需要关心总扇区数。 4年前 回复
kchr回复 @Dragonite : 不是说了,c 参数没用,不用理它。 DOS 时代的软件可能会用 c h s 参数,但不会访问到这么高的位置来。 4年前 回复
Dragonite哦,那我现在知道C是怎样算来的,那还有问题,就是剩余的空间,就是那些附加扇区数,系统会不会使用的,如果不使用,那么不是浪费了吗 4年前 回复

附加扇区没听说过。不过总字节数的差异,因为计算使用不同的次方单位导致的。

二进制次方单位

----------字节的次方单位----------
十进制前缀(SI)标准:
名字  缩写 次方
kilobyte  KB  10的3次方
megabyte  MB  10的6次方
gigabyte  GB  10的9次方
terabyte  TB  10的12次方
petabyte  PB  10的15次方
exabyte   EB  10的18次方
zettabyte   ZB  10的21次方
yottabyte   YB  10的24次方
------------------------------
二进制前缀(IEC 60027-2)标准:
名字      缩写  次方
kibibyte  KiB   2的10次方
mebibyte  MiB   2的20次方
gibibyte  GiB   2的30次方
tebibyte  TiB   2的40次方
pebibyte  PiB   2的50次方
exbibyte  EiB   2的60次方
zebibyte  ZiB   2的70次方
yobibyte  YiB   2的80次方


顶部