如何获取 VBR 中 BIOS 参数块的值?

如何获取 VBR 中 BIOS 参数块的值?

我正在创建一个 VBR,它位于卷的第一个扇区上。如果要实现 FAT 文件系统,VBR 必须具有 BIOS 参数块。当我处理磁盘时(比如说),我可以设法找到 VBR 中条目的值(比如说bpbSectorsPerTrack)。但如果让同一个 VBR 在不同卷的不同系统上运行会怎样?值不同 ri8?我应该如何获取这些值。

简而言之,我的问题如下:

1) VBR 值是否必须准确? 2) 如果必须准确,我可以从哪里获取这些值?

谢谢

要求:如果可能的话,请回答我另一天在“stackoverflow”上提出的另一个问题 https://stackoverflow.com/questions/41226127/how-to-access-the-chs-information-from-the-partition-table-of-mbr?noredirect=1#comment69651023_41226127

我非常需要答案。

答案1

苯并噻嗪用于存储有关以下内容的元数据:

  1. 该设备的几何形状。
  2. FS 结构的位置。

第一个仅适用于软盘。HDD
具有固定的几何形状,您可以从磁盘 BPB 中获取这些值,或者简单地格式化 USB 笔式驱动器。
这些值对于每个设备都是相同的。

注意,4KiB 扇区驱动器开始出现在市场上。
因此现在 HDD也有可变的几何形状.
查找设备是否支持 4KiB 扇区超出了本答案的范围(请查看ATA/ATAPI8 规范)。

第二个实际上仅针对 NTFS 和 FAT 文件系统定义。
这里没有什么特别的,在创建 FS 期间,您知道相关结构在磁盘上的写入位置,并据此创建 BPB。维基
百科已经很好地解释了字段的值以及哪些字段可以在不相关的上下文中设置为零。


BPB 主要用于 Microsoft 技术,例如 Unix 使用不同的方案

相关内容