我在 HP Mini 5103 上运行 Lubuntu 14.04,昨天升级后,我遇到了完全可重现的内核恐慌。
- 崩溃的内核:3.16.0-57
- 不崩溃的内核:3.16.0-56
也许有关系,但在过去半年左右的时间里,每当我看到新更新的通知并尝试安装它们时,有时(部分)更新安装正常,有时我会收到一些错误。当我尝试提交错误时,它会要求我输入密码。然后,当我确认时,这个密码对话框崩溃,并生成另一个报告错误对话框,再次要求输入密码,然后再次崩溃,等等……
我目前的解决方法是每次打开电脑时按住 [shift] 并选择上一个内核,但我不想一直这样做。我喜欢的是:
- 卸载这个有问题的内核,或者
- 选择之前的内核作为默认内核。
[编辑]
ls -l /boot
total 216922
-rw-r--r-- 1 root root 1213454 aug 11 20:09 abi-3.16.0-46-generic
-rw-r--r-- 1 root root 1213779 aug 21 02:41 abi-3.16.0-48-generic
-rw-r--r-- 1 root root 1213632 sep 9 13:36 abi-3.16.0-49-generic
-rw-r--r-- 1 root root 1213747 okt 23 17:39 abi-3.16.0-52-generic
-rw-r--r-- 1 root root 1213747 nov 6 21:36 abi-3.16.0-53-generic
-rw-r--r-- 1 root root 1213747 nov 17 13:30 abi-3.16.0-55-generic
-rw-r--r-- 1 root root 1213821 dec 2 14:55 abi-3.16.0-56-generic
-rw-r--r-- 1 root root 1213821 jan 18 17:56 abi-3.16.0-59-generic
-rw-r--r-- 1 root root 176153 aug 11 20:09 config-3.16.0-46-generic
-rw-r--r-- 1 root root 176172 aug 21 02:41 config-3.16.0-48-generic
-rw-r--r-- 1 root root 176172 sep 9 13:36 config-3.16.0-49-generic
-rw-r--r-- 1 root root 176172 okt 23 17:39 config-3.16.0-52-generic
-rw-r--r-- 1 root root 176172 nov 6 21:36 config-3.16.0-53-generic
-rw-r--r-- 1 root root 176172 nov 17 13:30 config-3.16.0-55-generic
-rw-r--r-- 1 root root 176172 dec 2 14:55 config-3.16.0-56-generic
-rw-r--r-- 1 root root 176172 jan 18 17:56 config-3.16.0-59-generic
drwxr-xr-x 5 root root 1024 jan 20 16:36 grub
-rw-r--r-- 1 root root 19862602 sep 3 08:29 initrd.img-3.16.0-46-generic
-rw-r--r-- 1 root root 19861440 sep 4 13:03 initrd.img-3.16.0-48-generic
-rw-r--r-- 1 root root 19861112 sep 25 12:40 initrd.img-3.16.0-49-generic
-rw-r--r-- 1 root root 19861936 nov 5 08:57 initrd.img-3.16.0-52-generic
-rw-r--r-- 1 root root 19861924 nov 20 14:12 initrd.img-3.16.0-53-generic
-rw-r--r-- 1 root root 19862906 dec 1 09:21 initrd.img-3.16.0-55-generic
-rw-r--r-- 1 root root 19864377 dec 17 09:04 initrd.img-3.16.0-56-generic
drwx------ 2 root root 12288 aug 29 16:41 lost+found
-rw-r--r-- 1 root root 176500 mrt 12 2014 memtest86+.bin
-rw-r--r-- 1 root root 178176 mrt 12 2014 memtest86+.elf
-rw-r--r-- 1 root root 178680 mrt 12 2014 memtest86+_multiboot.bin
-rw------- 1 root root 2792155 aug 11 20:09 System.map-3.16.0-46-generic
-rw------- 1 root root 2791983 aug 21 02:41 System.map-3.16.0-48-generic
-rw------- 1 root root 2791983 sep 9 13:36 System.map-3.16.0-49-generic
-rw------- 1 root root 2792803 okt 23 17:39 System.map-3.16.0-52-generic
-rw------- 1 root root 2792803 nov 6 21:36 System.map-3.16.0-53-generic
-rw------- 1 root root 2792814 nov 17 13:30 System.map-3.16.0-55-generic
-rw------- 1 root root 2793015 dec 2 14:55 System.map-3.16.0-56-generic
-rw------- 1 root root 2793015 jan 18 17:56 System.map-3.16.0-59-generic
-rw------- 1 root root 6017280 aug 11 20:09 vmlinuz-3.16.0-46-generic
-rw------- 1 root root 6017696 aug 21 02:41 vmlinuz-3.16.0-48-generic
-rw------- 1 root root 6017504 sep 9 13:36 vmlinuz-3.16.0-49-generic
-rw------- 1 root root 6018848 okt 23 17:39 vmlinuz-3.16.0-52-generic
-rw------- 1 root root 6018848 nov 6 21:36 vmlinuz-3.16.0-53-generic
-rw------- 1 root root 6020480 nov 17 13:30 vmlinuz-3.16.0-55-generic
-rw------- 1 root root 6020960 dec 2 14:55 vmlinuz-3.16.0-56-generic
-rw------- 1 root root 6020800 jan 18 17:56 vmlinuz-3.16.0-59-generic
答案1
我强烈敦促您抵制这种廉价的解决方案(只需卸载 3.16.0-57)。内核的更新并非只会惹恼人们,它还会获得一些非常重要的安全更新,否则您的系统可能会受到攻击。
相反,我会看看提交内核错误报告。如果你有任何开发经验,知道确切的断点可以让你比其他任何事情都更轻松地发现问题所在。
或者,您处于一系列 LTS 硬件支持堆栈的第一级(您处于 Utopic 内核中)。您可以跳到 Vivid 或 Wily。 你会需要在 2016 年 8 月更改为 Xenial 的堆栈,因为那将是唯一受支持的 HWE 堆栈。
另一种选择是卸载所有 HWE 软件包,恢复到 Ubuntu 14.04.1 的 3.13 内核。该版本支持整整五年(到 2019 年)。除非您有现代图形要求,否则这是一个非常明智的选择。
您的其他问题可能与之相关(特别是如果这是图形驱动程序问题),因此另一个堆栈版本可以
答案2
OP 回答
看来我的“可能相关”问题的根本原因是一个完整的/boot
分区(大小为 236M),这也阻碍了我解决内核恐慌的进程。
- 清除
/boot
除您启动的内核之外的所有内核, - 修复损坏的包管理器
apt-get -f install
- 清理
apt-get -f autoremove && apt-get update && apt-get upgrade
要修复我的内核恐慌:
- 安装具有长期支持的旧内核(撰写本文时为 3.13):
apt install linux-generic libgl1-mesa-glx linux-libc-dev linux-tools-generic xserver-xorg libegl1-mesa-drivers
- 重启,进入GRUB,选择这个内核
- 从中删除其他内核
/boot
- 从 GRUB 中删除其他内核:
update-grub