必須HDDデバイスのリスト(マイOS HDDを除く)

必須HDDデバイスのリスト(マイOS HDDを除く)

私のシステムに接続されているOS実行デバイスを除くフルHDDデバイスを一覧表示したいと思います。私は多くのインターネット検索を行い、Linuxのコマンドラインでより多くのコマンドを実行しました。ただし、正しい出力をゲートできません。

1つのコマンドで、OSデバイスを含むすべてのデバイスを提供できます。

fdisk -l 2>/dev/null | grep "Disk \/" | grep -v "\/dev\/md" | awk '{print $2}' | sed -e 's/://g'

出力:

/dev/sda
/dev/sdb
/dev/sdc

「OS HDD」とは、ファイルシステムパーティションを保持するハードドライブを意味します/

答え1

df /ルートファイルシステムが存在するブロックデバイスを表示します。次のように解析できます。

root_device=$(df -P / | awk 'NR!=1 {print $1}')

LVMまたはRAIDなしでPCパーティションを使用する場合、ルートデバイスは/dev/hdZ9または/dev/sdZ9whereZはディスクを指定する小文字、および9パーティションを指定する数値です。次のようにディスク部分を抽出できます。

root_disk=${root_device#[0-9]}; root_disk=${root_disk#[0-9]}

ディスクおよび他のブロックデバイスの完全なリストはで見つけることができます/sys/block

RAID、LVMなどを使用すると、非常に複雑になる可能性があります。プログラムが何をしても、考えていないハードウェア構成では機能しません。したがって、徹底的なエラーチェックを実装する必要があります。

関連情報