我有一个可启动的 USB 闪存驱动器,其中有 grub2 处理 ISO 的启动(主要是 Ubuntu 的不同版本)。我正在自己编辑 menu.cfg 并使用自己的脚本来更新 grub,因为我不想浪费时间使用外部工具。
我想在 32 位系统上隐藏 64 位 ISO,这样我就不会错误地尝试启动不兼容的 ISO。
grub2 是否可以检测处理器是 x64 还是 i386 并相应地显示不同的菜单(或者最好启用/禁用某些菜单选项)?
编辑:我知道 grub2 CLI 命令cpuid -l
,用于检查长模式,但我不确定是否或如何在 menu.cfg 中使用它。
答案1
仅删除菜单项(将所有配置内容保留在顶部)并将它们放入两个不同的文件中,一个用于 64 位,一个用于 32 位。然后,将如下代码添加到 main 中menu.cfg
以加载适合系统的菜单文件。
如果 cpuid -l;然后 配置文件 /boot/grub/grub-amd64.cfg 别的 配置文件 /boot/grub/grub-i386.cfg 菲