升级ubuntu的内核
昨天linux启动失败,在grub选择另外一个内核版本后,启动成功。于是想到,如果这个版本也失败,岂不是需要重新安装?于是想到编译一个最新的内核,以备不时之需。
升级过程
参照了Terry_Eijsan的Ubuntu编译、更换、删除内核和木又啊的Ubuntu下编译内核。这里把主要步骤记录一下:
- 切记:确认硬盘大于30G的空余空间,如果磁盘空间过小,则无法完成编译 从www.kernel.org下载需要的linux内核源码
- 备份/boot/grub/grub.cfg文件,以防升级失败导致无法启动原来的内核
- 下载编译需要的工具,如果不知道下载那些工具,可以直接进行编译,在根据编译错误提示安装编译需要的工具 使用sudo apt
- update更新 使用#tar -jxvf linux-[version].tar.bz2解压下载的内核源码
- cd到linux源码路径,可以将/boot/config-[version]-generic文件拷贝到源码根目录,文件名修改为.config。这样,在使用$make
menuconfig时,基本不用做修改。 - $make menuconfig
- $make bzImage -j4
- $make modules
- $sudo make modules_install
- $sudo make install
- $sudo update-initramfs -u -k all
- $sudo update-grub2
重启后如果正常进入系统,则升级成功。
升级时遇到的问题及解决
- 磁盘空间不够,后来在移动硬盘上编译
- 运行menuconfig,之前没有安装libncurse
- 第一次没有做模块安装,在/lib/modules下没有对应版本路径,导致不能正常启动