Як розширити логічний та розширений розділ за допомогою fdisk


14

Я намагаюся розширити розділ / dev / sda5, що є логічним розділом під розширеним розділом / dev / sda2.

Я хочу використовувати fdisk .

Процедура повинна бути в тому, щоб видалити обидва розділи, а потім відтворити їх з абсолютно такими самими початковими секторами (1001470 та 1001472). Це іде добре до створення логічного розділу, де мінімальний стартовий сектор більший ( 1003518 ), ніж потрібно.

$ sudo fdisk / dev / sda
Команда (м на допомогу): с
Диск / dev / sda: 9,8 GiB, 10485760000 байт, 20480000 секторів
Одиниці: сектори 1 * 512 = 512 байт
Розмір сектора (логічний / фізичний): 512 байт / 512 байт
Розмір вводу / виводу (мінімальний / оптимальний): 512 байт / 512 байт
Тип Disklabel: dos
Ідентифікатор диска: 0x0cd7105f

Запуск завантажувача пристрою Кінці секторів Розмір Id Тип
/ dev / sda1 * 2048 999423 997376 487M 83 Linux
/ dev / sda2 1001470 16775167 15773698 7.5G 5 Розширений
/ dev / sda5 1001472 16775167 15773696 7.5G 83 Linux


Розділ 5 видалено.
Розділ 2 видалено.

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

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

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

Значення поза діапазоном.

Я зробив це з розірваним , але це має бути можливо якось за допомогою fdisk.

$ fdisk -V
fdisk from util-linux 2.27.1

Відповіді:


11

У звичайному інтерфейсі fdisk Linux застосовує обмеження вирівнювання до розділів. Які обмеження залежать від версії fdisk. Старіші версії за замовчуванням вирівнювали циліндри, для сумісності зі старими операційними системами, несумісними з LBA . Коли LBA було трохи більше двох десятиліть, fdisk за замовчуванням припинив обслуговування таких древніх систем, а замість цього перейшов на вирівнювання 1 Мб, що дає кращі показники роботи на сучасних носіях пам’яті.

У поточних версіях fdisk, щоб створити розділи з будь-яким сектором (512B) вирівнюванням, спочатку потрібно створити розділ з потрібною кінцевою точкою, потім перейти в меню експертів ( x) і скористатися командою bдля налаштування початку розділу ( це змінює розмір розділу, а не там, де він закінчується). Це здається досить незграбним.


Працював як шарм. Чи можете ви уточнити, чому режим експерта в цьому випадку не знадобився ?
AD

2
@AD Тому що в цьому випадку розділ був вирівняний на 1 МБ.
Жил 'ТАК - перестань бути злим'

Правда, я намагався розширити вирівняні розділи, і це спрацювало навіть без експертного режиму.
AD

14

Кроки, зроблені відповідно до відповіді Жиля :

$ sudo fdisk / dev / sda

Ласкаво просимо до fdisk (util-linux 2.27.1).
Зміни залишаться лише в пам'яті, поки ви не вирішите їх написати.
Будьте уважні, перш ніж використовувати команду write.


Команда (м на допомогу): с
Диск / dev / sda: 9,8 GiB, 10485760000 байт, 20480000 секторів
Одиниці: сектори 1 * 512 = 512 байт
Розмір сектора (логічний / фізичний): 512 байт / 512 байт
Розмір вводу / виводу (мінімальний / оптимальний): 512 байт / 512 байт
Тип Disklabel: dos
Ідентифікатор диска: 0x0cd7105f

Запуск завантажувача пристрою Кінці секторів Розмір Id Тип
/ dev / sda1 * 2048 999423 997376 487M 83 Linux
/ dev / sda2        1001470 16775167 15773698 7.5G 5 Розширений
/ dev / sda5        1001472 16775167 15773696 7.5G 83 Linux

Команда (м на допомогу): d
Номер розділу (1,2,5, за замовчуванням 5): 2

Розділ 2 видалено.

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

Створено новий розділ 2 типу 'Extended' та розміром 9,3 Гб.

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

Створено новий розділ 5 типу "Linux" та розміром 9,3 Гб.

Команда (м на допомогу): x


Команда експертів (м на допомогу): b
Номер розділу (1,2,5, за замовчуванням 5):
Новий початок даних (1001471-20479999, за замовчуванням 1003520): 1001472

Команда експертів (м на допомогу): стор

Диск / dev / sda: 9,8 GiB, 10485760000 байт, 20480000 секторів
Одиниці: сектори 1 * 512 = 512 байт
Розмір сектора (логічний / фізичний): 512 байт / 512 байт
Розмір вводу / виводу (мінімальний / оптимальний): 512 байт / 512 байт
Тип Disklabel: dos
Ідентифікатор диска: 0x0cd7105f

Пристрої завантаження пристрою Кінцеві сектори Id Тип 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 за допомогою команди в розширеному меню, але це неправильний шлях. Використовуйте розбиті та gparted програми замість старого fdisk.

Тепер швидкість читання і запису не залежить від вирівнювання, щоб почати відстежувати сектор кожної секції.


Сучасні версії fdisk також розуміють GPT, але це не має значення. Проблема не обов'язково в зміні геометрії диска, а лише обмеження неекспертного інтерфейсу fdisk.
Жиль "ТАК - перестань бути злим"

Це MBR : Disklabel type: dos. Я пам’ятаю, що розлучений поскаржився, що він не вирівняний, тому я можу спробувати вирівняти його, а потім продовжити. Я впевнений, що бачив ту саму процедуру, яку робив у fdisk, і вона працювала.
AD
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.