几个月前,我买了一台装有 Windows 10 的戴尔 Inspiron 15 笔记本电脑。由于我很少使用 Windows,所以我安装了 Ubuntu 14.04 作为双启动。
今天我做了更新,保留了一些 grub 相关的软件包。我不知道当时是怎么想的,但我还是继续编辑了sudo install
保留下来的软件包。
重启后,我收到无效签名错误,并被重定向到 Windows 启动。
有办法纠正这种情况吗?我对 EFI、安全启动及其相互作用的了解相当有限(写这篇文章时正在浏览信息页面)。
答案1
由于我不知道微软是否确实通过更新更改了引导加载程序签名
(无论如何这在这里是题外话)我建议采取以下步骤:
第一的禁用休眠和快速启动在 Windows 中。
启动进入 Windows — 打开以管理员身份命令提示符并执行此命令:
powercfg /h off
然后在控制面板->能源设置(显示隐藏设置)中禁用(取消选中)快速启动。
关闭机器(做不重启) 完全地。
然后将 GRUB 引导加载程序重新安装到你的 Ubuntu 安装中电喷模式。
从 Ubuntu 安装媒体启动 - 然后打开终端并执行:
sudo mount /dev/sd*** /mnt
sudo mount /dev/sd** /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sd*
update-grub
笔记 :
sd*
= 磁盘 | sd**
= efi 分区 | sd***
= 系统分区
如果你不知道分区号,你可以很容易地识别它们分区。
(图形用户界面)工具已包含在 Ubuntu 安装媒体中。
如果此解决方案不起作用,很遗憾,您将不得不在非安全模式下重新安装 ubuntu。
启动到 BIOS(UEFI)并禁用安全启动,然后按照之前的方式重新安装 ubuntu。
答案2
因此,在花了几个小时查阅 EFI 文档,甚至尝试了 rEFInd 引导加载程序(但没有用;我收到与 grub 相同的消息)之后,我决定从 BIOS 菜单禁用“安全启动”,然后它就起作用了。
看来,通过强制更新,我覆盖了 Ubuntu 自初始安装以来一直在使用的已经加密签名的引导加载程序(我相信它被称为 shim)。
不过,我还是不明白如何使用 shim 代替 grub。(我猜想这与 ESP 上的配置有关;有人可以纠正我或为我解答这个问题)。