【发布时间】:2010-09-12 16:55:22
【问题描述】:
背景:在我的操作系统启动之前,我需要保留低于 0xA0000 的内存量。为此,我更改了 0040:0013(或 0x413)字,这是 KiB 中可用的低内存量。
但是,Windows 和其他操作系统使用E820h/INT15h 来查询内存布局,并且某些 BIOS:es 不会反映 E820h/INT15h BIOS 功能的 0x413 更改。因此,如果需要,我还必须挂钩 E820h 功能。
问题:还有其他(更可靠的)方法可以在操作系统之前保留低内存吗?或者除挂钩 INT15h 之外的任何其他更改 E820h/INT15h 结果的方法(也许通过戳 EBDA?)
【问题讨论】: