每当我更新 ubuntu 时都会收到以下错误消息。该消息要求我删除当前内核版本或用签名版本替换当前内核版本。
这个怎么做?
以下是我收到的消息:
您的系统在固件中启用了 UEFI 安全启动,并且系统上存在的以下内核未经签名:
4.19.6
这些内核无法在安全启动下进行验证。为确保您的系统保持可启动状态,除非删除这些内核或将其替换为已签名的内核,否则 GRUB 将不会在您的磁盘上升级。
我的机器上现在安装了以下内核,通过运行命令列出:dpkg --list | grep linux-image
- ic linux-image-4.15.0-29-generic 4.15.0-29.31 amd64 签名内核映像通用
- rc linux-image-4.15.0-39-generic 4.15.0-39.42 amd64 签名内核映像通用
- ii linux-image-4.15.0-42-generic 4.15.0-42.45 amd64 签名内核映像通用
- ii linux-image-4.15.0-43-generic 4.15.0-43.46 amd64 签名内核映像通用
- ii linux-image-4.15.0-45-generic 4.15.0-45.48 amd64 签名内核映像通用
- ii linux-image-generic 4.15.0.45.47 amd64 通用 Linux 内核映像
- ii linux-image-unsigned-4.19.5-041905-generic 4.19.5-041905.201812031110 amd64 64 位 x86 SMP 上 4.19.5 版 Linux 内核映像
我正在运行的内核版本,通过运行命令检索uname -a
:
Linux dipak 4.19.6 #1 SMP 星期二 十二月 18 10:30:34 IST 2018 x86_64 x86_64 x86_64 GNU/Linux
Ubuntu 发行版本(lsb_release -a
):
没有可用的 LSB 模块。分销商 ID:Ubuntu 描述:Ubuntu 18.04.2 LTS 发行版:18.04 代号:bionic
答案1
自上次更新 Grub(2 月 1 日)以来,我们遇到了同样的问题。如果启用了安全启动,未签名的内核将无法启动。它以一条消息结束,内容为签名无效,必须先加载内核. 需要冷停机。
您有 2 个选择:
- 在 BIOS 中永久禁用安全启动(最糟糕的选择)
- 使用 MOK 管理器在启动时暂时禁用安全启动
莫克经理
sudo mokutil --disable-validation
root password
mok password: 12345678
mok password: 12345678
sudo reboot
机器将在蓝屏中重新启动,即 MOK 管理器菜单。输入显示的数字,如果是 7,则它是密码的第 7 个字符。因此,保留 12345678。要回答的问题为“是”,以禁用安全启动。重新启动。
启动后,您将看到一条新消息(左上角),内容为 <<以不安全模式启动>>. 之后机器将正常启动并且安全启动保持启用状态。
此更改是永久性的,全新安装 Ten 不会覆盖它。您必须保持这种状态。
要重新启用它:
sudo mokutil --enable-validation
root password
mok password: 12345678
mok password: 12345678
sudo reboot
Tumbleweed 提供了一个在 Ubuntu 中不起作用的选项:注册密钥并散列到引导加载程序。我们的计算机不是双启动,并且该错误也存在于 Mint 19.1 中。
我们做了一个修改,让启动在 Grub 菜单中持续 5 秒钟,因为左移键在这里不起作用,其他组合键也不起作用。这个调整在 LVM 中工作正常。
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=false
GRUB_TIMEOUT=
https://www.rodsbooks.com/refind/secureboot.html
http://www.rodsbooks.com/efi-bootloaders/secureboot.html#add_keys
mokutil --sb-state
SecureBoot enabled
4.19.5-041905:未签名且默认
sudo apt-get purge linux-headers-4.19.5-041905 linux-headers-4.19.5-041905-generic linux-image-4.19.5-041905-generic linux-modules-4.19.5-041905-generic
4.15.0-29
sudo apt-get purge linux-headers-4.15.0-29 linux-headers-4.15.0-29-generic linux-image-4.15.0-29-generic
4.15.0-39 + 42
sudo apt-get remove --purge $(sudo dpkg -l | grep "^rc" | awk '{print $2}' | tr '\n' ' ')
第一个命令给了我以下消息/错误:
dpkg:错误:需要一个操作选项
输入 dpkg --help 获取关于安装和卸载软件包的帮助 [*];使用 'apt' 或 'aptitude' 实现用户友好的软件包管理;输入 dpkg -Dhelp 获取 dpkg 调试标志值的列表;输入 dpkg --force-help 获取强制选项的列表;输入 dpkg-deb --help 获取关于操作 *.deb 文件的帮助;
标有 [*] 的选项会产生大量输出 - 通过“less”或“more”进行管道传输!
现在读的是:
dpkg --list | grep linux-image
- rc linux-image-4.15.0-39-generic 4.15.0-39.42 amd64 签名内核映像通用
- rc linux-image-4.15.0-42-generic 4.15.0-42.45 amd64 签名内核映像通用
- ii linux-image-4.15.0-43-generic 4.15.0-43.46 amd64 签名内核映像通用
- ii linux-image-4.15.0-45-generic 4.15.0-45.48 amd64 签名内核映像通用
- ic linux-image-unsigned-4.19.5-041905-generic 4.19.5-041905.201812031110 amd64 64 位 x86 SMP 上 4.19.5 版 Linux 内核映像
与 4.19.5 有冲突(仅安装了配置文件)。您没有正确安装 4.19。重新安装 4.19.5 然后再卸载。
获取 2 个通用标题 + 模块通用 + 图像通用:
https://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D
然后确保下载文件夹中没有 deb 文件并运行以下命令:
cd //home/**your user name**/Downloads
sudo dpkg -i *.deb
重启