Jor*_*vis 5 bios boot storage bootloader bootsector
我知道 BIOS 在 ROM 中,制造商“通常”将其设计为指向“活动”存储设备的第一个扇区的第一个扇区或 CHS (0,0,1)*physical 和 CHS (0,0, 0)*logical 根据您对分区的偏好,可以是 MBR 或 VBR。
引导扇区中存在用于 x86-CPU 的 IBM PC 兼容引导加载程序按照惯例由引导扇区末尾的两字节十六进制序列 0x55 0xAA(称为引导扇区签名)表示(偏移量 0x1FE 和 0x1FF) . 该签名表明至少存在一个可以安全执行的虚拟引导加载程序,即使它可能无法实际加载操作系统。
该引导签名标识的引导加载程序使用两个字节十六进制序列,所以我猜签名必须是在同一扇区偏移?因此,假设引导加载程序必须在同一个扇区中?
当 BIOS 试图找到要引导的东西时发生的基本操作顺序是:
您可能会发现引导序列上的OSDev wiki 页面很有用。在MBR页面也有一个有用的表解释说,第一个扇区的布局。我在这里重新创建了一些简化:
Offset | Size (bytes) | Description
0 | 436 | MBR Bootstrap (flat binary executable code)
0x1b4 | 10 | Optional "unique" disk ID
0x1be | 64 | MBR Partition Table, with 4 entries
0x1fe | 2 | (0x55, 0xAA) "Valid bootsector" signature bytes
Run Code Online (Sandbox Code Playgroud)
请注意,BIOS 不一定要注意甚至知道磁盘 ID 或分区表。
归档时间: |
|
查看次数: |
5781 次 |
最近记录: |