Assume that we have two disks, one master SATA and one master ATA. How will they show up in /dev?
4 Answers
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"
-
The first part of this answer is correct, but the second part is not. The
==operator compares theKERNELname withsd*, it doesn't set it.Hello71– Hello712022-04-17 16:32:23 +00:00Commented Apr 17, 2022 at 16:32
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.
-
1I don't think this is true any more. At least with recent Fedora release, parallel ATA disks get /dev/sda etc too.fschmitt– fschmitt2010-09-26 18:00:56 +00:00Commented Sep 26, 2010 at 18:00
-
This is how it is on my Ubuntu machine, but I'm not bleeding edge, so maybe it's different.Josh– Josh2010-09-26 18:04:27 +00:00Commented Sep 26, 2010 at 18:04
- 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
-
-
2@firo, it isn't universal. It is determined by userland configuration.vonbrand– vonbrand2020-03-07 21:13:22 +00:00Commented Mar 7, 2020 at 21:13
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