ハードドライブがPATAかSATAかを確認するにはどうすればよいですか?


8

私のラップトップにはATAハードディスクがあり、Fedora 11、カーネル2.6.30.10-105.2.23.fc11.i586を実行しています。ここでディスクをアップグレードしようと思っていますが(SSDが欲しい)、シリアルATAか古いパラレルATAインターフェースかを忘れてしまいました。それがPATAである場合、SSDにアップグレードすることはあまりありません...

ディスクがPATAインターフェースとSATAインターフェースのどちらで接続されているかを確認するにはどうすればよいですか?

回答:


7

SATAコントローラー用のSATAが通常含まれているコントローラー(内部(PCI)コントローラーを想定)のデバイスの説明を表示するには:

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

入力を減らしたい場合lspciは、の出力を参照するだけでラップトップで答えが得られる可能性があります(多くのデスクトップには両方の種類のインターフェイスがあるため、目的のドライブを検索する必要があります)。

それでも答えが得られない場合は、提供されているドライバーを確認しsdaます(そのドライバーがPATAコントローラー用かSATAコントローラー用かを調べます)。

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

素晴らしいです、ありがとう!最初のコマンドは私を混乱させましたが、2番目のコマンドはうまく作成されました/sys/bus/pci/drivers/pata_amd
Josh、

@ギレス-2018年にこの情報を探すと、上記は機能しません(少なくとも私のArch Linuxシステムでは)。パスが存在しない(vendorファイルがないなど)。
starfry

@starfry何のバスですか?私の答えは非アンティークのLinuxカーネルで機能すると思いますが、PCIバス上にあるATAコントローラーに接続されていないデバイスでは機能しません。たとえば、コントローラの種類によっては、SSDで機能するかどうかわかりません。
Gilles「SO-悪をやめる」

カーネル4.15.3-2-ARCH、デバイスの例pci-0000:00:1f.2-ata-1 ls /sys/block/sdc/device/../../../利回りを行うata_port firmware_node host2 link3 power uevent。2009 i7マザーボードの標準SATAポート上のすべての通常の回転ハードドライブ。
starfry

1

更新:記録としては、@ Gillesの方が適切です。

PATA(ide)ドライブの場合は、の下に表示され/proc/ideます。これが私のIDE DVD-Driveです。たとえば、これが私の出力です。

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

SATAドライブの場合、の下に表示され/proc/scsiます。'scsi'の下にそれを見つけることに驚くかもしれません。正確な理由は忘れますが(別の質問でそれを尋ねます)、それはSATAがSCSIドライバーを使用しているためだと思います。

これが私のシステムのSATAドライブを示すリストです。

$ 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
これは常に信頼できるとは限りません。ドライバー、カーネルバージョン、カーネルコンパイルオプションによっては、一部のSATAドライバーはideとして表示され、一部のPATAドライバーはscsiとして表示されます。最近のカーネルでは、すべてのドライバーが汎用ディスクレイヤーに対してscsiを使用する傾向にあります。
Gilles「SO-邪悪なことをやめなさい」

はい、申し訳ありませんが、Stefanさん、ドライブはの下/proc/scsi/scsiにリストされていますが、実際には私のシステムにはありません/proc/ide...それでもGillesの回答によると、ドライブは実際にはIDEのようです。
Josh、

0

あなたはudevに尋ねることができます:

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

このコマンドがを出力するID_ATA_SATA=1場合、ドライブは(ネイティブ)SATAドライブです。表示されないが出力は表示されるID_BUS=ata場合、ドライブはPATAドライブです。どちらも出力しない場合、ドライブは別のものです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.