【发布时间】:2022-01-24 08:27:36
【问题描述】:
我知道 BIOS 按照其配置顺序(可以在 BIOS 设置中更改)通过连接的存储设备(软盘、CD、硬盘驱动器...等),寻找神奇的 16-位值 (0xAA55) 在每个扇区的第一个扇区的末尾,找到一个后,它会加载(刚刚变成的)引导扇区并调用它。
让我们命名包含已加载引导扇区 X 的设备。我的问题是:您能否识别 X 并使用 BIOS 的磁盘中断功能从它读取,而不需要测试每个连接的设备,而不是循环遍历所有设备?例如,BIOS 是否将 X 的 ID 存储在某处?
谢谢。
附:我正在使用 BOCHS 模拟 IA-32 机器,我总是从软盘 #1 加载,所以我可以硬编码从中读取,但为了编写干净的代码和学习我问。我承认测试所有设备绝对是实用的。
【问题讨论】: