我最近更新了 Asus Sabertooth 990fx 上的固件,现在 UEFI bios 无法启动我的 ubuntu 安装,而 ubuntu 安装是从 EFI 启动的。EFI 启动适用于 livecd,但 BIOS 似乎不再识别 ubuntu 安装,而以前可以识别。
欢迎任何帮助。
答案1
您的更新可能已从 NVRAM 设置中删除 Ubuntu 引导加载程序。如果 CD 以 EFI 模式启动,您应该能够键入以下命令(或它们的某些变体)来纠正问题:
sudo apt-get install efibootmgr
efibootmgr -c -l \\EFI\\ubuntu\\grubx64.efi -L Ubuntu
我不能 100% 确定 EFI 系统分区 (ESP) 上的 GRUB 路径,因此您可能需要进行调整。此外,该路径是使用 EFI 样式的反斜杠而不是正斜杠指定的,并且由于反斜杠在 Linux shell 中是转义字符,因此必须将其加倍 - 因此\\EFI\\ubuntu\\grubx64.efi
而不是/EFI/ubuntu/grubx64.efi
。无论如何表达,此文件名都是相对于 ESP 的根目录的,ESP 是boot
GParted 中的标志或 中的分区类型代码 EF00 标识的分区gdisk
。
另一个选项是移动并重命名grubx64.efi
为/EFI/boot/bootx64.efi
ESP;这是一种默认/备份引导加载程序文件名。此选项的变体是安装其他引导管理器,例如改装或者rEFInd,以该名称。如果您使用 Windows 或其他操作系统进行双启动,此选项可能会很有吸引力;rEFIt 和 rEFInd 都可以检测存储在 ESP 上常规位置的任何 EFI 引导加载程序,并将启动过程重定向到它们。不过,rEFIt 已被废弃,其网站上的版本不适用于 UEFI PC;rEFInd 是 rEFIt 的一个分支,可提供更新,并且适用于 UEFI PC。