kernel が認識しているかどうかを調べるためには?

dmesg コマンドを使いましょう!


起動時のログ

 Linux を起動させると、画面上にアルファベットの羅列が悩んでいくことに気づきます。早いマシンになればなるほど、何が表示されているか、読み切れない場合もあります。しかし、そう心配することはありません。起動してしまってから、内容を確認することは十分行えるのです。

dmesg コマンド

 起動後に、GNOME 端末などを開いて、dmesg と入力すると、アルファベットの羅列が画面を走ります。これは、起動時のログを表示しているものです。最近の高速なマシンではあっという間に流れてしまいますので、一画面毎に表示を停止させたくなります。これには、less コマンドとの組み合わせで実現します。

$ dmesg | less

 dmesg コマンドの後ろに縦棒(|)が増えています。これはパイプと呼ばれ、パイプの左側のコマンドの出力結果を、パイプの右側のコマンドの入力にする、という意味となります。従って、例示したコマンドでは、dmesg の出力結果を、less コマンドの入力とする、という意味になります。less コマンドは、ページャとも呼ばれ、テキストファイルの内容を、一画面毎に表示させるツールです。従って、dmesg コマンドの出力を一度ファイルに落として、less コマンドに与えることで、一画面ずつ確認することができます。

$ dmesg | grep Network
Intel(R) PRO/1000 Network Driver - version 7.2.7-NAPI
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, git-1.0.8
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection

 上記の例は、dmesg の出力結果から Network を含む行を抽出する、という操作になります。grep コマンドは、テキストファイルの内容から、指定した文字列を含む行を抽出するので、dmesg と組み合わせると、起動時のログの中から、特定のデバイスの組み込みができているかどうか、を確認することができます。kernel が NIC を見つけると、ログに Network という文字列が含まれていることが多いので、このようにして、組み込まれているかどうかを確認します。

 もう一つ、USB メモリを装着したはよいけれど、デバイス名がわからなくて mount できない、というような経験がありませんか?このような場合は、dmesg コマンドを実行すると、最終行近辺に、USB メモリを kernel がどのように認識しているか、のメッセージが表示されます。これを参考にして、デバイス名を知ることができます。起動後に追加装着したデバイスなども、kernel が正しく認識していれば、dmesg コマンドで確認できます。


Last Update is 2007/04/30. CopyRights Tazoe Kazuya 2007.