The only purpose I can imagine, is to distinguish between different hard disks but not partitions.
Isso está correto.
Existem muitos drivers de dispositivos de bloco e muitos tipos de partições. O driver de dispositivo de bloco subjacente não é necessário para implementar qualquer manipulação de partição, exceto para definir o número de partições suportadas.
A principal coisa que a exceção é usada é não incomodar o suporte a partições em dispositivos como o LVM, onde eles geralmente não são necessários.
(Se você fizer precisar que o kernel forneça subpartições no LVM, você pode usar kpartx
que cria novos dispositivos de mapeamento de dispositivo, com nomes de dispositivos que convenientemente se parecem com o padrão de nome de partição normal ).