Bagaimana saya bisa tahu apakah hard drive saya adalah PATA atau SATA?


8

Saya memiliki hard disk ATA di laptop saya, menjalankan Fedora 11, kernel 2.6.30.10-105.2.23.fc11.i586. Saya mencari untuk meng-upgrade disk di sini (akan senang mendapatkan SSD) tapi saya lupa apakah itu serial ATA atau antarmuka ATA paralel lama. Tidak banyak menggunakan peningkatan ke SSD jika itu PATA ...

Bagaimana saya bisa tahu jika disk terhubung melalui PATA atau antarmuka SATA?

Jawaban:


7

Untuk melihat deskripsi perangkat untuk pengontrol (dengan asumsi pengontrol internal (PCI)), yang biasanya berisi pengontrol SATA untuk SATA:

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

Jika Anda ingin mengetik lebih sedikit, hanya menjelajah output dari lspcikemungkinan memberikan jawaban di laptop (banyak desktop memiliki kedua jenis antarmuka sehingga Anda harus mencari drive yang Anda minati).

Jika itu tidak memberi Anda jawaban, untuk melihat driver apa yang menyediakan sda(Anda kemudian dapat mencari apakah driver itu untuk PATA atau pengontrol SATA):

readlink -f /sys/block/sda/device/../../../driver

Keren terima kasih! Perintah pertama membingungkan saya tetapi yang kedua diproduksi dengan baik /sys/bus/pci/drivers/pata_amd!
Josh

@Gilles - Mencari informasi ini pada tahun 2018, hal di atas tidak berfungsi (setidaknya pada sistem Linux Arch saya). Path tidak ada (tidak ada vendorfile, dll).
Starfry

@ starfry Ada bus apa? Saya pikir jawaban saya berfungsi untuk kernel Linux non-antik, tetapi tidak akan bekerja untuk perangkat yang tidak terhubung ke ATA controller yang ada di bus PCI. Misalnya saya tidak yakin apakah itu akan berfungsi untuk SSD, tergantung pada jenis pengontrolnya.
Gilles 'SANGAT berhenti menjadi jahat'

kernel 4.15.3-2-ARCH, contoh perangkat pci-0000:00:1f.2-ata-1 . Melakukan ls /sys/block/sdc/device/../../../hasil ata_port firmware_node host2 link3 power uevent. Semua hard drive berputar normal pada port SATA standar pada motherboard i7 2009.
starfry

1

Pembaruan : Sebagai catatan, jawaban @Gilles lebih baik.

Jika ini adalah drive PATA (ide), maka Anda akan melihatnya di bawah /proc/ide. Inilah IDE DVD-Drive saya, misalnya, inilah output saya:

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

Jika ini adalah drive SATA, itu akan muncul di bawah /proc/scsi. Anda mungkin terkejut menemukannya di bawah 'scsi'. Saya lupa alasan pastinya (saya akan menanyakan itu dalam pertanyaan lain), tapi saya rasa itu karena SATA menggunakan driver SCSI.

Berikut daftar yang menunjukkan drive SATA di sistem saya:

$ 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

3
Ini tidak selalu dapat diandalkan: tergantung pada driver, versi kernel dan opsi kompilasi kernel, beberapa driver SATA dapat muncul sebagai ide dan beberapa driver PATA dapat muncul sebagai scsi. Kernel modern cenderung membuat setiap driver berbicara scsi ke lapisan disk generik, dan itulah yang Anda lihat di sini.
Gilles 'SANGAT berhenti menjadi jahat'

Ya, maaf Stefan, drive terdaftar di bawah /proc/scsi/scsi, sebenarnya sistem saya bahkan tidak punya /proc/ide... belum menurut jawaban Gilles, sepertinya drive itu sebenarnya IDE.
Josh

0

Anda dapat bertanya udev:

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

Jika perintah ini di-output ID_ATA_SATA=1, drive Anda adalah drive SATA (asli). Jika tidak, tetapi output ID_BUS=ata, drive Anda adalah drive PATA. Jika tidak ada output, drive Anda adalah sesuatu yang lain.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.