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)
然后可以查找smartctl
或hdparm -i /dev/<your disk(s)>
将串行与设备匹配。
我确信具有 l33t shell 脚本技能的人可以在一行上完成所有这些,但这应该非常可靠。如果有任何疑问,我会按照 Madhatter 的建议在制造商的网站上检查序列号。
我在dmesg | grep -i SATA
VMware 虚拟机(将虚拟驱动器视为 SCSI)和带有 SCSI 磁盘的服务器上运行的 Ubuntu 上运行相同的程序;两者都没有返回。
一种相当可靠的方法是使用 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)
如果是 IDE,很可能会显示为 /dev/hda。你可以尝试一下,
smartctl -a /dev/sda
它会产生很多信息,包括制造商和型号;在制造商的网站上交叉引用通常相当简单。