我是 Linux 新手。我已在外部硬盘上的一个分区上安装了 Linux。该分区位于编号 2,格式为 ext4。我在同一硬盘上的编号 5 处还有一个 linux-swap 分区。Ubuntu 出现在我用来在硬盘上安装 Ubuntu 的 PC 的 UEFI 启动菜单中,但是当我尝试使用该硬盘启动其他 PC 时,Ubuntu 分区未显示在 UEFI 启动菜单中。它也没有显示在 BIOS 设置中的传统设置中。CLIsudo efibootmgr
中的命令列出了启动首选项,包括硬盘的名称
请帮忙
答案1
UEFI 仅从该驱动器上的 ESP - efi 系统分区启动外部驱动器并使用 /EFI/Boot/bootx64.efi。
您必须在外部驱动器上安装 ESP。Ubiquity 安装程序在自动安装时不提供该选项,并且不会在外部驱动器上使用 ESP。Ubiquity 仅将 grub 安装到第一个 ESP,通常是具有 Windows ESP 的 sda 或 NVMe 驱动器。这些说明仍然适用,但现在您不需要交换分区。Ubuntu 会创建一个交换文件。
http://askubuntu.com/questions/743095/how-to-prepare-a-disk-on-an-efi-based-pc-for-ubuntu
然后,您可以重新安装 grub 并指定外部驱动器的 ESP。使用 Boot-Repair 通常更容易,但是如果您启动到安装中,则可以完全重新安装。或者您可以将所有文件从内部驱动器的 ESP 复制到外部驱动器的 ESP。您需要 /EFI/Boot 和 /EFI/ubuntu,因为完整安装的 Ubuntu grub 需要 /EFI/ubuntu 文件夹中有更多启动文件。或者您可以在安装时采取变通措施以卸载内部 ESP 并安装外部 ESP。
https://help.ubuntu.com/community/Boot-Info
sudo dpkg-reconfigure grub-efi-amd64
sudo grub-install --efi-directory=/boot/efi
解决此错误报告中的问题,请参阅帖子 #23 及后续内容(我刚刚使用此过程将 20.04 安装到 sdb),我在终端中仔细检查了挂载,ESP 挂载直到您添加用户名和密码时才显示。我的 ESP 在 sdb1 上:
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1396379
mount
sudo umount /target/boot/efi
sudo mount /dev/sdb1 /target/boot/efi