Linuxでのデバイス名、ディスクおよびパーティション情報のリスト(lsblkを使用)

Lsblk Featured

Linuxでは、時々コマンドラインからディスクやパーティションを直接操作する必要があります。通常、ファイルシステムに対して操作を行いたいのですが、それを行うためにはストレージされているパーティションを指定します。コマンドラインでは、これらをデバイス名(例えば「/dev/sda3」)を用いて参照します。

多くのディスク、パーティション、光学ドライブ、USBドライブを持つシステムでは、それぞれに割り当てられたデバイス名を特定するのが難しいことがあります。

関連記事: Linuxでの最も便利なdu(ディスク使用量)コマンド

lsblkコマンドの機能は?

lsblkはストレージデバイスに関する情報を表示します。このユーティリティは、次のコマンドに渡すための適切なデバイス名を特定するのに最もよく使用されます。

lsblk

Lsblk Without Parameters

ほとんどの場合、追加のパラメータなしでlsblkを使用するだけで、操作したいディスクやパーティションを特定できます。例えば、上の画像から「sda4」はWindowsのパーティションであることが分かりますが、その理由はサイズが約200GBであることを知っているからです。しかし、同じサイズのパーティションが2つ以上ある場合は、混乱することがあります。場合によっては、特定のディスクやパーティションのサイズを単純に知らない、または思い出せないこともあります。

Linuxでは、デバイス名を混同するのは危険です。誤ったコマンドによって有用なデータを破壊したり損なったりすることがあります。

有用なlsblkパラメータ

デフォルトでは、lsblkは上の画像で見たように、いくつかのプロパティのみを表示します。しかし、コマンドにパラメータを追加すると、追加のデバイスプロパティを出力することができます。これにより、探しているディスクやパーティションを特定しやすくなります。

SSDまたはハードディスク(HDD)かどうかを確認する

lsblkが表示できる追加の列を確認するには、次のコマンドを入力します:

lsblk --help

このシナリオでは、ROTAとDISC-GRANを使用します。ROTAは、ブロックデバイスが回転ストレージデバイスに属するかどうかを示します。ハードディスクは回転しているため、この列は「1」を出力します(真を意味するバイナリ論理値)。DISC-GRANは、ディスカードの粒度を示します。SSDは未使用のデータブロックを解放するためにディスカードをサポートします。ハードディスクはこの機能を必要としないため、この列は「0B」、つまりゼロバイトのディスカード粒度を表示します。

lsblk -o +ROTA,DISC-GRAN

Lsblk Show Ssds And Hard Disks

関連記事: プロセスを終了するためのLinuxでのpsコマンドの使用方法

ディスク/パーティションに保存されたファイルシステムを表示する

パーティションのリストを見ると、それぞれが何を保存しているかのサイズだけで判断できることがあります。これだけでは不十分な場合、lsblkにファイルシステムを出力させることができます。以下の理由から、これによってパーティションを特定するのがはるかに簡単です:

  • WindowsはNTFSファイルシステムを使用します
  • Linuxは通常ext4を使用します
  • USBデバイスはFAT、FAT32(vfat)またはNTFSを使用します
  • EFIブートパーティションは通常非常に小さく、vfatファイルシステムが表示されます

また、パーティションが作成/フォーマットされた際にラベル付けされている場合に役立つLABEL出力列も追加します。

lsblk -o +FSTYPE,LABEL

リムーバブルデバイス/USBメモリスティックを表示する

lsblk -o +RM

は、デバイスがリムーバブルであるかどうかを示す追加の列を表示します。「1」の値は「真」を意味し、USBスティックやその他のタイプのリムーバブルメディアを示します。

HDD/SSDモデルを表示する

これは、ストレージデバイスモデルの正確なコードを調べてファームウェアをアップグレードしたり、ドライバをダウンロードしたりする際に便利です。

lsblk -d-o +MODEL

ファイルシステムUUID(ユニバーサル一意識別子)を表示する

古いLinuxディストリビューションは、「/etc/fstab」にデバイス名を指定してファイルシステムをマウントしました。しかし、それは信頼性が低く、別のストレージデバイスをシステムに追加すると「/dev/sda2」が「/dev/sdb2」になる可能性があります。現在では、UUIDが使用されており、コンピュータに追加/削除するものに関係なく一定です。UUIDが必要な理由に応じて、lsblkに表示させることができます。

lsblk -o +UUID

必要な他のlsblk列を表示する

チュートリアルの最初で、次のコマンドを使用しました:

lsblk --help

lsblkが表示できる追加の列を確認しました。ここでの例が必要に十分でない場合は、そのヘルプ情報を再度参照し、必要に応じてパラメータを組み合わせてください。そうするには、ただlsblk -o +の後に出力したい列名を続けて入力します。列名はカンマ(「,」)で区切ります。例えば:

lsblk -o +SCHED,RM,FSTYPE

結論

作業するデバイス名を特定した後は、次に使用するコマンドでフルデバイスパスに置き換えることを忘れないでください。例えば、lsblkの結果で「sda4」を得た場合は、次のコマンドで「/dev/sda4」に置き換える必要があります。したがって、「sda4」の代わりにコマンドの中で「/dev/sda4」と入力します。例えば、mkfs -t ext4 /dev/sda4のように。

関連記事: Linuxでハードドライブ全体をクローンする4つの方法