背景:在操作系统启动之前,我需要保留0xA0000以下的内存。为此,我更改了0040:0013(或0x413)字,这是KiB中可用的低内存量。
但是,Windows和其他操作系统使用E820h/INT15h以查询内存布局和一些BIOS:es不会反映E820h/INT15h BIOS函数的0x413更改。因此,如果需要,我还必须挂接E820h函数。
问题:在操作系统之前,是否有其他(更可靠的)方法来保留低内存?或者改变E820h/INT15h结果的任何其他方式,而不是钩住INT15h(也许是通过戳EBDA?)