我今天安装了 Ubuntu 23.10,同时还安装了 Windows 和 Ubuntu 20.04,在安装 Ubuntu 23.10 之前,这两个系统都可以运行。现在我可以启动 23.10 和 Windows,但无法启动 Ubuntu 20.04。在启动菜单中选择 20.04 后,当我开始启动时,出现“ERROR Bad shim signature”错误。
我搜索了 Ask Ubuntu 并提出了这个似乎密切相关的未解答问题: 垫片签名错误
今天我尝试登录 20.04 时,Ubuntu 显示启动问题,并提到了 bios 和 GRUB。我发现 Ubuntu 记录了启动问题,所以我正在研究这个问题。我会发布我的进度。同时 23.10 可以正常工作,所以我可以安装程序并链接我的旧数据文件。
我运行了 boot-repair,输出非常长。我编辑了问题以包含建议的修复。继续操作是否安全,还是我应该添加整个文件以便知情者可以查看?建议的修复:______________________________________________________________
Boot-Repair 实用程序的默认修复将重新安装 sda12 的 grub-efi-amd64-signed,使用以下选项:sda2/boot/efi 将执行其他修复:unhide-bootmenu-10s use-standard-efi-file restore-efi-backups
建议维修的最后建议:______________________________________
请不要忘记让您的 UEFI 固件在当前使用的操作系统 - Ubuntu 23.10 条目 (sda2/efi//垫片.efi(**** 将在最后一条消息中更新)文件)!如果您的计算机直接重新启动进入 Windows,请尝试更改 UEFI 固件中的启动顺序。如果您的 UEFI 固件不允许更改启动顺序,请更改 Windows 引导加载程序的默认启动项。例如,您可以启动进入 Windows,然后在管理员命令提示符中键入以下命令:bcdedit /set {bootmgr} path \EFI*\垫片*.efi(**** 将在最终消息中更新)
昨天,2024 年 2 月 21 日,我尝试关闭安全启动,并交换启动操作系统顺序。我现在可以再次启动 Ubuntu 20.04 - 成功!启动 Ubuntu 时收到的错误消息仍然显示。因此,在没有任何了解这些事情的人的建议的情况下,我冒险运行了启动修复,选择了推荐的选项。现在我仍然收到相同的错误消息,所以启动修复对我来说不起作用。但是,操作系统现在正在运行,所以这个问题可以关闭了。感谢所有提供建议的人。
答案1
在 ubuntu 上运行的服务之一是 ,它在和secureboot-db
上运行。此服务的主要目的是更新BIOS 安全启动存储中的 DBX 或 。禁止签名数据库本质上是一个撤销列表,列出了不允许对启动二进制文件(grub、内核等)进行签名的内容。20.04
23.10
Secure Boot Forbidden Signature Database
这DBX 版本将于 23.10 推出比20.04 中可用的版本,并撤销了用于签署启动文件的两套证书中较旧的一套20.04
。
尝试修复此问题无需关闭安全启动,我可以提出以下建议:
- 启动到
23.10
- 将 20.04 启动结构挂载到
/media/oldroot
(20.04 根设备(/
),20.04/boot
(如果存在)中。/boot/efi 也是如此,前提是它不与23.10
) - 使用选项将
/proc
、/dev
、/tmp
和挂载到其相应位置/run
,即。/sys
/mount/oldroot/
-o bind
mount $MOUNT /media/oldroot/$MOUNT -o bind
- chroot 进入
/media/oldroot
并运行apt distupgrade
,apt install
或者获取最新的可用内核image-generic
。linux-generic-hwe-20.04
20.04
20.04
现在您应该拥有启用安全启动所需的所有更新。