关于BIOS引导校验和算法指定位置及El Torito规范细节的官方资料问询
El Torito规范未明确细节的官方补充说明
核心参考资料
- UEFI Specification(最新版2.10):其中的Platform Initialization (PI) Specification章节,详细定义了BIOS对El Torito引导结构的处理逻辑,包括校验和验证、指针解析规则。
- Intel BIOS Writer's Guide:针对传统BIOS环境,提供El Torito引导记录字段的底层实现细节。
1. 校验和的定义与BIOS验证逻辑
校验和字。此记录中所有字的总和应为0。
- 这里的"字"指16位(2字节)单元,计算时需将引导记录内所有16位字段按**小端序(LE)**解析为数值。
- 累加所有16位字段的数值,丢弃累加过程中产生的高位进位,最终结果的低16位必须为0。
- BIOS验证流程:加载引导记录后,遍历所有16位字段执行求和操作,若结果非0则判定引导记录无效,终止引导流程。
2. 引导目录绝对指针的格式
引导记录包含指向引导目录的绝对指针。
- 该指针为**4字节小端序(LE)**的LBA(逻辑块地址)值,直接指向引导目录所在的磁盘逻辑块,而非相对偏移。
- 对应El Torito引导记录中偏移0x42开始的"System Use"区域,BIOS读取该LBA对应的扇区即可获取引导目录内容。
内容的提问来源于stack exchange,提问作者Adi Mehmedičević
相关产品推荐
相关产品推荐

