Мне нужно узнать, является ли диск IDE или SATA (или что-то еще, возможно). Я знаю, что это устройство / dev / sda, поэтому я думаю, что это SATA, но не знаю, могу ли я быть уверен только по имени. Я попытался посмотреть dmesg, и он всегда говорит "SCSI", но я уверен, что это не так ...
Любые идеи?
Интересный вопрос. 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
Затем я нашел 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
которые затем можно было найти smartctl
или hdparm -i /dev/<your disk(s)>
чтобы согласовать серийный номер с устройством.
Я уверен, что кто-то со навыками написания сценариев оболочки l33t мог бы сделать все это в одной строке, но это должно быть довольно надежно. Если есть сомнения, я бы проверил серийный номер на веб-сайте производителя, как предложил Мэдхаттер.
Я бежал так же dmesg | grep -i SATA
в Ubuntu, запущенной на виртуальной машине VMware (которая обрабатывает виртуальные диски как SCSI) и сервере с дисками SCSI; оба ничего не вернули.
Один довольно надежный метод - использовать lshw для поиска номера модели, а затем поиск номера модели в Google, чтобы узнать, что это за тип устройства. Этот метод не работает, если диск находится в корпусе USB, некоторые контроллеры USB скрывают от вас информацию HD.
Итак, для этой системы вы должны выполнить поиск по ST31500341AS. и обнаружил, что это диск SATA емкостью 1,5 ТБ.
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
Посмотрите кабели / разъемы или посмотрите dmesg.
Вы не можете полагаться на / dev / hd для дисков PATA. Для современных систем все диски PATA / SATA будут отображаться как / dev / sd, потому что новый уровень ATA использует префикс sd. Вы увидите / dev / hd, только если ваша ОС использует старые устаревшие драйверы ATA.
MadHatter прав в том, что разница в обозначениях будет / dev / hdx по сравнению с / dev / sdx. Но самый верный способ - открыть корпус и посмотреть на кабель. Для этого необязательно выключать машину, в зависимости от системы, на которую вы смотрите, и от того, какое запутанное гнездо кабелей у вас есть вокруг корпуса.
Если систему можно перезагрузить, вы можете использовать Ultimate Boot CD для запуска диагностики жесткого диска, они обычно определяют тип и модель диска. Даже BIOS может сказать вам при перезагрузке, что это за диск.
Если бы это была IDE, она бы очень скорее всего будет отображаться как / dev / hda. Вы могли бы попробовать smartctl -a /dev/sda
который предоставит много информации, включая производителя и номер модели; Сделать перекрестную ссылку на сайте производителя обычно довольно просто.
Я понимаю, что этот пост старый (Linux теперь объединяет диски IDE / PATA с / dev / sd?), Но самый простой способ сделать это в настоящее время -
sudo hdparm -I /dev/sd? | grep 'sd.\|ATA'
Это дает следующий вывод для системы с одним диском SATA и одним диском PATA:
/dev/sda:
ATA device, with non-removable media
Transport: Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6
/dev/sdb:
ATA device, with non-removable media
Used: ATA/ATAPI-6 T13 1410D revision 3a
Если ты бежишь sudo hdparm -I /dev/sdX | grep Gen
, он должен выдать что-то вроде этого на диске SATA. У меня нет IDE или SCSI, с которыми я могу тестировать, но они должны отличаться, так как SATA имеет разные скорости.
`sudo hdparm -I / dev / sda | grep Gen
* General Purpose Logging feature set
* Gen1 signaling speed (1.5Gb/s)
* Gen2 signaling speed (3.0Gb/s)`