and you shouldn’t be using any of those, since the order can and will change. The numbers are based on the order the devices and device drivers are initialized in, not based on physical location in the system. The modern approach (assuming you’re using udev) is to use the symlinks in
/dev/disk/by-id/
or/dev/disk/by-uuid/
instead, since both are consistent across reboots (andby-id
should be consistent across reinstalls, assuming the same partitioning scheme on the same physical drives)This is also why Ethernet devices now have names like
enp0s3
- the numbers are based on physical location on the bus. The oldeth0
,eth1
, etc. could swap positions between Linux upgrades (or even between reboots) since they were also just the order the drivers were initialized in.I’m sure you know this, but to to supplement your comment for future readers, UUIDs are also a good solution for partitions.
Labels are better. IMO; they’re semantic.
Well it’s sdx because they both use the SATA interface. The sdx convention actually comes from scsi though, and the fact that SATA and USB drives use it might point to some code reuse, or maybe a temporary solution that never got fixed due to breaking backwards compatibility.
Fun fact: IDE drives use the hdx naming convention.
A yes, my beloved nvme1p2 partition that changes name every reboot