Это связано с тем, что поддержка Linux SATA основана на подсистеме жесткого диска SCSI. Устройства SCSI ограничены 15 разделами на устройство. Смотрите это описание из источников ядра 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.
Эта статья упоминает кое-что об этом, будучи соглашением SCSI:
Имена без завершающей цифры относятся ко всему диску, а имена с завершающей цифрой относятся к разделу всего этого диска. Как правило, диски SCSI имеют максимум 16 младших номеров, сопоставленных одному диску. Таким образом, для каждого целого диска существует максимум 15 разделов на диск, потому что одно младшее число используется для описания всего диска (например, /dev /sda), а остальные 15 вспомогательных номеров используются для ссылки на разделы для этого диска. диск (например, /dev /sda1, /dev /sda2 и т. д.). В следующем примере отображаются файлы устройств для всего диска /dev /sda, который имеет старший номер 8 и младший номер 0 и его 15 разделов.
Есть много статей, обсуждающих это в Интернете, если вам нужен более подробный ответ на вопрос « почему» .
Существует как минимум два возможных обхода этого ограничения.
Офсетный монтаж
Это достигается добавлением параметра offset=
к команде mount
. Значение, необходимое для опции, можно получить, умножив размер сектора и начальный байт раздела, который вы монтируете. Оба эти значения доступны в выходных данных fdisk -lu /dev/sdX
. Пример:
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
Обратите внимание, что я поставил /dev/sda
вместо /dev/sda18
и /dev/sda19
.
Используйте LVM
Другой вариант - использовать LVM. Однако это может повлечь за собой некоторые перестановки файлов и, следовательно, может занять много времени. Самое главное, что к LVM-томам может быть сложно получить доступ из других операционных систем, таких как OS X до Lion и Windows, поэтому он может не подходить для ваших нужд. Есть много постов о LVM здесь и в других местах, поэтому я не буду разбираться, как это настроить здесь.