无法从外部 SSD 正确启动 Linux

无法从外部 SSD 正确启动 Linux

免责声明:我已阅读了 80% 的在线指南,以了解所有可能的解决方法,但到目前为止,没有一个能解决我的问题。话虽如此,不要只是将其标记为重复然后走开。

我想在外部 SSD 上安装 Linux 18.04,并希望不时将其连接到两台 PC,一台是笔记本电脑,另一台是台式机,两台 PC 都以 Windows 为主要操作系统。我将它们用于不同的环境和不同的目的。因此,我希望能够在我的两台计算机上启动 Linux。

我对这两件事所做的是

  • 禁用“安全启动”
  • 将启动顺序改为主要从 SSD 启动
  • 禁用 Windows“快速启动”
  • 使用 Rufus 创建了一个可启动的 USB,其中安装了 18.04 发行版

在我的两台电脑上,启动 USB 并进入这个菜单,选择任何选项后,我短暂地收到此错误:

[5.735209] Couldn't get size: 0x80000000000000e

此后,我的桌面就一直处于黑屏状态,但我的笔记本电脑可以进入 Linux 的常规安装菜单(仅有的如果我选择“尝试 ubuntu 而不安装”)。进入“安装类型”菜单后,我创建了三个分区:

  • 500mb“fat32 esp启动”
  • 8ram_gb“linux交换区域”
  • remaining_gb“ext4”根

安装完成后,系统要求我重新启动,但它让我返回到这个菜单,没有其他可用选项。磁盘本身不可启动,尝试启动会失败,导致 Windows 启动,在 BIOS 启动顺序中排在最后。我也尝试过移除 live-USB 棒,但这没有任何意义,因为它直接启动到 Windows。

然而,在我无数次重新安装它的过程中,我总是注意到,在重复安装时,以前的系统在外部磁盘上被识别。所以我想它不会被启动,而不是不会被安装。这些是我的桌面仍然显示的错误:

[5.735209] Couldn't get size: 0x80000000000000e
[5.735222] MODSIGN: Couldn't get UEFI db list
[5.735612] Couldn't get size: 0x80000000000000e
[5.735013] Couldn't get size: 0x80000000000000e 

编辑1:根据用户要求@oldfred,这是我的启动修复 pastebin

编辑2:终于可以启动 Linux在我的笔记本电脑上但只能使用“简单安装”,而不是完整安装。我很快会更新我所采取的步骤,使用本指南作为咒语。

然而,我的桌面无法启动系统仍未解决:我的 EFI 分区正确包含目录 EFI/BOOT/bootx64.efi,这可能就是为什么我的笔记本电脑没有任何问题的原因。

编辑3:我的桌面上启动的唯一方法似乎是进入恢复模式,然后选择“正常启动 ubuntu”选项。仍然显示错误,但我可以访问系统。这是一种相当不舒服的启动方式,但仍然值得注意。


问题未解决(否,其他问题无效)
目前正在尝试
:使系统可在不同的 PC 上启动

答案1

对于外部驱动器或任何第二个驱动器,您必须提前进行 gpt 分区并包含 ESP - efi 系统分区。您现在不需要交换分区,因为 Ubuntu 使用交换文件。

如何在基于 EFI 的 PC 上为 Ubuntu 准备磁盘?

在安装过程中您可以这样做(参见 oldfred 的解决方法)?或者在安装后将 grub 重新安装到外部驱动器。请注意,外部驱动器仅从 /EFI/Boot/bootx64.efi 启动。但现在完全重新安装 grub 也会创建该文件。内部驱动器将从 /EFI/ubuntu/shimx64.efi 启动。您只能使用 efibootmgr -v 查看详细信息。

https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1396379

我在安装过程中完全关闭并更改了 ESP,但它不起作用。这说明如果你在开始安装之前这样做,它会起作用。我自己还没有测试过。

如何将 Ubuntu 安装到 USB 密钥?(不使用启动盘创建器)

它应该从与安装相同的系统启动,因为启动文件仅放在第一个驱动器中,通常是内部驱动器。如果使用实时安装程序,请确保在 UEFI 启动模式下启动。您可以使用 Boot-Repair 重新安装 grub,或者如果您可以从安装内部启动,则手动执行此操作。使用高级模式选择将 grub 安装到外部驱动器中:

https://help.ubuntu.com/community/Boot-Repair

https://sourceforge.net/p/boot-repair/home/Home/

如果启动到您的安装,您可以使用 efibootmgr 来创建新的 UEFI 启动项,但必须有额外的参数来指定外部驱动器上的 ESP 的驱动器和分区。

相关内容