O kernel lida com dois tipos de drives:
- unidades IDE, como discos rígidos antigos e muitas unidades de CD / DVD - usam o nome hd $ x
- unidades SCSI - usam o nome sd $ x
As unidades SATA, SAS e USB usam o subsistema SCSI porque possuem certas vantagens que os drivers IDE mais antigos não possuem. Portanto, esses dispositivos controladores são abstraídos para parecerem com controladores SCSI, contendo dispositivos SCSI, para o computador host.
Com as unidades IDE, a convenção de nomenclatura é bastante rígida:
- hda é a unidade mestre no primeiro barramento
- hdb é o drive escravo no primeiro barramento
- hde é a unidade mestre no terceiro barramento
... e assim por diante. (E sim, é possível ter mais de dois barramentos IDE). Então, quando você tem uma unidade de CD ou DVD em um barramento IDE, não é incomum ver essas unidades travadas no segundo barramento IDE (porque é assim que sempre foi feito - mas isso é outra discussão). Então é bem possível ter hdc sem ter hda e hdb.
Isso é importante saber porque o subsistema SCSI é diferente. As unidades são rotuladas na ordem em que são detectadas.
Digamos que você tenha um barramento SCSI old-school e tenha desconectado os discos na ID SCSI 0, 3 e 5. Essas unidades seriam detectadas como sda, sdb e sdc, respectivamente.
Agora, suponha que você tenha comprado uma quarta unidade e, por motivos conhecidos apenas por você, a atribua à SCSI ID 4. Essa nova unidade agora é detectada como sdc, enquanto a unidade preexistente na ID SCSI 5 é agora sdd. Isso pode causar todos os tipos de hilaridade se você estiver se referindo a partições pelo nome absoluto - depois de inicializar com a nova unidade inserida, / dev / sdc1 não é o que costumava ser, você quer dizer / dev / sdd1 agora.
Esta é uma razão pela qual o RedHat (e outros) gosta da funcionalidade e2label, onde você atribui um rótulo exclusivo à partição e o monta por referência a isso.
Eu não sei porque o Linux foi construído assim. Sistemas operacionais mais antigos, como Solaris, forçam você a se referir ao disco por endereço SCSI - assim, / dev / dsk / c0t0d0s0 (controlador 0, destino (ou ID) 0, disco 0 (legado, não pergunte), fatia (ou partição) 0) será absoluto, não importa quais outros discos estejam no barramento. Ele sofre o mesmo problema se você inserir um novo controlador scsi, introduzindo um novo ID de barramento, mas isso é relativamente raro e a maioria dos computadores prefere seus controladores internos aos que são adicionados posteriormente. O caminho do Linux pode ser mais simples - você não precisa saber ou se importar com as informações do controlador / id. Você apenas sabe que é o primeiro ou segundo disco. E para a maioria dos usuários isso é verdade, você só tem no máximo alguns drives para lidar, então você não se importa com o nome dado, desde que possa encontrá-lo.
Os números de partição são outra coisa novamente. A tabela de partição padrão do MS (DOS) usada em PCs possui quatro partições primárias. Nem mais nem menos. Eles podem ter comprimento 0 e não há necessidade de começar definindo a partição 1. Você pode começar com a partição 3, se desejar. Eu não acho que eles sequer tenham que ser contíguos no disco - você pode definir a partição 3 para iniciar no bloco 0, e a partição 1 para começar em algum lugar depois disso. A maioria das ferramentas de particionamento Linux gravará as tabelas de partições começando pela partição 1 e assim por diante. A maioria dos kernels linux tratará uma partição de tamanho 0 como uma partição vazia ou inexistente e não anunciará sua existência.
Se você precisa de mais partições, você precisa marcar um de seus pacotes primários para partições "estendidas". Então você pode subdividir isso em quantas partições estendidas quiser (sujeito a algum limite que eu não conheço no topo da minha cabeça). A diferença é que as partições estendidas são sempre enumeradas pelo kernel começando na partição número 5. Então, se você tem um disco hda com duas partições primárias e duas partições estendidas (por qualquer razão), elas são enumeradas como hda1, hda2, hda5, e hda6. A partição 3 seria marcada como contendo partições estendidas e não seria enumerada.
Então, são muitas as palavras para explicar os nomes dos dispositivos. É apenas para sinalizar que um dispositivo é um IDE ou um dispositivo controlado por SCSI e para lhe dar uma ideia de como o dispositivo é particionado.
A menos que haja uma razão convincente para fazer o contrário, eu não iria mexer com eles. Mudá-los só confundirá mais tarde os usuários que pensam que sabem o que estão fazendo.