2011-08-18 4 views
23

ブロックデバイスのどれがハードドライブであるかを検出するのに問題があります。私のシステムには、CD-ROMドライブ、USBドライブ、および未知のベンダー/タイプのハードドライブが1つあります。すべてのハードドライブをLinuxシステムに一覧表示

linuxコマンド、スクリプト、またはCアプリケーションでハードドライブを識別するにはどうすればよいですか?

+0

のRel evant:http://unix.stackexchange.com/questions/4561/how-do-i-find-out-what-hard-disks-are-in-the-system – shuttle87

答えて

24

はshuttle87が指摘したように、この質問に答えるのいくつかの他の記事があるあなたのシステム

+0

興味深い...私はこのlshwプログラムについて聞いていない。それは標準インストールの一部ですか?私のDebianサーバはそれを持っていません。私はFreeBSDのインストールもしていませんが(彼がLinuxを要求しているので、BSDはカウントしません) –

+0

@Aleks G:Debianのインストールが古くなっている可能性があります:http://packages.debian.org/search?keywords=lshw – janneb

+0

debianは間違いなく古くなっています。これは、約1年前に専用サーバー上のホスティング会社によって提供された標準インストールでした。しかし、標準インストールにそれが含まれていないと、それに頼ることができないという問題があります。 –

0

あなたがもっともらしいブロックデバイスのリストを持っている場合は、デバイスが取り外し可能である場合、そのファイル

/SYS /ブロック/ [blockdevname] /リムーバブル

は、 "0" "1" が含まれていますが取り外しできない場合。

+0

exteranl USBハードドライブは取り外し可能ですが、それからシステムを起動することができるので、この場合、「リムーバブル」のチェックでは十分ではないかもしれません。 –

+0

はい、わかっています。私はOPのインストールが(内部、取り外し不能な)ハードドライブに行き、プラグインされたUSBスティックを再フォーマットしないことを望んでいると思う(おそらくインストールプログラムがそこにあるからだ) .. – janneb

+0

USBスティックとUSBハードドライブの違いがあります。たとえば、Windows上では、異なるアイコンで表示されます。彼がインストールされたUSBスティックを再フォーマットすることに関心があるなら、おそらく明示的に特定のデバイスをリストから削除することができます。彼は自分自身の実行プログラムのパスを知っているので、対応するデバイスの/ etc/mtabをチェックし、それをリストから除外します。 –

5

で利用可能なディスクが表示されます。私が好む解決策は以下のとおりです。

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 

参考文献:

関連する問題