dmesg でブートログを調査する
この最後のステップでは、dmesg
コマンドを使用してカーネルリングバッファのメッセージを見ていきます。カーネルリングバッファは、ハードウェア検出、デバイスドライバ、およびブートプロセス中に発生するシステムイベントに関する情報を含む、カーネルからのメッセージを格納します。
dmesg
コマンドは、これらのメッセージを表示するために使用されます。これは、ハードウェア問題の診断やシステム起動時に何が起こったかを理解するための重要なツールです。
ターミナルが開いていない場合は、開きましょう。
次のコマンドを入力して Enter キーを押します。
dmesg
このコマンドは、非常に長いメッセージのリストを出力する可能性があります。これらのメッセージは、カーネルが初期化され、システムのハードウェアやソフトウェアと相互作用する際に生成されます。
次のような出力が表示されます(正確な出力は大きく異なります)。
[ 0.000000] Linux version ... (buildd@lcy02-amd64-...) (gcc-...) #...-Ubuntu SMP ...
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-... root=UUID=... ro console=ttyS0,... quiet splash vt.handoff=7
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
...
[ 1.234567] usbcore: registered new interface driver usbfs
[ 1.234567] usbcore: registered new interface driver hub
[ 1.234567] usbcore: registered new device driver usb
...
出力には、/proc/cmdline
で見たのと同様に、カーネルバージョンとコマンドライン引数が含まれていることに注意してください。
dmesg
の出力は膨大になる可能性があるため、less
や more
などのページャーにパイプして、画面ごとに表示することがよく行われます。
このコマンドを試してみましょう。
dmesg | less
これで、矢印キーを使って出力を上下にスクロールできます。q
を押すと less
を終了します。
また、grep
を使用して出力をフィルタリングし、「error」やハードウェアデバイスの名前などの特定のキーワードを検索することもできます。
たとえば、USB デバイスに関連するメッセージを表示するには、次のようにします。
dmesg | grep -i usb
このコマンドは、「usb」を含む行のみを表示します(-i
フラグにより大文字小文字を区別しません)。
dmesg
の出力を調査することは、Linux システム管理とトラブルシューティングにおける基本的なスキルです。
Continue をクリックして、この実験を完了します。