Wie kann ich feststellen, ob meine Festplatte PATA oder SATA ist?

8

Ich habe eine ATA-Festplatte in meinem Laptop, auf der Fedora 11, Kernel 2.6.30.10-105.2.23.fc11.i586 ausgeführt wird. Ich möchte die Festplatte hier aktualisieren (würde gerne eine SSD bekommen), aber ich habe vergessen, ob es sich um eine serielle ATA oder eine alte parallele ATA-Schnittstelle handelt. Ein Upgrade auf eine SSD ist nicht sinnvoll, wenn es sich um PATA handelt ...

Wie kann ich feststellen, ob die Festplatte über eine PATA- oder eine SATA-Schnittstelle verbunden ist?

Josh
quelle

Antworten:

7

So zeigen Sie die Gerätebeschreibung für den Controller an (unter der Annahme eines internen (PCI) Controllers), der normalerweise SATA für SATA-Controller enthält:

lspci -d $(cat /sys/block/sda/device/../../../vendor):$(cat /sys/block/sda/device/../../../device)

Wenn Sie weniger eingeben möchten lspci, erhalten Sie wahrscheinlich nur die Antwort auf einem Laptop, wenn Sie nur die Ausgabe von durchsuchen (viele Desktops verfügen über beide Arten von Schnittstellen, sodass Sie das Laufwerk nachschlagen müssen, an dem Sie interessiert sind).

Wenn Sie dadurch keine Antwort erhalten, können Sie sehen, welcher Treiber bereitgestellt wird sda(Sie können dann nachsehen, ob dieser Treiber für einen PATA- oder SATA-Controller vorgesehen ist):

readlink -f /sys/block/sda/device/../../../driver
Gilles 'SO - hör auf böse zu sein'
quelle
Super, danke! Der erste Befehl hat mich verwirrt, aber der zweite gut produziert /sys/bus/pci/drivers/pata_amd!
Josh
@ Gilles - Wenn Sie 2018 nach diesen Informationen suchen, funktioniert das oben Gesagte nicht (zumindest auf meinem Arch Linux-System). Die Pfade existieren nicht (keine vendorDatei usw.).
Sternenfrucht
@starfry In welchem ​​Bus ist es? Ich denke, meine Antwort funktioniert für jeden nicht-antiken Linux-Kernel, aber nicht für Geräte, die nicht mit einem ATA-Controller verbunden sind, der sich auf einem PCI-Bus befindet. Zum Beispiel bin ich mir nicht sicher, ob es für eine SSD funktionieren würde, abhängig vom Typ des Controllers.
Gilles 'SO - hör auf böse zu sein'
Kernel 4.15.3-2-ARCH, Gerätebeispiel pci-0000:00:1f.2-ata-1 . Doing ls /sys/block/sdc/device/../../../Ausbeuten ata_port firmware_node host2 link3 power uevent. Alle normalen rotierenden Festplatten an Standard-SATA-Ports eines 2009 i7-Motherboards.
Sternenfrucht
1

Update : Für die Aufzeichnung ist @ Gilles Antwort besser.

Wenn es sich um ein PATA (ide) -Laufwerk handelt, sehen Sie es unter /proc/ide. Hier ist mein IDE DVD-Laufwerk, zum Beispiel hier meine Ausgabe:

$ cat /proc/ide/hdb/model 
Optiarc CDRWDVD CRX890A

Wenn es sich um ein SATA-Laufwerk handelt, wird es unter angezeigt /proc/scsi. Sie könnten überrascht sein, es unter "scsi" zu finden. Ich vergesse den genauen Grund (das werde ich in einer anderen Frage stellen), aber ich denke, das liegt daran, dass SATA die SCSI-Treiber verwendet.

Hier ist eine Liste mit einem SATA-Laufwerk auf meinem System:

$ cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: WDC WD2500AAJS-6 Rev: 01.0
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Stefan Lasiewski
quelle
3
Dies ist nicht immer zuverlässig: Abhängig vom Treiber, der Kernelversion und den Kernelkompilierungsoptionen können einige SATA-Treiber als ide und einige PATA-Treiber als scsi angezeigt werden. Moderne Kernel neigen dazu, dass jeder Treiber scsi mit der generischen Festplattenschicht spricht, und das sehen Sie hier.
Gilles 'SO - hör auf böse zu sein'
Ja, sorry Stefan, das Laufwerk ist unter aufgeführt /proc/scsi/scsi, tatsächlich hat mein System nicht einmal /proc/ide... doch laut Gilles 'Antwort sieht es so aus, als wäre das Laufwerk tatsächlich IDE.
Josh
0

Sie können udev fragen:

$ udevadm info -q property /dev/sda | grep -Ee '^ID_(BUS|ATA_SATA)='

Wenn dieser Befehl ausgegeben wird ID_ATA_SATA=1, ist Ihr Laufwerk ein (natives) SATA-Laufwerk. Wenn dies nicht der Fall ist, aber ausgegeben wird ID_BUS=ata, ist Ihr Laufwerk ein PATA-Laufwerk. Wenn es keine ausgibt, ist Ihr Laufwerk etwas anderes.

user3840170
quelle
-2

lshw würde Ihnen die Details geben.

Bijit
quelle