如何在 Linux UEFI 中使用 memmap 内核选项启动?

How to boot with memmap kernel option in Linux UEFI?

使用支持 UEFI 的各种 Linux 发行版 none 似乎可以使用 memmap 内核参数(在 MacBook Air A1370 上尝试)。我正在使用以下参数:

memmap=1 亿美元 2 亿美元

相同的安装介质和参数在非 UEFI 笔记本电脑上运行良好(测试 Lenovo Thinkpad X220 完美运行顶部报告内存大小减少)。

UEFI 引导的系统使用UEFI 提供的内存映射,而不是E820 内存映射,可以通过memmap 内核参数更改。

如果启用了兼容性支持模块(即旧版 BIOS 兼容层),也会提供旧版 E820 内存映射,但由于 OS 是在 UEFI 模式下启动的,所以它不会'不要使用那个遗留的内存映射,这就是为什么你看不到你的更改。

为了实现这个目标,您需要开发一个代理驱动程序,它将在 linux 内核之前加载,并将按照您希望的方式更改 UEFI 内存映射。此类代理的一个具体示例是 OsxAptioFix2Drv from Clover Project.