5 мар. 2010 г.

Linux: увеличение размера корневого раздела (root)

В данной статье (скорее заметке) будет вестись речь об увеличении размера корневого раздела жёсткого диска, если Вы желаете сразу просмотреть решение - пролистните до него в низ.

Перед тем, как я установил Linux (это был 2007 или 2008 год), я конечно же прочитал множество статей, о том, как это сделать - и, естественно, совсем ничего не понимал). 

Основная проблема заключалась в том, что я не знал как разбить жёсткий диск, в статьях давались примерно одинаковые советы, корневому разделу 5-10GB, немного на SWAP (RAMx2 для малого кол-ва памяти, или 512-1024МБ), остальное под /home/ где будут храниться все мои настройки и личные данные. 

В основном, авторы статей были правы и меня эта разбивка абсолютно устраивала (в глубокие технические подробности этого дела я и не пытался залезть).

Мой системный жёсткий диск выглядел примерно следующим образом:
раздел /dev/sda1, точка монтирования "/", размер 10ГБ
раздел /dev/sda2, SWAP, размер 512МБ
раздел /dev/sda3, точка монтирования "/home", размер - всё остальное
Однако в один прекрасный момент обновления дистрибутива (я использую Kubuntu) достигли достаточно больших размеров, что место на  "/" очень быстро стремилось к 0, что мешало безболезненно и быстро обновиться, и я понял, что 10ГБ недостаточно.

Самым очевидным вариантом, естественно, стало увеличение корневого раздела до 15ГБ (цифра сугубо с потолка), что я и выполнил, о чём сейчас подробнее распишу (сразу скажу что процедура эта довольно не сложная).

Итак.


Дано: жёсткий диск на 160ГБ, разделы - root (корень) 10ГБ, SWAP 512MB, /home - всё остальное.
Задача: увеличить размер root (корня) до 15ГБ, не повредив при этом никакие данные.
Важное условие: на /home должно быть свободного места ровно столько, на сколько Вы желаете увеличить root (именно от /home мы и будем отрезать)
Принадлежности: LiveCD любого дистрибутива с установленным пакетом gparted, 2-3 часа свободного времени (в зависимости от объёма диска).


Решение:


1. Выключаем компьютер (нет, подождите, сначала дочитайте) и загружаемся с LiveCD

2. Запускаем gparted с правами суперпользователя (для debian: sudo gparted из консоли (терминала))

3. Выбираем необходимый диск в выпадающем меню справа (не ошибитесь!)

4. Сперва выбираем раздел на котором SWAP (не ошибитесь!), нажимаем правой кнопкой, выбираем "удалить", подтверждаем и применяем (удаление займёт не более минуты), появится "неразмеченная область".
Примечание: поскольку сразу после корневого раздела идёт SWAP, мы его должны удалить, чтобы он не мешал увеличивать размер, если после корневого раздела сразу идёт /home, то данный шаг пропускаем.
5. Теперь выбираем раздел с /home, нажимаем правой кнопкой, выбираем "изменить размер", после чего сдвигаем ползунок СЛЕВА (с начала полосы, это важно) вправо на необходимый объём, подтверждаем и применяем (выполнение данной операции у меня заняло примерно два с половиной часа, Ваше вмешательство не потребуется, поэтому можно идти по делам).

6. После выполнения операции "отрезания" (англ: shrink) от /home, Ваш жёсткий диск в gparted будет выглядеть следующим образом: root (10ГБ), неразмеченная область, /home
Примечание: теперь можно выполнить увеличение корневого раздела на размер неразмеченной области)

7. Выбираем корневой раздел, нажимаем правой кнопкой мыши - "изменить размер" и сдвигаем ползунок вправо на необходимое значение (не забудьте оставить место для SWAP) и нажимаете "ОК" (сразу не применяйте, поставим в очередь еще следующую операцию).

8. Выбираем оставшуюся неразмеченную область, нажимаем правой кнопкой - "создать", выбираем файловую систему "linux-swap" и нажимаем "ОК".

9. Нажимаем применить (выполнится две операции, 7 и 8), ожидаем примерно 3-5 минут.

10. Всё, теперь можно перезагружаться в основную систему :-)

Всё это я проделал на своём домашнем (по совместительству и учебном и рабочем) компьютере, завершилось всё хорошо, без каких-либо форс-мажоров, удачи!


P.S. Для подстраховки можете сделать backup важных файлов, временно, на другой диск.

4 комментария:

nohup комментирует...

Я изменял размер корня на Ubuntu, в результате при загрузке чтобы увидеть графику надо жать alt+f7. Плюс к этому пропадала текстовая оболочка в ctrl+alt+f1..f6. Фиксилась сама, но через длительный промежуток времени, видимо проходило определенное количество запусков после последней проверки файловой системы, она запускала fsck и после этого все нормально. Самому прочекать ФС руки не доходили. До сегодняшнего момента было все ок, пока не столкнулся с проблемой отрезания куска от корня для освобождения места под другую ОС

Ignatus комментирует...

Как я решал эту проблему на глючном ноутбуке подручными средствами.
Увеличил раздел /dev/sda5, где жил мой SimplyLinux, с 4Гб до 10Гб. На предыдущих разделах находится действующая Виста; из-под неё в разделе "Управление компьютером" "подрезал хвост" предшествующему разделу на 4Гб. Из-под Linux записал туда образ диска командой
# cat /dev/sda5>/mnt/sda3/sda5.img
Далее взял установочник ALT Linux 2.3 (другие не шли), прогнал программу установки до разбивки дисков, убил раздел sda5, создал новый нужной величины и вышел. Затем с того же диска запустил Recovery Console и сказал
# modprobe ntfs
# mount /dev/hda5 /mnt/disk
# cat /mnt/disk/sda5.img>/dev/hda5
После этого Linux работал как раньше, но и ФС не увеличилась. Помогла команда
#resize2fs /dev/sda5 10G
(да, прямо на работающей корневой ФС); сначала она говорит, на сколько блоков ты переборщил, потом вводишь нужное число блоков вместо "10G", и сразу можно работать.

Ignatus комментирует...

хвост я, естественно, "резал" на 6 Гб, а в точку /mnt/disk монтировал /dev/hda3.

Фимпус комментирует...

свежие семена адениума Поставки из Тайланда
адениум арабикум обесум , плюмерия оптом и в розницу