Posted at

CentOS 7でデフォルトのカーネルを変更・指定する

More than 3 years have passed since last update.

CentOS 7でカーネルをビルドする機会があったので、デフォルトのカーネルを変更する方法をメモしておきます。テキストエディタでgrub.cfgを編集するものだとすっかり思い込んでたのでしばらくgrub.cfgをじーーっと眺めてたのですが、調べてみたところ準備されているgrub2-set-defaultコマンドで変更できます。

手順は下記の通りです。


注意: カーネル周りの設定を変更する際は変更後の再起動に失敗する恐れもありますので、十分注意して下さい。



現在のデフォルトを調べる

[root@host ~]# grub2-editenv list

saved_entry=CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)


カーネルのリストを表示する

[root@host ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

0 : CentOS Linux (3.10.0-327.3.1.el7.x86_64.debug) 7 (Core)
1 : CentOS Linux (3.10.0-327.3.1.el7_lustre.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-6eb4b54119134fe79ebe5bf35fbf8018) 7 (Core)


利用したいカーネルをデフォルトに設定する

例えば1 : CentOS Linux (3.10.0-327.3.1.el7_lustre.x86_64) 7 (Core)に変更する場合は下記の通りです。

[root@host ~]# grub2-set-default 1

[root@host ~]# grub2-editenv list
saved_entry=1


NOTE: カーネルのリストが0(ゼロ)から始まっている点に気をつけて下さい。



再起動して確認する

再起動してログインすると、下記のように指定したカーネルになっていることが確認できると思います。

[root@host ~]# uname -r

3.10.0-327.3.1.el7_lustre.x86_64


参考リンク