ブロックデバイスのどれがハードドライブであるかを検出するのに問題があります。私のシステムには、CD-ROMドライブ、USBドライブ、およびベンダー/タイプ不明の単一のハードドライブがあります。
Linuxコマンド、スクリプト、またはCアプリケーションでハードドライブを識別するにはどうすればよいですか?
Sudo lshw -class disk
システムで利用可能なディスクが表示されます
Shuttle87が指摘したように、この質問に答える他の投稿がいくつかあります。私が好む解決策は次のとおりです。
root# lsblk -io NAME,TYPE,SIZE,MOUNTPOINT,FSTYPE,MODEL
NAME TYPE SIZE MOUNTPOINT FSTYPE MODEL
sdb disk 2.7T WDC WD30EZRX-00D
`-sdb1 part 2.7T linux_raid_member
`-md0 raid1 2.7T /home xfs
sda disk 1.8T ST2000DL003-9VT1
|-sda1 part 196.1M /boot ext3
|-sda2 part 980.5M [SWAP] swap
|-sda3 part 8.8G / ext3
|-sda4 part 1K
`-sda5 part 1.8T /samba xfs
sdc disk 2.7T WDC WD30EZRX-00D
`-sdc1 part 2.7T linux_raid_member
`-md0 raid1 2.7T /home xfs
sr0 rom 1024M CDRWDVD DH-48C2S
参照:
もっともらしいブロックデバイスのリストがある場合、ファイル
/ sys/block/[blockdevname]/removable
デバイスが取り外し可能な場合は「1」、取り外しできない場合は「0」が含まれます。