user962725 Asked: 2019-06-14 20:31:31 +0800 CST2019-06-14 20:31:31 +0800 CST 2019-06-14 20:31:31 +0800 CST 将 MBR 引导程序代码编写为 UEFI 引导加载程序 772 我对逆向计算非常感兴趣,当我在寻找所谓的 AT&T UNIX v7 的“纯”版本时,我遇到了 x86 架构的这个端口,称为 v7/x86。看起来很有趣,所以我尝试下载它。 但是,我遇到了一个问题。我的机器是基于 UEFI 的,除了我的硬盘驱动器和 v7/x86 CD 之外,我没有任何其他存储设备。由于此操作系统使用 MBR 引导程序,是否可以反编译为汇编并使用 EDK II 为其编写 UEFI 引导加载程序? unix uefi 1 个回答 Voted Best Answer user1686 2019-06-14T21:55:24+08:002019-06-14T21:55:24+08:00 暂定答案,因为我自己没有编写任何低级代码: 如果您机器的固件有“CSM”或“Legacy boot”选项,请使用它。它提供完整的 BIOS 仿真,从 MBR 引导程序到运行时服务,并且应该能够按原样启动 v7/x86。 如果您的机器根本没有这样的选项(这种情况很少见),那么自定义的基于 UEFI 的引导加载程序可能是可行的,但只有在操作系统本身不依赖于BIOS 中断将提供的任何功能时才有效,因为没有BIOS。(例如,据我所知,纯 80x25 文本模式在 UEFI 世界中不存在,“磁盘访问”int 13h功能肯定不存在。)
暂定答案,因为我自己没有编写任何低级代码:
如果您机器的固件有“CSM”或“Legacy boot”选项,请使用它。它提供完整的 BIOS 仿真,从 MBR 引导程序到运行时服务,并且应该能够按原样启动 v7/x86。
如果您的机器根本没有这样的选项(这种情况很少见),那么自定义的基于 UEFI 的引导加载程序可能是可行的,但只有在操作系统本身不依赖于BIOS 中断将提供的任何功能时才有效,因为没有BIOS。(例如,据我所知,纯 80x25 文本模式在 UEFI 世界中不存在,“磁盘访问”
int 13h
功能肯定不存在。)