在新硬盘上安装了 Ubuntu,但无法加载

在新硬盘上安装了 Ubuntu,但无法加载

我尝试禁用安全启动,并检查了我的分区,它们似乎没问题。计算机没有加载 ubuntu,只是重新启动并选择了正确的启动设备。我运行了 boot info,结果如下http://paste2.org/JF36VyGZ

答案1

短期内,尝试把我的rEFInd 启动管理器在 USB 闪存驱动器或 CD-R 上并使用它启动。rEFInd 可能无需任何特殊配置或更改即可启动您的 Ubuntu 安装;但是,从长远来看,您可能不想通过 USB 闪存驱动器上的 rEFInd 启动......

正如 ubfan1 在评论中所说,您的efibootmgr输出没有显示任何证据表明存在 GRUB 的启动项(EFI/ubuntu/grubx64.efi在您的 上/dev/sda1)。这样的条目应该存在。它不存在的最可能原因有两个:安装引导加载程序时失败,或 EFI 存在缺陷,导致“忘记”了其引导条目。

要解决第一个问题,您必须创建一个新的启动项。您可以在通过 rEFInd 启动系统后使用以下命令执行此操作:

sudo efibootmgr -c -l \\EFI\\ubuntu\\shimx64.efi -L "ubuntu"

请注意,使用双反斜杠 ( \\) 而不是单正斜杠 ( /) 作为目录分隔符。(我很确定的最新版本efibootmgr可以使用正斜杠,但由于您没有说明您使用的是哪个版本的 Ubuntu,所以最好坚持使用最低公分母。)此外,如果安全启动确实被禁用,您可以指定grubx64.efi而不是shimx64.efi; 但后者应该始终有效,因此它是更安全的选择。

重新启动,如果 Ubuntu 启动了,请输入sudo efibootmgr以查看是否有ubuntu条目。如果有,您应该能够重新启动,或者关闭并重新启动,系统将再次启动。

如果此方法无效,那么如果您的计算机是新的,最好的办法是更换它,因为它有缺陷。一定要告诉制造商您退货退款的原因。他们确实花了数年时间来修复这些错误,而且大多数制造商都已经修复了;但少数制造商仍在运送损坏的 EFI,除非人们拒绝购买损坏的产品,否则他们可能会继续这样做,直到太阳变成冰冷的余烬。

如果计算机不够新,无法退回退款,有一个解决方法:备份并将 GRUB 重命名为后备文件名EFI/BOOT/bootx64.efi在 ESP 上)。您可以这样做:

sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/BOOT
sudo mv /boot/efi/EFI/BOOT/shimx64.efi /boot/efi/EFI/BOOT/bootx64.efi

再次,如果您确定安全启动已被禁用,则可以指定grubx64.efi而不是;但无论安全启动是否启用都应该有效,因此是更安全的选择。shimx64.efishimx64.efi

这种方法有几个问题,尽管对于单启动系统来说这些问题并不那么严重。如果您必须采用这种方法,最大的问题是 Shim 和 GRUB 的更新不会自动安装;您必须手动将它们从 复制到/boot/efi/EFI/ubuntu/boot/efi/EFI/BOOT就像前面的命令一样。大多数此类更新并不是真正重要的,但更新总是有可能包含重要的安全修复,因此您应该留意这一点。

相关内容