Es kann sein das manche Linuxdistributionen die Bezeichnung der Festplatten anders machen.
Bei Debian ist es so das eine IDE Festplatte eine Gerätedatei /dev/hd?? bekommt und eine SATA Festplatte hat eine Gerätedatei /dev/sd??. USB Sticks bekommen auch eine Gerätedatei wie /dev/sd?? , genau so USB Festplatten.
Soweit mir bekannt ist legt der Linuxkernel die Bezeichnung der Gerätedateien fest. Und dann gibt es noch udev welches die Gerätedateien im Verzeichnis /dev erstellt und bezeichnet.
Man kann selbst udev Regeln aufstellen , wenn man beispielsweise einem USB Stick oder einer USB Festplatte eine bestimmte Gerätedatei geben möchte.
Das ist nicht so kompliziert wie es sich anhört. Ließ mal diesen Artikel im Ubuntu Wiki:
http://wiki.ubuntuusers.de/udev?highlight=udev
Kurze Erklärung. Gerätedateien sind für Unix sehr typisch. Ein Programm schreibt seine Daten (Musik oder Netzwerkdaten) in eine Gerätedatei oder ließt aus dieser Gerätedatei und das Betriebsystem kümmert sich dann um die Ansteuerung des Gerätes selbst.
Man sagt das unter Unix alles eine Datei ist. Das hängt mit den POSIX Systemaufrufen von Unix zusammen. Es gibt sechs wichtige POSIX Systemaufrufe , open(), close(), read(), write(), fork() und execl(). Alle anderen Systemaufrufe des POSIX Standards von Unix bauen darauf auf.
PS: Das habe ich aus dem Buch "Operation Systems - Design and Implementation" von Andrew S. Tanenbaum gelernt ;-).