大多数硬盘驱动器和分区检查工具似乎都使用扇区、磁头等列出项目。从另一个问题我被告知这些是虚拟的,因为它们必须从 lba 转换,这会导致转换错误。是否有任何 UNIX 工具可以按逻辑块列出硬盘驱动器?
答案1
CHS过去为此使用了(柱面/磁头/扇区)。 CHS 地址(最初)确实映射到磁盘盘片上的实际物理位置。
然而,随着驱动器的现代化,这种 C/H/S 划分不再有意义。每个柱面的固定扇区数根本不切实际(靠近磁盘外边缘的柱面比靠近内边缘的柱面可以存储更多数据),因此需要不同的系统。
LBA(逻辑块寻址)是(可能所有)现代驱动器上使用的。驱动器在逻辑上分为块(主要是 512 字节或 4k 字节扇区),第一个块是块 0,下一个块是 1,等等。
实际的物理驱动器如何将这些逻辑扇区映射到其盘片的物理区域取决于驱动器。所以从这个意义上来说,它是一个“虚拟”地址。但它也是完全准确的。
- 如果您的驱动器确实使用 CHS(不太可能),则必须将 LBA 地址转换为 CHS,并且如果某个地方的驱动器几何信息错误,您将得到不准确的结果。
- 如果您拥有现代驱动器,尝试使用 CHS 也会导致问题,因为需要进行转换,而 CHS 与现代驱动器不能很好地映射。
默认列出的fdisk
是“LBA”,使用 512 字节扇区(可能是具有该扇区的驱动器上的 4k 扇区 - 我没有要检查的扇区)。它确实列出了磁头/扇区/磁道/柱面作为信息,但是那是当今的“虚拟”措施。
cfdisk
如果您确实想要的话,可以打印带有 C/H/S 开始/结束值的分区表(使用 thenPrint
然后Table
输入两次)。