ブートローダーの設定を変更する

古都の老兵
2024-01-19
2024-01-19

はじめに

 KVM等で仮想化したVPSに仮想のベースOSからコンソールログインしたい場合、そのままではログインできません。またOS起動時や停止時も起動ログが流れなかったりとその辺りを何とかするにはブートローダーの設定変更が必要になります。
 ブートローダーの設定は2つの方法があり、/etc/default/grub を直接書き換えてgrub2-mkconfigコマンドで/boot/grub2/grub.cfgへ出力する方法、もう一つがgrubbyコマンドを使う方法です。今回はgrubbyコマンドを使った方法をご紹介します。

パラメータの追加

 パラメータを追加するには --args="<追加したいパラメータ>" を指定します。例えばVPSのシリアルコンソールを有効にするには以下の様にコマンドを実行します。

# grubby --update-kernel=ALL --args="console=tty0 console=ttyS0,115200"

 --update-kernel は複数のkernelバージョンがインストールされている場合に個別に指定する事もできますが、全てのバージョンに設定したい場合は ALL で問題ないでしょう。
 尚、console=tty0 はOSのブート時のコンソールへの出力を指定しています。設定していないとコンソールには起動中は何も出力されなくなってしまいますので指定しておきましょう。

パラメータの削除

 設定されているパラメータを削除したい場合は、--remove-args="<削除したいパラメーター>"を指定します。OS起動時のメッセージはディフォルトでは見えないようになっていますので、表示するようにしています。

# grubby --update-kernel=ALL --remove-args="rhgb quiet"

 パラメータの追加や削除は1度に指定する事ができます。

# grubby --update-kernel=ALL --remove-args="rhgb quiet" --args="console=tty0 console=ttyS0,115200"

最後に

 grub2-mkconfigでも同様の事ができますが、ファイルの編集が必要なので自動的に流すといった事が難しかったり(出来なくはないが)しますので、コマンドで完結するgrubbyも覚えておいても良いでしょう