dmesg
でブートローダーのログを調査する
前のステップでは、GRUB の設定ファイルを見ました。次に、ブートプロセス中にカーネルが生成したメッセージを調べましょう。これらのメッセージはバッファに保存されており、dmesg
コマンドを使用して表示できます。
dmesg
(診断メッセージバッファ)は、カーネルのメッセージバッファを出力するコマンドです。システム起動時に生成されるハードウェアデバイス、デバイスドライバ、その他のカーネル関連のメッセージが含まれています。これは、ブート問題のトラブルシューティングに役立つツールです。
ターミナルに次のコマンドを入力して Enter キーを押します。
dmesg
これにより、システム起動以来のすべてのカーネルメッセージが大量のテキストとして出力されます。出力が多すぎて圧倒的に感じることがあるので、通常はフィルタリングするか、less
のようなページャーにパイプして画面ごとに表示します。
ブートローダーまたは初期ブートプロセスに関連するメッセージを見るには、「GRUB」、「boot」、「kernel command line」などのキーワードを探すことができます。
grep
を使用して出力をフィルタリングし、「Command line」を含む行を探してみましょう。
dmesg | grep "Command line"
|
記号はパイプと呼ばれます。左側のコマンド (dmesg
) の出力を受け取り、右側のコマンド (grep
) の入力として送ります。grep
はテキストパターンを検索する強力なツールです。この場合、「Command line」というフレーズを含む行を検索しています。
次のような出力が表示され、ブートローダーが渡したカーネルコマンドラインパラメータが示されます。
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-... root=UUID=... ro quiet splash
この行は、ブートされるカーネルイメージ (/boot/vmlinuz-...
) とカーネルパラメータ (root=UUID=... ro quiet splash
) を示しています。これらのパラメータは、前のステップで見た /etc/default/grub
ファイルで設定されることが多いです。
dmesg
を調査することは、ブートプロセス中に発生する問題を診断するために不可欠です。なぜなら、カーネルが最初から何をしているかに関する詳細な情報を提供するからです。
Continue をクリックしてこの実験を完了しましょう。