后台:我需要在操作系统启动之前保留低于0xA0000的内存量。为此,我更改了0040:0013(或0x413)字,这是KiB中可用的低内存量。
但是,Windows和其他操作系统使用E820h/INT15h查询内存布局和某些BIOS:es不反映对E820h / INT15h BIOS功能的0x413更改。因此,如果需要,我还必须挂钩E820h功能。
问题:在操作系统之前是否有其他(更可靠)的方法来保留低内存?或者任何其他改变E820h / INT15h结果的方法,而不是挂钩INT15h(或者通过戳EBDA?)
答案 0 :(得分:1)
我不这么认为,但如果你没有做引导加载程序,你可以对os进行半虚拟化。您可以查看Xen hypervisor。