是否可以使用 32 位 Grub2 启动 64 位 ISO 映像?

是否可以使用 32 位 Grub2 启动 64 位 ISO 映像?

我正在尝试制作一个安装了多个操作系统的 USB 棒,但希望它能在大多数计算机上运行,​​所以我确保安装了 32 位 Ubuntu 版本。我还想在末尾放一个特定的 ISO 并将其添加为启动选项,但发行版只有 64 位。我尝试在 64 位计算机上启动 USB(但 Ubuntu 安装中有 32 位 Grub2),并尝试启动 ISO(在弄乱 grub 配置后),结果我立即得到了一个内核异常。我想知道这是否可能是因为 32 位引导加载程序试图启动 64 位操作系统,或者这是否可能。

答案1

是的,这是可能的。我已经做过很多次了。

如果您在 32 位版本之后安装 64 位版本,并且想要确保使用原始 grub(与 32 位版本一起安装)进行启动(在 BIOS 模式下),则应在安装程序的分区窗口中选择“其他”,并在窗口底部将引导加载程序安装到分区“PBR”(例如,安装到将要成为根分区的分区,可能是/dev/sda3/dev/sda6),而不是驱动器的头部“MBR”。

完成此过程后重新启动时,您将只会找到 32 位操作系统。运行以下命令:

sudo update-grub

让它搜索并找到新的 64 位版本并为 grub 菜单创建菜单项,以便您可以选择 32 位或 64 位版本。

用新内核更新和分布式升级 64 位系统后,您必须sudo update-grub在 32 位系统中重复该命令以获取新内核版本的菜单项。


我检查了 64 位 Ubuntu 的 grub 引导程序,它不是 64 位的,即使没有这个预防措施,它也可以在 32 位计算机(我的旧 Dell Dimension 4600,带有 Pentium 4)上运行。(一般建议将引导程序安装到驱动器的头部,,/dev/sda... /dev/sdb,应该没有分区号。)

如果您这样做,在使用新内核更新和分布式升级 32 位系统后,您必须sudo update-grub在 64 位系统中运行命令来获取新内核版本的菜单项。


如果你想通过 grub 从 iso 文件启动,你可以通过添加菜单项,/etc/grub.d/40_custom然后sudo update-grub根据以下链接及其中的链接运行,

安装/FromUSBStick - 使用 grub2 和 iso 文件“grub-n-iso”启动 USB 驱动器

相关内容