Linux 中 ATA 和 SATA 磁盘的名称

Linux 中 ATA 和 SATA 磁盘的名称

假设我们有两个磁盘,一个主 SATA,一个主 ATA。它们将如何出现在/dev 中?

答案1

根据您的 SATA 驱动程序和发行版的配置,它们可能显示为/dev/hdaand /dev/hdb、or /dev/hdaand /dev/sda、or /dev/sdaand /dev/sdb。发行版和驱动程序正在朝着将所有硬盘称为 的方向发展sd?,但传统上使用的是 PATA 驱动程序hd?,一些 SATA 驱动程序也这样做。

设备名称由配置确定udev。例如,在 Ubuntu 10.04 上,以下行使/lib/udev/rules.d/60-persistent-storage.rules所有 ATA 硬盘显示为/dev/sd*且所有 ATA CD 驱动器显示为/dev/sr*

# ATA devices with their own "ata" kernel subsystem
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="ata", IMPORT{program}="ata_id --export $tempnode"
# ATA devices using the "scsi" subsystem
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{vendor}=="ATA", IMPORT{program}="ata_id --export $tempnode"

答案2

如果我正确理解你的问题,Linux下的第一个并行ATA硬盘驱动器将是/dev/hda,第二个将是/dev/hdb,然后是/dev/hdc,等等。

串行ATA 设备的显示方式与 SCSI 和 USB 设备相同:/dev/sda将是第一个,然后是/dev/sdb/dev/sdc/等。

答案3

  • SATA-/dev/sdX
  • 固态硬盘- /dev/sdX
  • SCSCi -/dev/sdX
  • IDE-/dev/hda

任何以 S 开头的驱动器(sata、ssd、scsci)都是 sda,IDE 都是 hda

答案4

其他答案讨论了 SATA、IDE、SCSI 等,但我想我应该添加新的 NVMe。在现代内核中,NVMe 驱动器用作/dev/nvmeXnY驱动器和/dev/nvmeXnYpZ分区。例如,NVMe 驱动器 (0, 1) 上的分区 5 将为/dev/nvme0n1p5.块设备的行为就像hdXsdX驱动器一样。

本质上,并行连接使用hdX,串行连接使用sdX,而 NVMe 这个奇怪的东西使用nvmeXnY

相关内容