[关闭]
@breakerthb 2017-07-03T09:48:01.000000Z 字数 1825 阅读 2265

Ubuntu内核管理

Linux


Ubuntu 内核管理

1. 下载

1.1 deb文件

下载路径:http://kernel.ubuntu.com/~kernel-ppa/mainline/

找到需要版本目录,下载三个文件:

1.2 apt-get下载源码

依赖包

$ apt-get install dpkg-dev

有了这个包,下载的源码才能被解压

$ apt-get install linux-source #下载当前版本的kernel源码
    $ apt-get source linux-image-3.13.0-29-generic # 下载对应内核版本源码

2. 安装

2.1 deb安装

执行命令

$ sudo dpkg -i linux-headers-4.2.0-040200_4.2.0-040200.201510260713_all.deb linux-headers-4.2.0-040200-generic_4.2.0-040200.201510260713_amd64.deb linux-image-4.2.0-040200-generic_4.2.0-040200.201510260713_amd64.deb 

$ sudo update-grub

更新grub引导装入程序。

2.2 源码安装

依赖安装

$ apt install libncurses5-dev

源码编译

$ cd linux-4.4.2
    $ make menuconfig

直接Select -> Save,之后编译

$ make -j64
    $ make modules_install install

3. 修改内核启动顺序

$ grep menuentry /boot/grub/grub.cfg

假设你要以4.4.0-21内核版本启动,则修改文件/etc/default/grub

$ vi /etc/default/grub

GRUB_DEFAULT=0 

改为

GRUB_DEFAULT=6

或者改为

GRUB_DEFAULT="Ubuntu,Linux 4.4.0-21-generic"

使生效

$ sudo update-grub

4. 重启系统

重启后验证

$ uname -r

5. apt-get 安装

搜索可用的内核升级:

$ apt-cache showpkg linux-headers
    $ apt-cache showpkg linux-image

显示很多的内核 比如你选择内核是2.6.39.0,运行命令 安装内核2.6.39.0

$ sudo apt-get install linux-headers-2.6.39-0-generic linux-image-3.13.0-24-generic linux-image-extra-3.13.0-24-generic --fix-missing

最后,重新启动系统并查看系统内核版本

6. 删除旧内核

1.找出系统已经安装的内核版本,在终端里输入命令:

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

然后会显示系统中已安装的内核,例如:

linux-image-2.6.38-10-generic instal
linux-image-2.6.38-8-generic install
linux-image-2.6.35-22-generic install
linux-image-generic install

2.卸载旧的内核版本,在终端里输入命令:

$ sudo apt-get remove linux-image-2.6.35-22-generic linux-image-2.6.38-8-generic

此时:

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

的结果为deinstall,执行下面语句删除:

$ sudo aptitude purge linux-image-2.6.35-22-generic

Grub手动引导

如果每次开机都进入grub命令行,安装grub2进行重新引导:

$ apt install grub2

常见问题

1. 重启后没有选择内核界面

$ vi /etc/default/grub

修改

GRUB_TIMOUT=10

$ sudo update-grub

或开机一直按shift

2. 内核无法启动

$ grep menuentry /boot/grub/grub.cfg

如果没有新安装的内核,执行:

$ sudo vi /etc/default/grub

前两行修改如下:

GRUB_DEFAULT=1>2
#GRUB_HIDDEN_TIMEOUT=0

最后执行:

$ sudo update-grub2
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注