Làm cách nào để biết ổ cứng của tôi là PATA hay SATA?


8

Tôi có một ổ cứng ATA trong máy tính xách tay của mình, chạy Fedora 11, kernel 2.6.30.10-105.2.23.fc11.i586. Tôi đang tìm cách nâng cấp đĩa ở đây (rất thích lấy SSD) nhưng tôi quên nếu đó là ATA nối tiếp hoặc giao diện ATA song song cũ. Không có nhiều sử dụng nâng cấp lên SSD nếu đó là PATA ...

Làm cách nào để biết đĩa được kết nối qua giao diện PATA hoặc SATA?

Câu trả lời:


7

Để xem mô tả thiết bị cho bộ điều khiển (giả sử bộ điều khiển bên trong (PCI)), thường chứa SATA cho bộ điều khiển SATA:

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

Nếu bạn muốn gõ ít hơn, chỉ cần duyệt kết quả đầu ra lspcicó thể sẽ cho bạn câu trả lời trong máy tính xách tay (nhiều máy tính để bàn có cả hai loại giao diện để bạn phải tìm kiếm ổ đĩa mà bạn quan tâm).

Nếu điều đó không cung cấp cho bạn câu trả lời, để xem trình điều khiển nào đang cung cấp sda(sau đó bạn có thể tra cứu xem trình điều khiển đó dành cho bộ điều khiển PATA hay SATA):

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

Thật sự cảm ơn! Lệnh đầu tiên làm tôi bối rối nhưng lệnh thứ hai được tạo ra độc đáo /sys/bus/pci/drivers/pata_amd!
Josh

@Gilles - Tìm kiếm thông tin này vào năm 2018, những điều trên không hoạt động (ít nhất là trên hệ thống Arch Linux của tôi). Các đường dẫn không tồn tại (không có vendortệp, v.v.).
starfry

@starfry Xe buýt nào vậy? Tôi nghĩ rằng câu trả lời của tôi hoạt động cho bất kỳ nhân Linux không cổ nào, nhưng nó sẽ không hoạt động đối với thiết bị không được kết nối với bộ điều khiển ATA trên bus PCI. Ví dụ: tôi không chắc nó có hoạt động với SSD không, tùy thuộc vào loại bộ điều khiển.
Gilles 'SO- ngừng trở nên xấu xa'

hạt nhân 4.15.3-2-ARCH, ví dụ thiết bị pci-0000:00:1f.2-ata-1 . Làm ls /sys/block/sdc/device/../../../năng suất ata_port firmware_node host2 link3 power uevent. Tất cả các ổ đĩa cứng quay bình thường trên các cổng SATA tiêu chuẩn trên bo mạch chủ i7 2009.
starfry

1

Cập nhật : Đối với hồ sơ, câu trả lời @Gilles là tốt hơn.

Nếu đó là ổ đĩa PATA (ide), thì bạn sẽ thấy nó bên dưới /proc/ide. Đây là ổ đĩa DVD IDE của tôi, ví dụ, đây là đầu ra của tôi:

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

Nếu đó là ổ đĩa SATA, nó sẽ hiển thị bên dưới /proc/scsi. Bạn có thể ngạc nhiên khi tìm thấy nó dưới 'scsi'. Tôi quên lý do chính xác (tôi sẽ hỏi điều đó trong một câu hỏi khác), nhưng tôi nghĩ đó là vì SATA sử dụng trình điều khiển SCSI.

Đây là danh sách hiển thị ổ đĩa SATA trên hệ thống của tôi:

$ 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
Điều này không phải lúc nào cũng đáng tin cậy: tùy thuộc vào trình điều khiển, phiên bản kernel và tùy chọn biên dịch kernel, một số trình điều khiển SATA có thể xuất hiện dưới dạng ide và một số trình điều khiển PATA có thể xuất hiện dưới dạng scsi. Các hạt nhân hiện đại có xu hướng khiến mọi trình điều khiển nói scsi với lớp đĩa chung và đó là những gì bạn thấy ở đây.
Gilles 'SO- ngừng trở nên xấu xa'

Vâng, xin lỗi Stefan, ổ đĩa được liệt kê bên dưới /proc/scsi/scsi, trên thực tế hệ thống của tôi thậm chí không có /proc/ide... nhưng theo câu trả lời của Gilles, có vẻ như ổ đĩa thực sự là IDE.
Josh

0

Bạn có thể hỏi udev:

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

Nếu lệnh này xuất ra ID_ATA_SATA=1, ổ đĩa của bạn là ổ đĩa SATA (nguyên gốc). Nếu không, nhưng nó xuất ra ID_BUS=ata, ổ đĩa của bạn là ổ PATA. Nếu nó không xuất ra, ổ đĩa của bạn là một cái gì đó khác.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.