新しいディストリビューションでのGRUBの取り扱い

今回は、grubbyを紹介します。【連載コラム:Linuxシステム管理標準教科書を読む(16)】

最終更新日:2024年11月13日

Linuxの基本的なスキルを習得したら、Linuxサーバーをシステムとして長期に運用管理していくためのスキルを身につけるのはいかがでしょうか。このコラムでは、「Linuxシステム管理標準教科書」の全体調整を担当した筆者が改めて大切なポイントを解説していきます。

教科書ではブートローダーとして古いGRUBの取り扱い方を解説していますが、新しいディストリビューションでは新しいGRUBをブートローダーとして利用しています。新しいGRUBでは直接設定ファイルを書き換えるのではなく、いくつかのツールを使用しますが、ここでは比較的簡単に扱えるgrubbyを紹介します。


現在の起動カーネルを確認する

grubbyを使って、現在使用している起動カーネルを確認します。

$ sudo grubby --default-kernel
/boot/vmlinuz-5.14.0-427.40.1.el9_4.aarch64

現在インストールされているカーネルは以下の通りです。

$ ls /boot/vmlinuz*
/boot/vmlinuz-0-rescue-f59020f0b4a641a287167e3e20613c38
/boot/vmlinuz-5.14.0-427.13.1.el9_4.aarch64
/boot/vmlinuz-5.14.0-427.40.1.el9_4.aarch64

レスキュー用と、2つのカーネルがインストールされており、新しいリリース番号のものが使われていることがわかります。

起動パラメータを確認する

カーネル以外の起動パラメータを確認します。
まず、起動インデックスを確認します。

$ sudo grubby --default-index
0

インデックス0の起動パラメータが使われているのがわかります。
では、起動パラメータの値を確認してみましょう。

$ sudo grubby --info=ALL
index=0
kernel="/boot/vmlinuz-5.14.0-427.40.1.el9_4.aarch64"
args="ro crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M rd.lvm.lv=almalinux/root rd.lvm.lv=almalinux/swap rhgb quiet $tuned_params"
root="/dev/mapper/almalinux-root"
initrd="/boot/initramfs-5.14.0-427.40.1.el9_4.aarch64.img $tuned_initrd"
title="AlmaLinux (5.14.0-427.40.1.el9_4.aarch64) 9.4 (Seafoam Ocelot)"
id="f59020f0b4a641a287167e3e20613c38-5.14.0-427.40.1.el9_4.aarch64"
index=1
kernel="/boot/vmlinuz-5.14.0-427.13.1.el9_4.aarch64"
args="ro crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M rd.lvm.lv=almalinux/root rd.lvm.lv=almalinux/swap rhgb quiet $tuned_params"
root="/dev/mapper/almalinux-root"
initrd="/boot/initramfs-5.14.0-427.13.1.el9_4.aarch64.img $tuned_initrd"
title="AlmaLinux (5.14.0-427.13.1.el9_4.aarch64) 9.4 (Seafoam Ocelot)"
id="f59020f0b4a641a287167e3e20613c38-5.14.0-427.13.1.el9_4.aarch64"
index=2
kernel="/boot/vmlinuz-0-rescue-f59020f0b4a641a287167e3e20613c38"
args="ro crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M rd.lvm.lv=almalinux/root rd.lvm.lv=almalinux/swap rhgb quiet"
root="/dev/mapper/almalinux-root"
initrd="/boot/initramfs-0-rescue-f59020f0b4a641a287167e3e20613c38.img"
title="AlmaLinux (0-rescue-f59020f0b4a641a287167e3e20613c38) 9.4 (Seafoam Ocelot)"
id="f59020f0b4a641a287167e3e20613c38-0-rescue"

カーネルが3つありましたが、それぞれのカーネルに対応する起動パラメータが3セット存在するのがわかります。そして、index=0の起動パラメータがデフォルトで呼び出されるわけです。

起動するカーネルを変更する

ここでは、古い方のカーネルでデフォルト起動するように変更してみます。

$ sudo grubby --set-default-index=1
The default is /boot/loader/entries/f59020f0b4a641a287167e3e20613c38-5.14.0-427.13.1.el9_4.aarch64.conf with index 1 and kernel /boot/vmlinuz-5.14.0-427.13.1.el9_4.aarch64

現在のカーネルを確認して、再起動します。

$ uname -a
Linux localhost.localdomain 5.14.0-427.40.1.el9_4.aarch64 #1 SMP PREEMPT_DYNAMIC Wed Oct 16 10:56:16 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
$ sudo reboot

再起動後、カーネルを確認します。

$ uname -a
Linux localhost.localdomain 5.14.0-427.13.1.el9_4.aarch64 #1 SMP PREEMPT_DYNAMIC Tue Apr 30 17:49:06 EDT 2024 aarch64 aarch64 aarch64 GNU/Linux

起動する際のデフォルトカーネルが変更になりました。

このように、ブートローダーの設定は、設定ファイルを直接修正するのではなく、grubbyのようなコマンドを通して修正するように変わっているので注意してください。


筆者紹介
宮原 徹 氏

宮原 徹 氏

株式会社びぎねっと

Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。

<Linuxシステム管理標準教科書とは>

Linuxシステム管理標準教科書」(システム管理教科書)は2015年4月にリリースされた標準教科書シリーズの1冊です。Linuxシステムの運用管理という観点で書かれており、システム管理者という業務において知っておかなければならない基本的なトピックが解説されています。「Linux標準教科書」「Linuxサーバー構築標準教科書」でコマンド操作やサーバー構築の基本を学んだら、このシステム管理教科書を読んで、単にLinuxを使うのではなく、システムとして長期的に管理運用していくためのスキルを身につけてください。

バックナンバー

第15回:DHCPについて
第14回:firewalldによるパケットフィルタリングの設定
第13回:パケットフィルタリングについて
第12回:各種ネットワーク設定ファイルについて(後編)
第11回:各種ネットワーク設定ファイルについて(前編)

ページトップへ