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

13

Я пытаюсь расширить раздел / 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 Linux
/ dev / sda2 1001470 16775167 15773698 7,5G 5 Extended
/ dev / sda5 1001472 16775167 15773696 7.5G 83 Linux


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

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

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

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

Значение вне диапазона.

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

$ fdisk -V
fdisk from util-linux 2.27.1
ОБЪЯВЛЕНИЕ
источник

Ответы:

10

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

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

Жиль "ТАК - перестань быть злым"
источник
Работал как шарм. Можете ли вы объяснить, почему в этом случае режим эксперта не был необходим ?
нашей эры
2
@AD Потому что в этом случае раздел был выровнен на 1 МБ.
Жиль "ТАК - перестань быть злым"
Правда, я пытался расширить выравниваемые разделы, и это работало даже без экспертного режима.
AD
14

Шаги, предпринятые в соответствии с ответом Жиля :

$ 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 Linux
/ dev / sda2        1001470 16775167 15773698 7,5G 5 Extended
/ dev / sda5        1001472 16775167 15773696 7.5G 83 Linux

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

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

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

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

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

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

Команда (м для помощи): х


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

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

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

Загрузка устройства Начальные конечные секторы Идентификатор типа Start-C / H / S End-C / H / S Attrs
/ dev / sda1 * 2048 999423 997376 83 Linux 0/33/32 62/55/53 80
/ dev / sda2        1001470 20479999 19478530 5 Extende 62/23/86 250/23/209
/ dev / sda5        1001472 20479999 19478528 83 Linux 62/57/118 250/23/209

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

ОБЪЯВЛЕНИЕ
источник
-1

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

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

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

Хиргий Михаил
источник
Современные версии fdisk также понимают GPT, но здесь это не имеет значения. Проблема не обязательно в изменении геометрии диска, а в ограничениях неэкспертного интерфейса fdisk.
Жиль "ТАК - перестань быть злым"
Это MBR: Disklabel type: dos. Я помню parted жаловался, что он не выровнен, поэтому я могу попытаться выровнять его, а затем расширить. Я уверен, что видел ту же процедуру, выполненную в fdisk, и она работала.
AD