14

Assume that we have two disks, one master SATA and one master ATA. How will they show up in /dev?

Gilles 'SO- stop being evil'
  • 807,993
  • 194
  • 1,674
  • 2,175
oneat
  • 1,022
  • 3
  • 12
  • 20

4 Answers4

25

Depending on your SATA driver and your distribution's configuration, they might show up as /dev/hda and /dev/hdb, or /dev/hda and /dev/sda, or /dev/sda and /dev/sdb. Distributions and drivers are moving towards having everything hard disk called sd?, but PATA drivers traditionally used hd? and a few SATA drivers also did.

The device names are determined by the udev configuration. For example, on Ubuntu 10.04, the following lines from /lib/udev/rules.d/60-persistent-storage.rules make all ATA hard disks appear as /dev/sd* and all ATA CD drives appear as /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"
Gilles 'SO- stop being evil'
  • 807,993
  • 194
  • 1,674
  • 2,175
  • The first part of this answer is correct, but the second part is not. The `==` operator *compares* the `KERNEL` name with `sd*`, it doesn't *set* it. – Hello71 Apr 17 '22 at 16:32
4

If I'm understanding your question correctly, the first parallel ATA hard drive under Linux will be /dev/hda, the second will be /dev/hdb, followed by /dev/hdc, etc.

Serial ATA devides will show up the same way SCSI and USB devices do: /dev/sda will be the first one, followed by /dev/sdb, /dev/sdc/, etc.

Josh
  • 8,311
  • 12
  • 54
  • 73
  • 1
    I don't think this is true any more. At least with recent Fedora release, parallel ATA disks get /dev/sda etc too. – fschmitt Sep 26 '10 at 18:00
  • This is how it is on my Ubuntu machine, but I'm not bleeding edge, so maybe it's different. – Josh Sep 26 '10 at 18:04
3
  • SATA - /dev/sdX
  • SSD - /dev/sdX
  • SCSCi - /dev/sdX
  • IDE - /dev/hda

Any drive which start with S (sata,ssd,scsci) is sda and IDE is hda

Thomas
  • 6,242
  • 8
  • 26
  • 32
GNK
  • 131
  • 3
3

Other answers discuss SATA, IDE, SCSI, etc, but I thought I'd add the new NVMe. In modern kernels, NVMe drives use /dev/nvmeXnY for a drive, and /dev/nvmeXnYpZ for partitions. For example, partition 5 on NVMe drive (0, 1) would be /dev/nvme0n1p5. The block devices behave just like the hdX and sdX drives.

Essentially, parrallel connections use hdX and serial connections use sdX, and NVMe, the oddball, uses nvmeXnY

Lennon McLean
  • 300
  • 3
  • 11