我对 Linux 完全陌生。我不想安装到我的内置硬盘上。所以我一直在尝试在 USB 上独立安装它,这样我就可以在任何 PC(UEFI 或 BIOS)上启动它。
所以我创建了一个实时 USB,并格式化了另一个 USB,我想在上面安装 Linux。我进入实时 Linux,将 Linux 安装到空的 USB,并选择引导加载程序以安装在我的 USB 上。但是当安装完成后,我通过 efi 分区和其他东西在我的内部硬盘上看到了 grub 痕迹。
我无法启动我的 USB 来在另一台电脑上启动 Linux。
我已经在谷歌上搜索了两天了!!我看到很多人问这个问题,但我不明白答案,因为我是初学者。我根本不太了解 Linux,所以请详细回答。
答案1
Ubuntu 安装过程(不是 grub-installer 本身,它会写入目标)会写入 sda 的 EFI 分区,无论您告诉它什么。已经有几个关于此的错误,还有其他可能更严重的问题,例如更改了机器的本机启动项。如果您搜索,请参阅错误 1173457、1229488 等。如果您觉得对您有影响,请将自己添加到任何错误中。
解决方案很简单,只需安装 USB 的 EFI 分区并从硬盘的 EFI 分区复制所有内容。然后,将 Ubuntu 引导加载程序 shimx64.efi 和 grubx64.efi 从 .../EFI/ubuntu 复制到 .../EFI/Boot/,并将 .../EFI/.Boot/ shimx64.efi 重命名为 bootx64.efi。这是用于可移动媒体的引导加载程序。它仍然需要 grub.cfg 文件位于 EFI/ubuntu 中,因此请将其保留在那里。请记住,这些都只是 FAT 文件系统上的文件。您可以从 Windows 文件管理器复制和重命名它们,就像从 Linux 系统一样容易。
请备份硬盘的 EFI 分区,使用 USB 安装可能会改变一些内容。了解启动顺序,因为即使是启动顺序也可能会在 USB 安装后发生变化。