Linux 下 ATA 与 SATA 的命名规则

Linux 下 ATA 与 SATA 的命名规则,第1张

假设现在有两块磁盘, one master SATA and one master ATA ,他们在 /dev 下会如何呈现?

这个要取决与你的 SATA 驱动和系统配置 (distribution's configuration), 可能会是 /dev/hda 和 /dev/hdb , 或者 /dev/hda 和 /dev/sda ,或者是 /dev/sda 和 /dev/sdb .不同的发行版和驱动正在朝着将所有磁盘命名为 sd* 的方向发展,但是传统的 PATA 驱动会使用 hd* 而且少部分的 SATA 驱动也会这么做。

设备名取决于 udev 的配置。比如,在 Ubuntu 14.04上,下面来自 /lib/udev/rules.d/60-persistent-storage.rules 的配置会把所有的 ATA 硬盘显示为 /dev/sd* 并会将所有的 ATA CD 设备显示为  /dev/sr* :

大部分情况下,可以认为 IDE 接口的硬盘命名为 /dev/hd* , SATA 接口的硬盘命名为 /dev/sd* 。

看到了你提的问题,我感觉很有兴趣看了一下. 我在debian下.

cat /var/log/dmesg|grep ata

思路. sata在linux是 libata驱动的. 那么就找它,它一定能整明白.

看了两台机器内核啥地也不一样.但感觉还可以分析分析.

ata_piix 0000:00:1f.1: version 2.12

ata_piix 0000:00:1f.1: PCI INT A ->GSI 18 (level, low) ->IRQ 18

ata_piix 0000:00:1f.1: setting latency timer to 64

scsi0 : ata_piix

scsi1 : ata_piix

ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14

ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15

ata_piix 0000:00:1f.2: PCI INT B ->GSI 19 (level, low) ->IRQ 19

ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]

ata_piix 0000:00:1f.2: setting latency timer to 64

scsi2 : ata_piix

scsi3 : ata_piix

ata3: SATA max UDMA/133 cmd 0xd080 ctl 0xd000 bmdma 0xc800 irq 19

ata4: SATA max UDMA/133 cmd 0xcc00 ctl 0xc880 bmdma 0xc808 irq 19

ata3.00: ATA-8: WDC WD3200AAJS-00L7A0, 01.03E01, max UDMA/133

ata3.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 0/32)

ata3.00: configured for UDMA/133

scsi 2:0:0:0: Direct-Access ATA WDC WD3200AAJS-0 01.0 PQ: 0 ANSI: 5

ata1,2 是 pata口 ata3,4是 sata(不知道为什么一共只有四个口我感觉应该更多才对)

但我感觉是接在了 sata0上.

libata version 3.00 loaded.

ata1: SATA max UDMA/133 abar m2048@0xdfd01000 port 0xdfd01100 irq 217

ata2: SATA max UDMA/133 abar m2048@0xdfd01000 port 0xdfd01180 irq 217

ata3: SATA max UDMA/133 abar m2048@0xdfd01000 port 0xdfd01200 irq 217

ata4: SATA max UDMA/133 abar m2048@0xdfd01000 port 0xdfd01280 irq 217

ata5: SATA max UDMA/133 abar m2048@0xdfd01000 port 0xdfd01300 irq 217

ata6: SATA max UDMA/133 abar m2048@0xdfd01000 port 0xdfd01380 irq 217

ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

ata1.00: ATA-7: GB0250EAFJF, HPGB, max UDMA/133

ata1.00: 488397168 sectors, multi 16: LBA48 NCQ (depth 31/32)

ata1.00: configured for UDMA/133

ata2: SATA link down (SStatus 0 SControl 300)

ata3: SATA link down (SStatus 0 SControl 300)

ata4: SATA link down (SStatus 0 SControl 300)

ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)

ata5.00: ATAPI: hp DVDROM DH20N, EB00, max UDMA/100, ATAPI AN

ata5.00: configured for UDMA/100

ata6: SATA link down (SStatus 0 SControl 300)

这个没有ide接口.感觉也是接在第一个sata上了. ata5上接了一个 dvdrom

但我感觉有些机器还有个 MAP的提示.还有神奇的地方.

有台机器是这样.

ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]

ata3.01: ATA-7: ST3160811AS, 3.AAE, max UDMA/133

# cat /proc/scsi/scsi

Attached devices:

Host: scsi2 Channel: 00 Id: 01 Lun: 00

Vendor: ATA Model: ST3160811AS Rev: 3.AA

不知道这硬盘的 id:01是怎么回事儿. 也还不太理解这里的MAP是什么.

写出这些给你参考吧. 也许还会有别的方法.

1、在hyper-v管理器中插入一张光盘。 如图:插入Linux集成服务盘。

2、但在Linux虚拟机中无法查到该光盘。 cd /media。

3、查看有无光驱设备挂载。未发现。

4、用root用户登录该Linux虚拟机。

5、输入: insmod /lib/modules/$(uname -r)/kernel/drivers/ata/ata_piix.ko。

6、这样就能显示出来光盘了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7277008.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存