ひさびさ更新。
今回は、HDDデバイス名をdmesgコマンドで調べる時の事を考えてみます。
dmesgで出力されるメッセージは結構長いので、grepなどの検索を利用したいのですが、HDDがPATA(=IDE)接続のときと、SATA接続のときで、検索パターンを変えないといかんです。そのパターンについて以下に記述。
なお、以下の方法はLinux Kernel2.6系の話です。
Linux Kernel2.4系だと、SATAもhdaとかで認識するらしいので。
* HDDがPATAの場合
dmesg | grep hdを使います。
$ dmesg | grep hd ide0: BM-DMA at 0x1810-0x1817, BIOS settings: hda:DMA, hdb:pio hda: TOSHIBA MK4025GASL, ATA DISK drive hda: max request size: 128KiB hda: 78140160 sectors (40007 MB), CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 SCSI device sda: 40088160 512-byte hdwr sectors (20525 MB) SCSI device sda: 40088160 512-byte hdwr sectors (20525 MB)
hda: TOSHIBA MK4025GASL, ATA DISK drive
っていうところで、型番がわかります。
* HDDがSATA接続の場合
HDDはsd~で認識されるので、dmesg | grep sd としたいところですが、
それだと型番が表示されません。とはいえ、grep sdで引っかかる行の直前に型番が表示されるので、
dmesg | grep -B 5 sd
として、grepでマッチした行の前5行分も表示すると良いでしょう。lessで見ながら検索するのもお勧め。
$ dmesg | grep -B 5 sd ata1.00: ATA-8: Hitachi HDP725050GLA360, GM4OA52A, max UDMA/133 ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32) ata1.00: configured for UDMA/133 Vendor: ATA Model: Hitachi HDP72505 Rev: GM4O Type: Direct-Access ANSI SCSI revision: 05 SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: drive cache: write back SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: drive cache: write back sda: sda1 sda2 sda3 sd 0:0:0:0: Attached scsi disk sda -- ata4.00: configured for UDMA/133 Vendor: HL-DT-ST Model: DVDRAM GH20NS10 Rev: EL00 Type: CD-ROM ANSI SCSI revision: 05 Vendor: ATA Model: ST3750640AS Rev: 3.AA Type: Direct-Access ANSI SCSI revision: 05 SCSI device sdb: 1465149168 512-byte hdwr sectors (750156 MB) sdb: Write Protect is off sdb: Mode Sense: 00 3a 00 00 SCSI device sdb: drive cache: write back SCSI device sdb: 1465149168 512-byte hdwr sectors (750156 MB) sdb: Write Protect is off sdb: Mode Sense: 00 3a 00 00 SCSI device sdb: drive cache: write back sdb: unknown partition table sd 3:0:0:0: Attached scsi disk sdb -- ...
まず、注目する箇所は以下、
Vendor: ATA Model: Hitachi HDP72505 Rev: GM4O
Type: Direct-Access ANSI SCSI revision: 05
自分の経験上、Vendor: ATA, Type: Direct-AccessだとHDDなのだと思います。
型番はModel: ~ と出力されるのですが、場合によって型番の末尾が省略されるので注意です。
今回の場合、型番の正式名称は、
ata1.00: ATA-8: Hitachi HDP725050GLA360, GM4OA52A, max UDMA/133
の行のHDP725050GLA360になります。
もうひとつのHDDは省略されておらず、
Vendor: ATA Model: ST3750640AS Rev: 3.AA
Type: Direct-Access ANSI SCSI revision: 05
から、ST3750640ASになります。
SATA HDDがsda等として認識される理由 (SCSIに見える理由)
http://okwave.jp/qa3351535.htmlより引用:
カーネルのファイルシステムの階層構造の問題で,
SATAの最下層のデバイスドライバsata-strageなどがその上位のプロトコルドライバとしてscsi_modを指定しているためです。
つまりアプリから見るとSCSIディスクにみえるのはsata-strageがSCSIプロトコルをエミュレーションしているためです。
これに対してIDEデバイスはディスクドライバとしてide-diskなどがありますからちゃんとIDEに見えます。
USBメモリなども同じ理由でSCSIに見える場合が多いと思います。
HDDインターフェイスの名称
Wikipediaによると、
HDDインターフェイスの名称は出現年の古い順に
IDE(製品会社独自の規格名) -> ATA(統一規格名) -> SATA(統一規格名)、PATA(=ATA)
っていうことらしい。
IDEをベースにATA規格ができたから、IDE = ATAと呼ばれるようになったようです。
その後、新規格のSATAが出てきて、昔のATAをPATAと呼ぶようになったと。