使用 qemu 运行 ntoskrnl.exe

逆向工程 视窗 奇木 核心
2021-06-18 13:54:24

我们可以使用qemu -kernel参数运行 linux 和类似的 unix 内核有没有办法对NT内核做同样的事情?我什至找不到用 qemu 测试 reactos 内核的方法。

还可以.efi运行文件吗?这样我就可以尝试bootmgr.efi加载ntoskrnl.exe.

1个回答

Linux 内核可以通过探测硬件和使用链接的驱动程序自行启动。NT 内核需要诸如 UEFI 或传统 BIOS 之类的环境,并依赖它来加载其他驱动程序。它还期望由预加载器 (winload.efi) 以某种方式加载,而 Linux 的要求不那么严格。

这就是 QEMU 可以为引导 Linux 提供内置支持的原因——它的实现要简单得多。对于 Windows,您需要准备一个带有文件系统和 UEFI 环境(例如 OVMF)的磁盘映像。Windows 内核使用注册表(BCD - 引导配置数据)进行配置而不是命令行参数,因此实现起来比较棘手。