Linuxに接続したHDDを知る方法

バックアップ作業とかマウントとかで指定するんだけど・・・
どこだっけって探しまわるのも面倒なので、やり方をメモしておきます。

方法1:dmesgコマンドを使用


出力された結果をgrepします。

SATAの場合
1
$dmesg | grep sd
USB,PATAの場合
1
$dmesg |grep hd

方法2:dfコマンドを使用


自動マウントとかされている場合なんかだとこっちを使う

1
$df

結果を見れば、どのディスクがありどんなパーティションがあるか一目瞭然です。

方法3:/dev配下の内容+fdiskコマンドを使用


接続中のデバイスを知るには、lsコマンドで/dev配下を知ります。
以下の表のような感じになります。実際の割り当ては、OSやディストリに依存

パス 意味
/dev/hda IDEプライマリー(USB)のマスターディスク(hd以降は何が割り当てられるかはOS依存)
/dev/hda1 数字が付けば、パーティション
/dev/sda SATAもしくはSCSI
/dev/sda1 SATAもしくはSCSIのパーティション
/dev/md0 ソフトウェアRAID

接続中のデバイスがわかれば、以下のコマンドで詳細情報を得ます

1
$fdisk -l /dev/sda

方法4:/dev配下の内容+hdparmコマンドを使用


方法3と同じようにします。

1
$hdparm -i /dev/sda

fdiskがデバイスの情報に特化したものに対して、こっちは制御情報だったりステータスまで出てきます。

余談


単純にUSBで接続したディスクであれば、lsusbコマンドを使えばよかったりします。
ターゲットのディスクがわかれば、マウントも簡単になります。
マウントポイント(自分で決めて、作成する)を「/mnt/hdd」とした場合、以下のコマンドでマウント可能

1
$mount /dev/sda1 /mnt/hdd

自分は、方法1と方法3をよく使います。