我刚刚安装了 16.04,由于反复出现死机,我搜索了一下,发现我可能需要更改内核版本。在此之前,我想我运行的是 4.8.0,至少我是这样uname -r
认为的。
因此,我安装了 4.7.0,以防另一个版本太新,但经过几次检查后,我不确定我的系统是否真的在 4.7.0 上运行,还是仍在旧内核上运行。我按照以下说明进行操作如何在 Ubuntu 16.04 上更新/安装 Linux 内核 4.7-RC3。
我确实跑了sudo update-grub
。
这是我的目录中的内容/boot
:
$ ls /boot
abi-4.4.0-72-generic lost+found
abi-4.7.0-040700rc3-generic memtest86+.bin
abi-4.8.0-36-generic memtest86+.elf
abi-4.8.0-46-generic memtest86+_multiboot.bin
config-4.4.0-72-generic System.map-4.4.0-72-generic
config-4.7.0-040700rc3-generic System.map-4.7.0-040700rc3-generic
config-4.8.0-36-generic System.map-4.8.0-36-generic
config-4.8.0-46-generic System.map-4.8.0-46-generic
efi vmlinuz-4.4.0-72-generic
grub vmlinuz-4.7.0-040700rc3-generic
initrd.img-4.4.0-72-generic vmlinuz-4.8.0-36-generic
initrd.img-4.7.0-040700rc3-generic vmlinuz-4.8.0-46-generic
initrd.img-4.8.0-36-generic vmlinuz-4.8.0-46-generic.efi.signed
initrd.img-4.8.0-46-generic
uname -r
返回与以前相同的内容:4.8.0-46-generic
这是我的cat /proc/version
:
Linux version 4.8.0-46-generic (buildd@lcy01-15) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #49~16.04.1-Ubuntu SMP Fri Mar 31 14:51:03 UTC 2017
所以我猜我确实安装了它们,但我必须以某种方式删除旧文件。不过,在询问之前我不想深入删除东西。
另外,顺便问一下,你觉得我降级内核是个好主意吗?我已经尝试了所有方法,但我的机器还是一直死机。
答案1
你走错了路。
如果您正在运行 16.04.2,则说明您已经在内核 4.8 上运行。您已降级到内核 4.7rc3!(rc3 表示候选版本 3……如果您要使用另一个内核,至少要选择一个最终版本)。它仍然在启动 4.8 内核,因为您没有在 GRUB 中选择 4.7 内核启动,或者删除 4.8 内核并更新 GRUB。最好清除您安装的 4.7 内核。
另外,你需要对系统磁盘执行 fsck,因为看起来你的磁盘损坏了……或者硬盘驱动器出现故障……这可能是你死机的真正原因。
要检查 Ubuntu 分区上的文件系统...
- 启动到 GRUB 菜单
- 选择高级选项
- 选择恢复模式
- 选择 Root 访问
- 在 # 提示符下,输入
sudo fsck -f /
- 如果有错误,请重复 fsck 命令
- 类型
reboot
此外,您还应该使用该Disks
应用程序检查硬盘中的 SMART 数据,查找故障数据。您还可以在那里运行 SMART 测试。
答案2
启动时,如果您有多个内核,grub 将显示一个菜单。第一个选项将是要启动的默认内核,在您的情况下为 4.8。第二个选项将类似于“Ubuntu 的高级选项”。进入菜单,您将看到系统中安装的所有内核。如果您已成功安装 4.7.0,则应该有一个名为“Ubuntu,带有 Linux 4.7.0 通用”的选项。选择它并按 Enter。您的系统应该使用 4.7 启动到桌面。不要选择以 (upstart) 和 (recovery mode) 结尾的那些,您现在可能不需要它们。对于最新内核,您始终可以从
http://kernel.ubuntu.com/~kernel-ppa/mainline/
然后使用sudo dpkg -i *.deb
安装它们。截至今天,最新内核是 4.10.9。