升级到4.4.0-108-generic后出现核心恐慌。

今天我收到了我认为是解决Spectre和Meltdown问题的更新。但是情况并不太好。现在我该怎么办呢? 请看屏幕照片。

enter image description here

我无法启动4.4.0-108-generic内核,因为出现了内核恐慌。我正在运行16.04版本,使用的是Intel Core i5-4670K CPU @ 3.40GHz × 4。

2这个错误与著名的Meltdown CPU漏洞的内核更新有关(我不知道为什么人们从问题标题中删除了这一部分):https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1742323 - Velkan
我遇到了同样的问题。 14.04更新到了Meltdown补丁。我在GRUB中设置了之前的内核*.104,Ubuntu正常启动了。 - Alexander Kryuchkov
3内核4.4.0-109已发布,请更新您的系统。 - Stormlord
我的救星 https://askubuntu.com/questions/216398/set-older-kernel-as-default-grub-entry - Floggedhorse
4.4.0-109在我的VirtualBox下的Ubuntu 16.04主机上仍然无法正常工作。 - Lætitia
是的,在这个问题中有一张黑屏的图片,但是这个问题并不是一个普通黑屏问题的重复,因为这个问题涉及到一个特定的情况,有一个具体的答案 - karel
4个回答

不要在Xenial上安装4.4.0-108-generic!它会破坏启动/重启/关机/挂起功能
请安装4.4.0-109-generic(有关详细信息,请参阅USN-3522-3)!
重新启动到最后一个工作的内核,然后删除4.4.0-108-generic版本。
按下Shift键,在UEFI/BIOS和登录屏幕之间进入GRUB 在GRUB中选择Advanced options for Ubuntu,然后选择Ubuntu, with Linux 4.4.0-xxx-generic(其中xxx < 108) 登录系统并删除有问题的4.4.0-108-generic版本,安装4.4.0-104-generic版本。 ```shell sudo apt-get purge linux-headers-4.4.0-108 linux-headers-4.4.0-108-generic \ linux-image-4.4.0-108-generic linux-image-extra-4.4.0-108-generic \ linux-tools-4.4.0-108 linux-tools-4.4.0-108-generic sudo apt-get autoremove sudo apt-get install linux-headers-4.4.0-104 linux-headers-4.4.0-104-generic \ linux-image-4.4.0-104-generic linux-image-extra-4.4.0-104-generic \ linux-tools-4.4.0-104 linux-tools-4.4.0-104-generic ```
截至2018年01月10日18:00 UTC,4.4.0-109-generic内核似乎已在镜像上分发。
但如果你愿意,你可以选择“主服务器”(http://archive.ubuntu.com/ubuntu)。 你可以从software-properties-gtk / software-properties-kde切换到它。
你可以使用以下命令安装4.4.0-109-generic:
sudo apt-get update
sudo apt-get install linux-headers-4.4.0-109 linux-headers-4.4.0-109-generic \
linux-headers-generic linux-image-4.4.0-109-generic \
linux-image-extra-4.4.0-109-generic linux-image-generic \
linux-tools-4.4.0-109 linux-tools-4.4.0-109-generic linux-tools-generic

当我在清除4.4.0-108后运行autoremove命令时,它要求我删除4.4.0-103版本 - 这是我想要做的吗? - Janina
如果这是您唯一的内核,您可以跳过自动删除。上一个可用版本是104。 - N0rbert
1我在2018年1月4日看到Mesa破坏了其他人的系统后,就关闭了更新功能,所以从来没有得到过108。不过109似乎已经存在了:linux-generic/xenial-updates,xenial-security 4.4.0.109.114 amd64 [upgradable from: 4.4.0.104.109] - WinEunuuchs2Unix
@N0rbert 如何安装4.4.0.109-generic?需要使用哪些命令行? - graham
1@Graham 我更新了我的帖子。 - N0rbert
1你的指示是覆盖启动并选择 4.4.0-104—一切都好。然后清除那个受到熔断修复影响的版本 4.4.0-108—一切都好。然后安装 4.4.0-104,但是你刚刚用它启动了,为什么还要安装它呢?我错过了什么... - WinEunuuchs2Unix
@WinEunuuchs2Unix 这是出于安全考虑。108和可能109会有副作用,而104则没有。104是最后一个已知良好的内核,在下一次purge-old-kernelsauto-remove时应该在系统中。当前正在运行的可能不是104。 - N0rbert
@N0rbert 我明白了。如果当前运行的版本不是104,那么第2步的指示应该进行微调。现在它说“在GRUB中选择Ubuntu的高级选项,然后选择带有Linux 4.4.0-104-generic的Ubuntu”。类似“之前的版本到108”会更合理一些。如果我过于挑剔,对不起。 - WinEunuuchs2Unix
@WinEunuuchs2Unix 完成了,谢谢! - N0rbert
刚刚我收到了4.4.0-109-generic的更新,但是我无法从用户界面登录。我可以通过终端登录。这次升级之后需要做一些特殊的操作吗?目前我已经回退到104版本。 - uncaught_exception
4.4.0-109在我的VirtualBox上运行的Ubuntu 16.04主机上仍然存在问题。 - Lætitia
1几天前我也遇到了同样的问题。按照这里的指示操作后问题解决了。然而,今天4.4.0-109又崩溃了,即使回退到104也没有帮助。我不得不手动进行fsck修复。现在我可以使用104登录了。暂时我可能会继续使用104版本。 - EXP0

在启动菜单中选择高级选项 for ubuntu
你可以从那里启动一个较旧的内核(仍然安装着)。

这对我解决了问题:
  1. 使用grub引导菜单,启动旧的内核版本。
  2. 安装更新的内核版本。

sudo apt install linux-generic-hwe-16.04-edge

更新: 看起来是4.4.0.108版本的问题, 刚刚发布的4.4.0.109版本已经修复了。


1很多用户并不需要4.13版本。它将会得到支持直到2018年中期(https://wiki.ubuntu.com/Kernel/LTSEnablementStack)。 - N0rbert

如果你使用旧版本的内核启动(我回退了大约三个版本),然后运行Ubuntu的所有高级选项中的“系统清理”工具,包括fsck,你就可以成功安装最新的补丁。显然,在早期版本中有一些必须在安装补丁之前“修复”的问题。