Как расширить логический и расширенный раздел с помощью fdisk

Как расширить логический и расширенный раздел с помощью fdisk

Я пытаюсь расширить раздел /dev/sda5, который является логическим разделом расширенного раздела /dev/sda2.

Я хочу использоватьfdisk.

Процедура должна быть такой: удалить оба раздела, а затем заново создать их с точно такими же начальными секторами (1001470 и 1001472). Это идет хорошо до тех пор, пока не создается логический раздел, где минимальный начальный сектор больше (1003518), чем это необходимо.

$ sudo fdisk /dev/sda
Команда (m для помощи): p
Диск /dev/sda: 9,8 ГиБ, 10485760000 байт, 20480000 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт/512 байт
Тип метки диска: dos
Идентификатор диска: 0x0cd7105f

Устройство Загрузка Начало Конец Секторы Размер Идентификатор Тип
/dev/sda1 * 2048 999423 997376 487M 83 Линукс
/dev/sda2 1001470 16775167 15773698 7.5G 5 Расширенный
/dev/sda5 1001472 16775167 15773696 7.5G 83 Linux


Раздел 5 удален.
Раздел 2 удален.

Команда (m для помощи): n
Тип раздела
   p первичный (1 первичный, 0 расширенных, 3 свободных)
   e extended (контейнер для логических разделов)

Выберите (по умолчанию p):е
Номер раздела (2-4, по умолчанию 2):
Первый сектор (999424-20479999, по умолчанию 999424):1001470
Последний сектор, +sectors или +size{K,M,G,T,P} (1001470-20479999, по умолчанию20479999):
Создан новый раздел 2 типа «Расширенный» размером 9,3 ГиБ.

Команда (m для помощи): n
Все пространство основных разделов занято.
Добавление логического раздела 5
Первый сектор (1003518-20479999, по умолчанию1003520):1001472

Значение выходит за пределы диапазона.

Я сделал это срасстались, но это должно быть возможно с помощью fdisk.

$ fdisk -V
fdisk from util-linux 2.27.1

решение1

Меры, принятые в соответствии сЖиляотвечать:

$ sudo fdisk /dev/sda

Добро пожаловать в fdisk (util-linux 2.27.1).
Изменения останутся только в памяти, пока вы не решите их записать.
Будьте осторожны перед использованием команды записи.


Команда (m для помощи): p
Диск /dev/sda: 9,8 ГиБ, 10485760000 байт, 20480000 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт/512 байт
Тип метки диска: dos
Идентификатор диска: 0x0cd7105f

Устройство Загрузка Начало Конец Секторы Размер Идентификатор Тип
/dev/sda1 * 2048 999423 997376 487M 83 Линукс
/dev/sda2       100147016775167 15773698 7.5G 5 Расширенный
/dev/sda5       100147216775167 15773696 7.5G 83 Линукс

Команда (m для помощи): d
Номер раздела (1,2,5, по умолчанию 5): 2

Раздел 2 удален.

Команда (m для помощи): n
Тип раздела
   p первичный (1 первичный, 0 расширенных, 3 свободных)
   e extended (контейнер для логических разделов)
Выберите (по умолчанию p): e
Номер раздела (2-4, по умолчанию 2):
Первый сектор (999424-20479999, по умолчанию 999424):1001470
Последний сектор, +sectors или +size{K,M,G,T,P} (1001470-20479999, по умолчанию 20479999):

Создан новый раздел 2 типа «Расширенный» размером 9,3 ГиБ.

Команда (m для помощи): n
Все пространство основных разделов занято.
Добавление логического раздела 5
Первый сектор (1003518-20479999, по умолчанию 1003520):
Последний сектор, +sectors или +size{K,M,G,T,P} (1003520-20479999, по умолчанию 20479999):

Создан новый раздел 5 типа «Linux» размером 9,3 ГиБ.

Команда (m для помощи):Икс


Экспертная команда (m для справки):б
Номер раздела (1,2,5, по умолчанию 5):
Новое начало данных (1001471-20479999, по умолчанию 1003520):1001472

Экспертная команда (m для справки): p

Диск /dev/sda: 9,8 ГиБ, 10485760000 байт, 20480000 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт/512 байт
Тип метки диска: dos
Идентификатор диска: 0x0cd7105f

Устройство Загрузка Начало Конец Секторы Id Тип Начало-C/H/S Конец-C/H/S Атрибуты
/dev/sda1 * 2048 999423 997376 83 Linux 0/33/32 62/55/53 80
/dev/sda2       100147020479999 19478530 5 Расширение 62/23/86 250/23/209
/dev/sda5       100147220479999 19478528 83 Линукс 62/57/118 250/23/209

Затем r(вернуться в главное меню) и w(записать таблицу на диск).

решение2

В обычном интерфейсе fdisk Linux применяет ограничения выравнивания к разделам. Какие именно ограничения зависят от версии fdisk. В более старых версиях по умолчанию использовалось выравнивание по цилиндру для совместимости со старыми операционными системами, которые были несовместимы сЛБА. Когда LBA исполнилось чуть больше двух десятилетий, fdisk перестал обслуживать такие древние системы по умолчанию и вместо этого перешел на выравнивание по 1 МБ, что обеспечивает лучшую производительность на современных носителях.

В текущих версиях fdisk для создания разделов с любым выравниванием сектора (512B) вам нужно сначала создать раздел с желаемой конечной точкой, затем перейти в экспертное меню ( x) и использовать команду bдля настройки начала раздела (это меняет размер раздела, а не то, где он заканчивается). Это выглядит довольно неуклюже.

решение3

Fdisk — старая программа, она понимает только разделы MBR. Я думаю, что проблема в измененной геометрии диска (головки, сектора на дорожку и дорожки). После копирования данных со старого диска на новый с помощью команды dd (копирование сектора в сектор) у вас получились разделы, не выровненные по начальным секторам дорожки. Вот почему fdisk не позволяет вам создать начальный сектор раздела до того, как он будет выровнен по началу сектора дорожки, где он был на старом диске.

Вы можете попробовать изменить геометрию нового диска в программе fdisk через команду в расширенном меню, но это неправильный способ. Используйте программы parted и gparted вместо старого fdisk.

Теперь скорость чтения и записи не зависит от выравнивания по сектору начальной дорожки каждого раздела.

Связанный контент