找出磁盘是IDE还是SATA

cd1*_*cd1 7 hard-drive sata ide device

我需要确定磁盘是 IDE 还是 SATA(或其他任何东西,也许)。我知道设备是/dev/sda,所以我认为它是SATA,但我不知道仅凭名称是否可以确定。我尝试查看 dmesg,它总是说“SCSI”,但我确定它不是...

有任何想法吗?

gra*_*ace 13

有趣的问题。 dmesg如果它是 SATA 驱动器,应该有这样的东西:

 dmesg | grep -i SATA
 [    3.972803] ata3: SATA max UDMA/133 cmd 0xe800 ctl 0xe400 bmdma 0xd800 irq 18
 [    3.972807] ata4: SATA max UDMA/133 cmd 0xe000 ctl 0xdc00 bmdma 0xd808 irq 18
Run Code Online (Sandbox Code Playgroud)

然后我搜索了dmesg“ata3”的输出并找到了序列号:

dmesg | grep -in ata3
397:[    3.972803] ata3: SATA max UDMA/133 cmd 0xe800 ctl 0xe400 bmdma 0xd800 irq 18
409:[    4.183701] ata3.00: ATA-7: ST3160812AS, 3.ADH, max UDMA/133
410:[    4.183706] ata3.00: 312500000 sectors, multi 16: LBA48 NCQ (depth 0/32)
411:[    4.267004] ata3.00: configured for UDMA/133
Run Code Online (Sandbox Code Playgroud)

然后可以查找smartctlhdparm -i /dev/<your disk(s)>将串行与设备匹配。

我确信具有 l33t shell 脚本技能的人可以在一行上完成所有这些,但这应该非常可靠。如果有任何疑问,我会按照 Madhatter 的建议在制造商的网站上检查序列号。

我在dmesg | grep -i SATAVMware 虚拟机(将虚拟驱动器视为 SCSI)和带有 SCSI 磁盘的服务器上运行的 Ubuntu 上运行相同的程序;两者都没有返回。


Zor*_*che 5

一种相当可靠的方法是使用 lshw 查找型号,然后在 Google 上查找型号以了解它是什么类型的设备。如果驱动器位于 USB 外壳中,则此方法不起作用,某些 USB 控制器会向您隐藏 HD 信息。

因此,对于该系统,您可以搜索ST31500341AS。并发现它是一个 1.5TB SATA 驱动器。

root@pabil:# lshw -class disk
  *-disk:0                
       description: ATA Disk
       product: ST31500341AS
       vendor: Seagate
       physical id: 0
       bus info: scsi@0:0.0.0
       logical name: /dev/sda
       version: CC1H
       serial: 9VS0R1WB
       size: 1397GiB (1500GB)
       capabilities: partitioned partitioned:dos
       configuration: ansiversion=5 signature=000473f5
Run Code Online (Sandbox Code Playgroud)


Mad*_*ter 2

如果是 IDE,可能会显示为 /dev/hda。你可以尝试一下, smartctl -a /dev/sda它会产生很多信息,包括制造商和型号;在制造商的网站上交叉引用通常相当简单。