uname -r 返回错误的内核版本

Mic*_*oon 3 updates kernel

我从 Ubuntu 12 升级到 14.04 并在过程结束时进行检查以验证一切正常。这是输出uname -a

Linux odoo 2.6.32-042stab092.3 #1 SMP Sun Jul 20 13:27:24 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

然后输出 lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty
Run Code Online (Sandbox Code Playgroud)

因此,似乎系统已更新,但内核未更新。

看到这里,我手动下载并安装了3.16内核,步骤如下:

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600_3.16.0-031600.201408031935_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb

sudo dpkg -i linux-headers-3.16.0-*.deb linux-image-3.16.0-*.deb
Run Code Online (Sandbox Code Playgroud)

但重启后,uname -mrs仍然告诉我

Linux 2.6.32-042stab092.3 x86_64
Run Code Online (Sandbox Code Playgroud)

如何检查uname命令是否在说谎或者内核是否真的没有更新?

小智 8

不完全是。

uname 会告诉您正在运行的内核,而不是安装的内核。所以你可能已经安装了新内核,但系统只会在重新启动后运行它。

安装新内核后,尤其是手动安装后,您需要sudo update-grub在终端窗口中运行,然后重新启动。

如果内核 3.16 安装正确,请确保在引导 PC 时在 GRUB2 中选择它。可以肯定的是,您可以在 grub 中选择“Ubuntu 的高级选项”选项。您安装的所有内核都存在。

但是这sudo update-grub部分在手动安装内核时至关重要。