新Linux入門|システム起動やハードウェアトラブルの確認に役立つdmesgコマンド

Linuxを使っていて、起動時やハードウェアの調子が悪いとき、
「何が起きているのか分からない…」と感じたことはありませんか?😅

そんなときに頼りになるのが、今回紹介する dmesg(display message)コマンド です!
これは、カーネル(Linuxの中核部分)から出力されるメッセージを確認できるツールで、
システムの起動状況・デバイスの認識・エラー発生などをチェックできます💡

🧠 dmesg コマンドとは?

 dmesg は “display message” の略で、カーネルが出力するリングバッファ(kernel ring buffer)に
記録されたメッセージを表示します。
 たとえば、システムが起動する際に「メモリの初期化」「ディスクの認識」「ドライバの読み込み」など、カーネルレベルの詳細な動作をリアルタイムで見ることができます✨

項目内容
コマンド名dmesg
意味display message(カーネルメッセージの表示)
用途起動時のログ、デバイス認識、ハードウェアエラーなどの確認
出力元カーネルリングバッファ(/dev/kmsg)

🧾 コマンド書式

dmesg [オプション]

dmesg は引数なしでも使えますが、オプションを指定することで表示形式を調整したり、
特定のメッセージだけを抽出することもできます。

🔍 主なオプション

オプション説明
-cカーネルバッファを表示した後、内容をクリアする。
-Hカラー付き・人間に読みやすい形式で出力する。
-l指定したログレベルのメッセージのみ表示(例:err, warn)
-n出力するログレベルを変更する。
-s表示バッファのサイズを指定
-Tタイムスタンプを人間が読みやすい形式で表示する。

💬 ポイント
システムトラブル時には dmesg -T | tail -n 20 で最近のカーネルイベントを確認するのがおすすめです👍

🚨 利用可能なログレベル(優先度)

ログレベル意味
emergシステムが利用不能な状態(緊急)
alertすぐに対処が必要な重大な問題
crit致命的なエラー
err一般的なエラー
warn警告(注意が必要)
notice特に問題はないが注目すべき情報
info通常の情報メッセージ
debugデバッグ向けの詳細メッセージ

🔎 例えば、ハードディスク関連のエラーは err や crit で出力されることが多いです。

💻 使用例と解説

① すべてのカーネルメッセージを表示

[suzuki@AlmaLinux ~]$ dmesg
[root@AlmaLinux ~]# dmesg
[    0.000000] Linux version 5.14.0-611.5.1.el9_7.x86_64 (mockbuild@x64-builder01.almalinux.org) (gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-11), GNU ld version 2.35.2-67.el9) #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025
[    0.000000] The list of certified hardware and cloud instances for Red Hat Enterprise Linux 9 can be viewed at the Red Hat Ecosystem Catalog, https://catalog.redhat.com.
[    0.000000] Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.14.0-611.5.1.el9_7.x86_64 root=/dev/mapper/almalinux_vbox-root ro resume=/dev/mapper/almalinux_vbox-swap rd.lvm.lv=almalinux_vbox/root rd.lvm.lv=almalinux_vbox/swap rhgb quiet crashkernel=1G-2G:192M,2G-64G:256M,64G-:512M
(省略)

→ システム起動から現在までの全カーネルメッセージを表示します。

② 最後の10行だけ表示

[root@AlmaLinux ~]# dmesg | tail
[    7.742931] 07:07:29.021457 main     7.1.10 r169112 started. Verbose level = 0
[    7.748266] 07:07:29.026738 main     vbglR3GuestCtrlDetectPeekGetCancelSupport: Supported (#1)
[    8.819162] e1000: enp0s3 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[   10.769416] block dm-0: the capability attribute has been deprecated.
[   13.295279] rfkill: input handler disabled
[   22.634343] rfkill: input handler enabled
[   24.327410] ISO 9660 Extensions: Microsoft Joliet Level 3
[   24.353142] ISO 9660 Extensions: RRIP_1991A
[   24.522497] rfkill: input handler disabled
[   79.296117] clocksource: Long readout interval, skipping watchdog check: cs_nsec: 6667722641 wd_nsec: 6667720636

→ 最新のカーネルイベントを簡単にチェックできます。

③ エラーメッセージだけを抽出

[root@AlmaLinux ~]# dmesg -l err
[    1.485529] systemd[1]: Invalid DMI field header.
[    3.040813] vmwgfx 0000:00:02.0: [drm] *ERROR* vmwgfx seems to be running on an unsupported hypervisor.
[    3.040815] vmwgfx 0000:00:02.0: [drm] *ERROR* This configuration is likely broken.
[    3.040817] vmwgfx 0000:00:02.0: [drm] *ERROR* Please switch to a supported graphics device to avoid problems.
[    4.659457] systemd[1]: Invalid DMI field header.

→ ハードウェアエラーやドライバの失敗などを確認する際に便利です。

④ タイムスタンプを人間が読みやすく表示

[root@AlmaLinux ~]# dmesg -T
[火 11月 25 16:07:21 2025] Linux version 5.14.0-611.5.1.el9_7.x86_64 (mockbuild@x64-builder01.almalinux.org) (gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-11), GNU ld version 2.35.2-67.el9) #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025
[火 11月 25 16:07:21 2025] The list of certified hardware and cloud instances for Red Hat Enterprise Linux 9 can be viewed at the Red Hat Ecosystem Catalog, https://catalog.redhat.com.
[火 11月 25 16:07:21 2025] Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.14.0-611.5.1.el9_7.x86_64 root=/dev/mapper/almalinux_vbox-root ro resume=/dev/mapper/almalinux_vbox-swap rd.lvm.lv=almalinux_vbox/root rd.lvm.lv=almalinux_vbox/swap rhgb quiet crashkernel=1G-2G:192M,2G-64G:256M,64G-:512M
[火 11月 25 16:07:21 2025] BIOS-provided physical RAM map:

📘 これで、「いつ」「どんなイベント」が発生したのかが直感的に理解できます。

🧰 dmesgを使ってトラブルを診断する場面

  • 💡 システムが起動しないとき → カーネルのロード状況を確認
  • 🔌 USBデバイスが認識されないとき → 接続イベントを確認
  • 💾 ディスクエラーが発生したとき → /dev/sda 関連のエラーを確認
  • 🧱 ネットワークアダプタが無効なとき → ドライバのロード状態をチェック

🌟 まとめ

  • dmesg は、カーネルメッセージを表示してシステムやハードウェアの状態を把握するための強力なツール。
  • /var/log/dmesg には、起動直後のカーネルメッセージが記録されている。
  • オプションを使えば、人間が読みやすい形式や特定レベルのログだけを抽出できる。

🧩 AlmaLinux 9.6 でも dmesg はトラブルシューティングの基本コマンドです。
ハードウェアトラブルや起動問題に直面したとき、まず最初に dmesg -T を試してみましょう😊