LINUX.ORG.RU

Можно ли расширить корневой primary раздел, уменьшив logical раздел?

 , , ,


0

1

Классика - в корне кончается место. Пока тренируюсь на виртуалке, чтобы в на основной машине не поломать ничего. Имею такую таблицу разделов.

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 136718335 136716288 65.2G 83 Linux
/dev/sda2       136720382 335542271 198821890 94.8G  5 Extended
/dev/sda5       159762432 304252927 144490496 68.9G 83 Linux
/dev/sda6       151949312 159762431   7813120  3.7G 83 Linux
/dev/sda7       136720384 151947263  15226880  7.3G 82 Linux swap / Solaris

Возможно ли уменьшить логический раздел /dev/sda5 и за счет этого увеличить корневой /dev/sd1?

Через Gparted LiveCD уменьшил /dev/sda5, но нет возможности это пространство добавить к /dev/sd1.

Через fdisk удалял разделы sda1 и sda2, затем создавал sda1 с +75G (перекрывая sda6 и sda7 - /tmp и /swap), далее создавал sda2, где логическому sda5 назначал сектора как было изначально. Он этот раздел также определял как ext4. Но при монтировании вываливалось

wrong fs type bad option bad superblock on contains ext4 filesystem

Про LVM знаю, на машине именно такая разметка.

Как ты знаешь разделы с номерам 1-4 - это основные разделы, а разделы с номерами 5 и выше - это логические разделы.

Даже если основных разделов всего 2, то первый логический раздел будет с номер 5.

Но логические разделы создаются в расширенном разделе, который занимет одну из записей основного раздела.

В твоём случае /dev/sda2 (2 раздел) является расширенным, а логические разделы /dev/sda5 и далее созданы уже в нём (в расшиенном Extended разделе).

И собственно записи о логических разделах хранятся не в основной таблице разделов в нулевом секторе, а записаны в начало расширенного раздела.

Поэтому что бы увеличить первый раздел тебе нужно переместить логические разделы внутри расширенного раздела, а затем переместить начало расширенного раздела.

anonymous ()
Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 136718335 136716288 65.2G 83 Linux
/dev/sda2       136720382 335542271 198821890 94.8G  5 Extended
/dev/sda5       159762432 304252927 144490496 68.9G 83 Linux
/dev/sda6       151949312 159762431   7813120  3.7G 83 Linux
/dev/sda7       136720384 151947263  15226880  7.3G 82 Linux swap / Solaris

У тебя всего по сути 4 раздела, которые тебе нужны и ты можешь преобразовать из в основные разделы.

Просто загрузись с любого LiveCD Linux и удали посредством fdisk, именно fdisk записи о разделах со второго по 7. И затем средствами fdisk создай в тех же границах записи об основных разделах.

Т.е. станет вот так:

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 136718335 136716288 65.2G 83 Linux
/dev/sda2       159762432 304252927 144490496 68.9G 83 Linux
/dev/sda3       151949312 159762431   7813120  3.7G 83 Linux
/dev/sda4       136720384 151947263  15226880  7.3G 82 Linux swap / Solaris
А потом средствами gparted опять же работая с LiveCD, если нужно уменьши, а затем перемести 2 раздел вправо, выделив свободное пространство.

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

И в конце увеличь первый раздел.

anonymous ()
Ответ на: комментарий от legolegs

Сделал разделы первичными в границах бывших логических через fdisk. Далее поменял размеры на необходимые, все работает.

Лучше пока можешь переделай всё на LVM, то через полгода с таким-же тредом придёшь.

Подскажи, как в работающей системе такое провернуть?

magrif ()
Ответ на: комментарий от magrif

Подскажи, как в работающей системе такое провернуть?

Копируешь куда-либо все нужные данные, удаляешь разделы, создаёшь на их месте раздел для физического тома LVM (LVM physical volume). Добавляешь PV в LVM Volune Group, а уже в VG создаёшь Logical Volume нужного размера. На LV файловую систему, монтируешь и возвращаешь скопированные данные на LV.

Копировать естественно нужно с сохранением прав.

Вот почитай как работать с LVM:
http://xgu.ru/wiki/LVM
https://wiki.archlinux.org/index.php/LVM_(Русский)
https://wiki.gentoo.org/wiki/LVM/ru

После чего правишь /etc/fstab, ставишь в систему LVM, перегенириуешь /initramfs и добавляешь, если надо параметры ядра для запуска LVM.

Можно делать кусками, т.е. освободить один из разделов от данных, создать на нём LVM, там подготовить логические тома, перенести туда систему, а затем на разделах с которых переносилась система создать физические тома LVM и добавить их в Volume Group.

anonymous ()
Ответ на: комментарий от magrif

В работающей не очень получится. Лучше с livecd. Просто создавать pv на свободном месте. Можно даже внутри временных файлов Заносить туда хоть блочно, хоть файлово. Если места мало, то повторить. Есть ещё способ - подвинуть разделы и удалить так, чтобы можно было создать lv на их месте.

Перепроверить цепочки загрузки и монтирование стоит тоже. Наверняка что-то надо перенастроить/переустановить.

И переразметь сразу в GPT.

boowai ()