我刚刚在一台旧的(3-4 年旧的) HP 笔记本电脑上安装了 Ubuntu。
在安装时,BIOS 设置为“传统启动模式”,并且“安全启动”选项被禁用。(这是可以理解的,因为据我所知,所有 BIOS 在支持传统模式(即 dos)时都会停用安全启动)。但不幸的是,我在安装时从未意识到这一点。
我跟着这很棒的社区指南,用于手动全系统加密,甚至可以确保启动分区加密。作为该指南作者编写的脚本的一部分,grub 使用以下命令安装:
grub-install --target=x86_64-efi --uefi-secure-boot --efi-directory=/boot/efi --bootloader=ubuntu --boot-directory=/boot/efi/EFI/ubuntu --recheck /dev/[DRIVE]
我不确定这个--uefi-secure-boot
标志的作用,但安装工作完美,我的系统正在运行。
然后我意识到 BIOS 中的安全启动被禁用了,我想改变这一点,并禁用了传统模式支持并启用了安全启动。由于某种原因,我的机器现在无法启动。它显示的错误如下面的屏幕截图所示:
如果我禁用安全启动(注意:仅禁用安全启动,但仍然保持禁用传统模式支持),则启动可以再次完美运行。
注意:在图像中,UUID 以“29bb6762”开头的设备是我的启动分区。
注2:以下是我的硬盘分区方式。(与链接中的完全相同手动全系统加密维基百科
/dev/sda1 - UEFI partition. FAT 32
/dev/sda2 - LUKS
/dev/mapper/system-root
/dev/mapper/system-boot
/dev/mapper/system-swap
- 根、引导和交换位于卷组上。(LUKS 分区格式化为 LVM)
- 并且 /dev/mapper/system-boot 具有与屏幕截图中的 grub 错误相同的设备 ID。
答案1
Ubuntu 没有真正的安全启动选项(当正确设置安全启动时,它会立即切换到不安全模式),但如果您需要在 BIOS/UEFI 中打开安全启动(例如,如果您使用需要它的 Windows 10 等操作系统进行双启动),您仍然可以使用安全启动垫片。
尝试这个:
- 在 UEFI/BIOS 菜单中切换回传统启动。
- 启动 Ubuntu。
在终端中运行:
sudo apt update; sudo apt install shim-signed
在 UEFI/BIOS 设置中切换回安全启动。您可能需要选择一个引导加载程序来用于 Ubuntu 启动菜单选项。如果是这样,它是
EFI/ubuntu/shimx64.efi
。- 尝试启动 Ubuntu。