centos内核编译安装与grub2启动配置

内核编译与安装

make
make modules
make modules_install
make install

注意一定要先安装module,再安装kernel,因为安装kernel涉及到initramfs的安装,所以如果没有编译module就安装内核,可能会导致系统起不来。

grub2配置

配置文件:

/boot/grub2/grub.cfg
/boot/grub2/grubenv 

有些人会访问修改/etc/grub2.cfg,实际上它也是上面文件的链接:

ls -l /etc/grub2.cfg 
/etc/grub2.cfg -> ../boot/grub2/grub.cfg

grub2 不建议通过修改 grub.cfg 这个配置文件来配置grub2,而应该通过 /etc/default/grub 来做修改,然后执行grub2-mkconfig 来生成cfg文件。该工具会去分析 /etc/grub.d/ 里面的文件和/etc/default/grub,所以一般修改启动配置,需要使用如下两步:

vim /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg

如果默认启动项是saved代表使用 grub2-set-default 来设置默认启动项,它修改的文件实际上是:

/boot/grub2/grubenv

查看和设置默认启动项命令示例:

grub2-editenv list
grub2-set-default "Ubuntu (3.10.0-693_28.tl2)"

在我遇到的场景中,编译安装了内核,重启发现centos默认启动的并不是新安装的内核版本,查看grub.cfg发现在执行内核install安装时已经替我们更新好了该文件,只是默认启动项并没有更新,所以我们只需要使用grub2-set-default来更新一下默认启动项即可,而不用执行grub2-mkconfig再次更新cfg文件了,查看cfg文件找到我们新安装的内核对应的menuentry的名字,直接设置该名字即可。

你可能感兴趣的:(Linux笔记)