完成从 Ubuntu 17.04 到 17.10 的命令行升级后此链接,我尝试从实时 USB 驱动器启动 Ubuntu 17.04。但结果却令人失望,我做不到。我仍然可以启动新的 Ubuntu 17.10 和 Windows 8,它们都安装在硬盘上。当我尝试进入 UEFI 配置菜单时,我收到了标题中令人不安的消息:Error: could not set EFI variable 'OsIndications'
使用 Ubuntu 17.10 上的应用程序gnome-disks
,我可以挂载分区Recovery
、Push Button Reset
和ESP
,尽管ESP
没有显示在中nautilus
。
我经常使用实时 Ubuntu 和实时 Kali Linux 以及其他操作系统,无法访问 UEFI 菜单使我无法再使用它们。是否有一些命令或启动键序列可以用来挽救 EFI 分区(无论它是什么)?我并不急于尝试自己排除故障,因为我知道 EFI 是多么脆弱。任何帮助都非常感谢!
答案1
EFI 分区没有问题,问题出在固件上;但是有一个解决办法。
编辑/etc/grub.d/30_uefi-firmware
并删除 if/then/fi 语句。我将其改为:
gettext_printf "Adding boot menu entry for EFI firmware configuration\n" >&2
cat << EOF
menuentry 'uefi-firmware' {
fwsetup
}
EOF
然后sudo update-grub
,您现在应该在 grub 中有一个 UEFI 固件选项。
答案2
你写了:
当我尝试进入 UEFI 配置菜单时
您没有指定如何但您尝试进入 UEFI 配置菜单。有几种方法可以做到这一点,包括以下方法:
- 启动时按键-- 大多数计算机都提供按键来进入固件设置实用程序。最常见的选项是 Delete、F2 和 Enter;但是,还有其他选项,并且按键因机器而异。有时,如果启用了固件的“快速启动”选项(或者,如果设置为进行最少的 USB 初始化),这会非常棘手或根本不起作用。
- 启动管理器选项-- 一些启动管理器,包括 GRUB 和我自己的rEFInd,可以选择提供菜单项以引导到固件设置实用程序。Ubuntu 配置其 GRUB 菜单的方式默认不存在此选项。我尚未验证 ravery 的解决方案,但它看起来是一种正确的启用方法。如果我没记错的话,Boot Repair 也会这样做。如果您要安装 rEFInd,或从 USB 驱动器或 CD-R 启动它,则默认情况下应该存在执行此操作的选项(看起来像风格化的计算机芯片的第二行图标)。
- 操作系统重启至固件选项-- 在较新版本的 Ubuntu 上(使用 的版本
systemd
),输入sudo systemctl reboot --firmware
应该会重新启动进入固件设置实用程序。Windows 8 及更高版本提供类似功能;请参阅这里了解详情。
请注意,最后两种方法取决于支持此功能的固件,因此它们在某些计算机上不起作用。您报告的错误消息听起来好像您的固件可能不支持该功能,但如果您以与过去相同的方式进入设置实用程序,则这似乎不太可能。无论如何,我会尝试您未使用的一种或两种其他方法。
如果问题仍然存在,那么可能是您的 NVRAM 内容已损坏。有时可以通过将固件重置为默认值和/或应用任何可用的固件更新来修复此问题。不幸的是,这会产生一个先有鸡还是先有蛋的问题,因为您通常必须进入固件设置实用程序来重置其选项或更新固件。在这种极端情况下,您可以使用第四种方法:
- 拔下所有启动设备并启动-- 如果您关闭计算机并拔下所有磁盘和其他可启动设备(在某些网络上可能包括以太网电缆),则当您打开计算机时,它将找不到任何可启动设备。此时,它通常会进入固件设置实用程序。缺点是某些计算机会忘记所有之前工作的启动项,因此当您重新插入磁盘时,它可能无法再启动,或者可能会绕过 GRUB 直接启动到 Windows。不过,这种方法可以作为最后的选择。(如果需要,您可以通过各种方式重新创建 Ubuntu/GRUB 启动项。)