如何保留低内存(操作系统前)?
时间:2020-03-06 14:39:24 来源:igfitidea点击:
背景:在操作系统启动之前,我需要保留低于0xA0000的内存量。为此,我更改了0040:0013(或者0x413)字,它是KiB中可用的低内存量。
但是,Windows和其他操作系统使用E820h / INT15h来查询内存布局,并且某些BIOS:es不能反映E820h / INT15h BIOS功能的0x413更改。因此,如果需要,我还必须挂钩E820h功能。
问题:在操作系统之前,还有另一种(更可靠的)方法来保留低内存吗?还是通过其他方式更改E820h / INT15h的结果,而不是钩上INT15h(也许是通过戳EBDA来实现)
解决方案
我不这么认为,但是如果我们不执行引导加载程序,则可以对操作系统进行半虚拟化。我们可以为此查看Xen虚拟机管理程序。