Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

ステップバイステップガイド:LinuxでPCIスロット情報を確認する3つの方法

PCIスロットおよびPCI Expressスロットは、現代のコンピューターに広く普及しています。ネットブックやウルトラブックのような小型デバイス内部でもこのバスが利用されているため、思いがけない場面でスロット情報を確認する必要が生じることもあるでしょう。GNU/Linuxには、PCIスロットに関する詳細な情報を調べるためのコマンドがいくつか標準で用意されています。

これらのコマンドは、ネットワーク接続のトラブルシューティングに最適であるだけでなく、自作PCを組み立てる方や、機器の修理を行う技術者にとっても非常に有用です。

事前準備:ターミナルを起動する

PCIスロットの情報を確認するには、Linuxのコマンドライン上で作業する必要があります。グラフィカルデスクトップ環境では、Ctrl + Alt + Tを同時に押すことでシェルを起動できます。

また、「アプリケーション」メニューやWhiskerメニューから「システムツール」→「端末(Terminal)」を選択する方法もあります。Ubuntu Unityを使用している場合は、Dashで「terminal」と検索すればすぐに見つかります。ヘッドレスサーバーを運用している方は、仮想コンソールからも実行可能ですが、後述するコマンドは長めのため、シェルスクリプトにまとめておくと便利です。

方法1:lspciコマンドでPCIスロット情報を表示する

最も基本的な方法は、lspciコマンドを実行することです。ターミナルに「lspci」と入力してEnterキーを押すだけで、システムに接続されているすべてのデバイスに関する豊富な情報が一覧表示されます。

出力内容は多いため、ターミナルウィンドウからスクロールアウトしてしまうことがあります。スクロールバーやマウスホイール、タッチパッドを活用して、全体をじっくり確認するとよいでしょう。引数を指定せずに実行した場合、このコマンドはPCIバス経由で接続されたすべてのデバイスをリストアップします。大量のテキストが出力されますが、それだけ多くの情報を簡単に取得できる、非常に扱いやすいコマンドです。

方法2:grepでイーサネットコントローラーの情報を絞り込む

出力データ量が膨大な場合は、grepコマンドと組み合わせると作業が格段に楽になります。PCIスロットのインデックスを確認する際によく使われるテクニックの一つが、イーサネットコントローラーの情報だけを瞬時に抽出する方法です。ネットワーク機器に問題が発生しているときに特に役立ちます。

以下のコマンドを入力してEnterキーを押してください。

lspci -vmm | grep -B1 -A2 '^Class.*Ethernet'

このコマンドは長いため、手入力せずにコピー&ペーストするのがおすすめです。ターミナルへの貼り付けは、「編集」メニューから「貼り付け」を選択するか、Shift + Ctrl + Vを同時に押して行います。普段使い慣れているCtrl + Vは、ターミナルでは別の制御信号として解釈されるため機能しない点に注意してください。Enterキーを押すと、イーサネットアダプターに関する情報が表示されます。

表示される結果から、カードがどのスロットに装着されているのか、どのハードウェアベンダーが製造した製品なのかなどを確認できます。さらに、デバイス自体に関する詳細情報も併せて得られます。

方法3:dmidecodeで空きPCIスロットの数を確認する

ターミナルで次のコマンドを実行すると、システムに空きPCIスロットがいくつあるかを把握できます。

sudo dmidecode -t 9 | grep -A3 "System Slot Information" | grep -c -B1 "Available"

このコマンドも非常に長いため、繰り返し手入力するのは非効率です。先ほどと同様にコピーし、「編集」メニューからの「貼り付け」またはCtrl + Shift + Vでターミナルウィンドウに貼り付けて実行しましょう。

コマンドの先頭にsudoが付いている点に注目してください。PCIスロットの正確な一覧を列挙するにはroot権限が必要となるためです。実行するとパスワードの入力を求められ、その後に単一の数値が返されます。この数値は、物理的なPCIスロットが少ないシステムでは0や1程度ですが、一部のサーバーマシンでは8〜10に達することもあります。

仮想マシン環境での注意点

仮想マシン(VM)内でこれらのコマンドを実行すると、通常とは異なる、あるいは予期しない結果が表示されることがあります。多くのVMソフトウェアは一連のPCIスロットをエミュレートしますが、その具体的な値が実機の構成を正しく反映しているとは限らないため、解釈には注意が必要です。


著者について

Kevin Arrows(ケビン・アローズ)

Kevin Arrowsは、10年以上の業界経験を持つ高度な技術スペシャリストです。Microsoft Certified Technology Specialist(MCTS)の資格を保有し、最新の技術動向を追い続けることに強い情熱を注いでいます。ソフトウェア開発、サイバーセキュリティ、クラウドコンピューティングなど幅広い分野における専門知識を活かし、多数の技術記事を執筆しています。複雑な技術的概念を明快かつ簡潔に説明する能力で高く評価されており、その貢献は業界内で広く認められています。

  1. Linuxで「ifconfig: コマンドが見つかりません」エラーを解決する方法【クイックガイド】

    Linuxユーザーの多くは、ネットワークインターフェースを確認・変更する際に「ifconfig」コマンドを使用します。IPアドレスやハードウェアアドレス(MACアドレス)、MTUなどの情報を表示する目的でも広く使われています。しかし、「bash: /usr/sbin/ifconfig: No such file or directory」というエラーに直面するケースも少なくありません。このエラーは、システムにnet-toolsパッケージがインストールされていない場合によく発生します。さらに、必要なパッケージをインストールしても解決しないという声もあります。 ifconfigコマンドとは? if

  2. 【解決済み】「npm: コマンドが見つかりません」エラーの対処法(Linux・macOS・Windows対応)

    NPM(Node Package Manager)は、JavaScriptのパッケージとその依存関係を管理するためのツールです。開発者の間で頻繁に利用される数多くのコードを提供しており、Windows、Linux、macOSといったすべての主要プラットフォームで広く使われています。Linuxでは「command not found(コマンドが見つかりません)」というエラーが頻繁に発生します。主な原因は、システムに必要なコマンドが存在しないことです。「Command npm not found」というエラーも同様で、Node Package Managerがインストールされていない状態で「npm