ubuntu内核相关问题总结

1.内核相关命令
1)查看当前使用内核

uname -r

uname -a

2)查看内核列表

sudo dpkg --get-selections |grep linux-image

可以看到例如:

linux-image-4.4.0-66-generic deinstall
linux-image-4.4.0-72-generic install

3)升级/安装内核

sudo apt-get install linux-image-4.4.0-75-generic

4)删除内核

sudo apt-get remove linux-image-4.4.0-75-generic

删除当前版本重启会使用低一级的已安装内核,如果是最后一个内核版本删除之后重启会进入BIOS界面。
2.Ubuntu 16.04 内核降级
1)备份源配置文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak

2)修改源配置文件

sudo vim /etc/apt/sources.list

在最后增加一行

deb http://security.ubuntu.com/ubuntu trusty-security main

3)更新配置

sudo apt-get update

4)查看可安装内核

sudo apt-cachesearch linux-image 

linux-image表示查找linux-image的字段

5)安装新内核 

sudo apt-get install linux-image-3.16.0-43-generic

sudo apt-get install linux-image-extra-3.16.0-43-generic

6)修改grub配置文件

sudo vim /etc/default/grub

找到GRUB_DEFAULT=0,修改为

​​​​​​​GRUB_DEFAULT="Advancedoptions for Ubuntu>Ubuntu, with Linux 3.16.0-43-generic"

7)更新 Grub 引导

sudo update-grub

8)更新完成后重启系统

sudo reboot

9)查看当前使用内核

uname -r

uname -a

3.Ubuntu16.04切换内核启动
参考自:http://blog.csdn.net/u011304615/article/details/70920171
方法一:
1)(查看要设置版本的启动顺序,好像是从0编号)

grep menuentry /boot/grub/grub.cfg

2)将文件/etc/default/grubGRUB_DEFAULT=1改为:

GRUB_DEFAULT=6(要设置版本编号为6)

或者改为:

GRUB_DEFAULT=”Ubuntu,Linux4.4.0-21-generic“

3)更新 Grub 引导

sudo update-grub

4)查看内核

uname -r

方法二:
1)直接把/boot/中与当前版本(4.8.0-26)相关的文件及文件夹全部删除

 sudo rm -rf *4.8.0-26*

2)然后修改配置文件:/boot/grub/grub.cfg

sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak.zgw
sudo vim  /boot/grub/grub.cfg

找到如下代码块(当前版本4.8.0-26):

linux   /vmlinuz-4.8.0-26-generic root=UUID=5bce3795-da96-4c6f-bed2-67d37185a77dro  quiet splash $vt_handoff
    initrd   /initrd.img-4.8.0-26-generic

将其改为想使用的内核(4.4.0-45):

linux   /vmlinuz-4.4.0-45-generic root=UUID=5bce3795-da96-4c6f-bed2-67d37185a77dro  quiet splash $vt_handoff
    initrd   /initrd.img-4.5.0-45-generic

3)然后重启电脑就可以了。如若不行,请找如下代码块。

submenu 'Ubuntu 高级选项'$menuentry_id_option 'gnulinux-advanced-5bce3795-da96-4c6f-bed2-67d37185a77d'

将此行代码下的与当前版本(4.8.0-26)相关的代码全部删除然后重启就可以了。
4.ubuntu无法卸载旧内核
参考自:http://blog.csdn.net/xhw035/article/details/52422970
1)先用如下命令查看系统已安装内核的版本

dpkg --get-selections |greplinux-image

例如:

    linux-image-4.4.0-31-generic       install
    linux-image-4.4.0-34-generic        install
    linux-image-4.4.0-36-generic        install
    linux-image-extra-4.4.0-31-generic       deinstall
    linux-image-extra-4.4.0-34-generic       deinstall
    linux-image-extra-4.4.0-36-generic       install
    linux-image-generic               install

可以看到,一共安装了三个版本的内核,其中deinstall表示卸载残留
2)将两个不需要的内核同时卸载

sudo apt-get autoremove linux-image-4.4.0-31-generic linux-image-4.4.0-34-generic
autoremove

命令会自动解决相关依赖。
3)再次查询,结果如下:

    linux-image-4.4.0-31-generic       deinstall
    linux-image-4.4.0-34-generic        deinstall
    linux-image-4.4.0-36-generic        install
    linux-image-extra-4.4.0-31-generic       deinstall
    linux-image-extra-4.4.0-34-generic       deinstall
    linux-image-extra-4.4.0-36-generic        install
    linux-image-generic               install

不需要的内核已全部卸载完毕,只是还有残留。
4)将所有残留一次都清除掉

sudo dpkg -P linux-image-4.4.0-31-generic linux-image-extra-4.4.0-31-generic linux-image-4.4.0-34-generic linux-image-extra-4.4.0-34-generic

5)再次查询系统已安装的内核结果如下:

   linux-image-4.4.0-36-generic        install
   linux-image-extra-4.4.0-36-generic        install
   linux-image-generic               install

5.安装内核头文件
遇到错误Error!Your kernel headers for kernel 4.4.0-31-generic cannot be found,提示没有找到内核头文件
安装 :

 sudo apt-get install linux-headers-$(uname -r)

 

转载请注明出处。

你可能感兴趣的:(Linux)