什么定义了引导扇区的签名?

什么定义了引导扇区的签名?

我试图通过了解问题的要点来简化问题:

是什么使得设备的“第一个扇区”成为“引导扇区”?

  • 引导扇区是逻辑扇区、物理扇区,还是两者兼而有之?
  • 如果设备之间的逻辑扇区和物理扇区大小不同,这会影响引导扇区的大小吗?

以下是旧问题的部分内容: 第一部分:从 512 字节和非 512 字节扇区设备的引导扇区读取有什么区别?

对于以下设备,哪个扇区被视为“第一个扇区”或“引导扇区”?如何在 512 字节扇区设备和非 512 字节扇区设备中识别引导扇区?它们的签名是什么?

  • 软盘(512 字节扇区)
  • 传统 HDD(512 字节扇区)
  • CD-ROM(2048 字节扇区)
  • DVD-ROM(?字节扇区)
  • BD-ROM(?字节扇区)
  • 闪存设备(“扇区”在这里适用吗?)
  • SSD(“扇区”在这里适用吗?)
  • 具有 512 字节模拟(4096 字节扇区)的高级格式 HDD
  • 无模拟的高级格式硬盘(4096 字节扇区)

对于 CD、DVD 和 BD,物理和逻辑扇区大小是多少?CD 的扇区大小为 2048 字节;DVD 和 BD 则不然。对于 CD,您需要遵循 El-Torito 标准来读取和写入引导扇区。对于 DVD 和 BD,我不知道要遵循什么标准。El-Torito 标准允许您模拟 512 字节扇区(如软盘或 HDD),或者您可以以原始大小进行引导。

第二部分:写入 512 字节和非 512 字节扇区设备的引导扇区有什么区别?

  • 具体来说,如何写入上述设备的引导扇区,以便能够在第一部分中读取它们?
  • 我看到dd可以使用,但我还看到可以简单地将一个简单的 C 程序写入open()设备、lseek()指定的字节偏移量,然后write()直接写入设备的前 512 个字节。(即从索引开始写入0
  • 对于非 512 字节大小的设备,以及无法识别非 512 字节大小扇区设备的操作系统,这是否可能?还是这完全无关紧要?
  • 对于支持以下设备:(1)512 字节模拟和(2)无模拟,应该写入物理扇区的哪些部分?

答案1

这个问题有点太多了。这取决于计算机可以从哪种介质启动,以及它支持哪种介质的物理布局/接口/寻址。

通常,旧接口和寻址模式会被模拟/转换以支持新设备,从而保持较大的兼容性窗口(新驱动器可在旧计算机上工作,新设备类型可在现有接口上工作)。实际物理扇区大小实际上只对性能有影响 - 将数据和结构大小调整到此类边界比不这样做要快。

例如,一个 CDROM 标准 El Tortio 支持将软盘映像放在 CD 上,然后由计算机的 BIOS 读取并模拟为软盘。这意味着可启动软盘可用于引导可启动 CDROM。

相关内容