Isso se deve ao fato de o suporte SATA do Linux ser baseado em seu subsistema de disco rígido SCSI. Dispositivos SCSI são limitados a 15 partições por dispositivo. Vejo isto descrição das fontes do kernel Linux:
8 block SCSI disk devices (0-15)
0 = /dev/sda First SCSI disk whole disk
16 = /dev/sdb Second SCSI disk whole disk
32 = /dev/sdc Third SCSI disk whole disk
...
240 = /dev/sdp Sixteenth SCSI disk whole disk
Partitions are handled in the same way as for IDE
disks (see major number 3) except that the limit on
partitions is 15.
este artigo menciona algo sobre isso ser uma convenção SCSI:
Nomes sem um dígito final referem-se ao disco inteiro, enquanto nomes
com um dígito à direita, consulte uma partição desse disco inteiro. Por
convenção, os discos SCSI têm no máximo 16 números menores mapeados para um
único disco. Assim, para cada disco inteiro, há um máximo de 15
partições por disco porque um número menor é usado para descrever o
disco inteiro (por exemplo, / dev / sda), e os outros 15 números menores são
usado para se referir a partições para esse disco (por exemplo / dev / sda1,
/ dev / sda2, etc). O exemplo a seguir exibe os arquivos do dispositivo para
o disco inteiro / dev / sda, que tem um número maior de 8 e um menor
número de 0 e suas 15 partições.
Existem muitos artigos discutindo isso na Web se você precisar de uma resposta mais detalhada porque parte da sua pergunta.
Há pelo menos duas soluções possíveis para essa limitação.
Montagem Offset
Isto é conseguido adicionando um offset=
opção para o mount
comando. O valor necessário para a opção pode ser obtido multiplicando o tamanho do setor e o byte inicial da partição que você está montando. Ambos estes valores estão disponíveis na saída de fdisk -lu /dev/sdX
. Exemplo:
fdisk -lu /dev/sda
Disk /dev/sda: [..]
[..]
Units = sectors of 1 * 512 = 512 bytes
[..]
Device Boot Start End Blocks Id System
[..]
/dev/sda18 232421376 254679039 11128832 83 Linux
/dev/sda19 200783872 232419327 15817728 83 Linux
# Mount /dev/sda18 to /media/somedir1
mount -o rw,offset=$((512*232421376)),defaults /dev/sda /media/somedir1
# Mount /dev/sda19 to /media/somedir2
mount -o rw,offset=$((512*200783872)),defaults /dev/sda /media/somedir2
Note que eu coloquei /dev/sda
ao invés de /dev/sda18
e /dev/sda19
.
Use o LVM
Outra opção é usar o LVM. No entanto, isso pode implicar algum embaralhamento de arquivos e, portanto, pode ser demorado. Mais importante, os volumes LVM podem ser difíceis de acessar de outros sistemas operacionais, como o OS X, antes do Lion e do Windows, portanto, pode não ser adequado às suas necessidades. Há muitos posts sobre o LVM aqui e em outros lugares, então eu não estou entendendo como configurá-lo aqui.