Как увеличить размер корневого каталога linux

Обновлено: 05.07.2024

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

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

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

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

Мой системный жёсткий диск выглядел примерно следующим образом:

раздел /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 комментария:

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

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

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

В инструкции рассмотрены сценарии расширения дискового пространства разделов в Linux без потери информации.

Принцип увеличения диска:

  1. Расширение раздела.
  2. Изменение размера файловой системы.

В зависимости от типа раздела и файловой системы, действия различаются.

Любая работа с диском несет риск потери информации. Перед началом работ убедитесь в наличие резервных копий ценных данных.

Шаг 1. Расширение раздела

Обычные тома

Допустим, есть диск /dev/sdb и раздел /dev/sdb2, который нужно увеличить.

Сначала необходимо отмонтировать раздел:

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

Подключаемся утилитой fdisk к /dev/sdb:

Если мы работаем с разделом более чем 2Тб, используем утилиту parted.

Смотрим номера разделов:

Удаляем раздел (не переживайте — все данные сохраняются):

* в моем примере, раздел для удаления на второй позиции.

Создаем новый раздел:

Номер раздела — 2:

На запрос начального и конечного секторов просто нажимаем Enter.

Если раздел был загрузочный, добавляем соответствующий флаг:

Еще раз проверяем, что получилось:

LVM-тома расширяются на лету, даже для корневых разделов. В данном примере, работаем с /dev/sda.

Открываем диск утилитой fdisk:

* напомню, что при работе с диском 2Тб и более, следует использовать утилиту parted.

Создаем еще один раздел:

Номер раздела оставляем тот, который предлагает система (просто нажимаем Enter).

Первый и последний сектора также оставляем по умолчанию для использования всего дискового пространства (еще два раза Enter).

Задаем тип раздела:

Выбираем номер раздела (в моем примере создавался раздел 3):

Командой L можно посмотреть список всех типов, но нас интересует конкретный — LVM (8e):

Проинформируем систему, что в таблице разделов произошли изменения:

Создаем физический том из нового раздела:

Смотрим наши Volume Group и для нужного добавляем созданный том:

vgextend vg_centos /dev/sda3

* в моем примере группа томов LVM называется vg_centos

Смотрим LVM-разделы и расширяем пространства для нужного:

lvextend -l +100%FREE /dev/vg_centos/lv_root

* данная команда расширяем LVM-раздел /dev/vg_centos/lv_root, используя все свободное пространство (100%FREE).

Шаг 2. Изменение размера для файловой системы

Посмотреть файловую систему:

ext2/ext3/ext4:

XFS:

Reiserfs:

* обратите внимание, что в данных примерах используются различные устройства.

Если раздел был отмонтирован, монтируем его, например:

mount /dev/sda2 /mnt

Проверяем, что настройки применились:

Увеличение разделов с Gparted

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

Запускаем утилиту - выбираем диск, с которым будем работать - кликаем правой кнопкой по разделу, который хотим увеличить и выбираем Resize/Move:

Изменение раздела в GParted

В открывшемся окне с помощью мышки или форм меняем размер раздела:

Уменьшение или увеличение пространства в GParted

Нажимаем кнопку Resize/Move.

Проверяем изменения в окне программы и сохраняем настройки кнопкой «Apply All Operations»:

На данный момент Ext4 - это самая популярная файловая система для операционных систем семейства Linux, она используется как на серверах, так и на домашних компьютерах, и там и там часто возникает необходимость изменить размер раздела.

В сегодняшней статье мы рассмотрим как расширить раздел Ext4 в графическом интерфейсе или с помощью терминала.

Как увеличить размер Ext4

Шаг 1. Увеличение раздела

Если вы хотите изменить размер корневого раздела файловой системы, то вам обязательно надо будет загрузится с LiveCD иначе вы не сможете редактировать примонтированный раздел. Если это не системный раздел, то его можно отмонтировать и затем изменять. Для увеличения раздела будем использовать parted. Сначала запустите утилиту:

sudo parted /dev/sda

Здесь /dev/sda - это ваш диск, один из разделов которого вы хотите расширить. Сначала выведите текущую таблицу разделов, для этого выполните:


Как видите, здесь есть только один раздел и он занимает 16 гигабайт, а всего на диске доступно 21,7 гигабайт. Чтобы расширить Ext4 и занять всё это пространство используйте команду resizepart:

(parted) resizepart 1 21,7GB


Первый параметр, это номер раздела, который вы узнали из предыдущей команды, а второй, размер раздела, доступный размер тоже выводится в предыдущей команде. Теперь утилиту можно закрыть:

Шаг 2. Увеличение файловой системы

Осталось увеличить самую файловую систему до конца раздела. Для этого воспользуемся утилитой resize2fs. Она может работать даже когда файловая система смонтирована.

sudo resize2fs /dev/sda1


Утилита по умолчанию увеличивает файловую систему на всё доступное пространство раздела.

Шаг 3. Проверка на ошибки

После этого не помешает проверить всё на ошибки с помощью fsck:

sudo e2fsck -f /dev/sda1


Шаг 4. Монтирование

Затем можно монтировать полученную файловую систему и проверять её размер, как видите, теперь она занимает 20 гигабайт:

df -h | grep /dev/sda1

Как уменьшить размер Ext4

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

Шаг 1. Проверка файловой системы

Перед тем, как уменьшить размер Ext4 надо проверить её на ошибки. Если файловая система смонтирована, размонтируйте её:

sudo umount /dev/sda1

Для этого выполните:

sudo e2fsck -f /dev/sda1


Шаг 2. Уменьшение файловой системы

Уменьшение размера файловой системы тоже выполняется с помощью resize2fs. Но теперь утилите надо передать в параметрах новый размер файловой системы. Например, 16 гигабайт:

resize2fs /dev/sda1 16G


Размер можно указывать в килобайтах (K), мегабайтах (M) или гигабайтах (G). Теперь вы знаете как изменить размер Ext4. В выводе утилита вы увидите сколько теперь блоков занимает файловая система. Это число надо умножить на 4096 чтобы получить размер файловой системы в байтах. Цифра четыре взята потому что размер одного блока в Ext4 равняется четырём килобайтам. Например, в данном случае это будет 17179869184 байт или 16 гигабайт:


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

Шаг 3. Уменьшение раздела

Запустите parted и используйте ту же команду resizepart чтобы уменьшить размер раздела:

sudo parted /dev/sda

(parted) resizepart 1 16,1GB


Чтобы закрыть программу выполните:

Шаг 4. Монтирование

После этого файловую систему можно монтирововать и проверять её размер:

sudo mount /dev/sda1 /mnt

df -h | grep /dev/sda1

Выводы

В этой статье мы рассмотрели как уменьшить раздел Ext4, а также как его увеличить через терминал. Если вы работаете в графическом интерфейсе, то всё выполняется гораздо проще. Для этого можно воспользоваться утилитой Gparted. Она автоматически меняет как размер раздела, так и файловой системы. К тому же программа может не только менять положение конца раздела, но и начала, иногда это может быть полезно. А как вы меняете размер файловой системы? Напишите в комментариях!

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Затем я попробовал, sudo apt-get clean как рекомендовано. Ничего не произошло! Даже окно не открылось. Научи меня, удаляя временные пакеты.

Удаление временных файлов может быть не очень полезным в случае дальнейших обновлений и установок, так как у меня не осталось слишком много места в моем /. Я хочу расширить свой раздел с помощью нераспределенного пространства в моем HD. Ниже мое окно Gparted.

Gparted окно

Я получил ответ здесь . Но это не было полезно для меня. У меня было два варианта. Но ответ не работал для обоих моих выборов.

Вариант 1: я могу использовать нераспределенное пространство 4,25 ГиБ для расширения моего / dev / sda10. Для этого мне нужно переместить раздел linux-swap. Но моя опция Resize / Move отключена для раздела linux-swap. Выбор 1 не удался!

Вариант 2: вместо этого я могу использовать нераспределенное пространство 14,35 ГиБ. В этом случае я должен переместить более одного раздела. Раздел / dev / sda4 является первым в списке. Даже этот раздел имеет ту же проблему. Изменение размера / перемещение отключено. Выбор 2 не удался!

У меня сейчас нет выбора.

Что мне делать? Помогите мне расширить мой / с Gparted.

Почему в вашем корне написано, что 1,96 ГиБ не используется? У вас действительно есть место, нет? Какой выход df ? apt-get clean не всплывает окно и даже не отображает в командной строке то, что он сделал. Он просто делает это, но освободившееся пространство 1.96 ГБ показывает, что он что-то сделал.

На самом деле вы можете использовать 4.25 ГиБ в конце без какой-либо перезагрузки, потому что Linux поддерживает изменение размера разделов в режиме онлайн, начиная с ядра 2.6 (это означает, что вы можете изменять размер разделов, пока они монтируются, даже корневой раздел, без перезагрузки).

Я покажу вам, как удалить раздел подкачки и расширить корневой раздел со всем свободным пространством в конце. Затем я буду использовать нераспределенное пространство в начале (14,35 ГБ) для нового раздела подкачки. Конечно, 14.35 ГиБ - это немного, поэтому вы также можете использовать некоторые для расширения вашего NTFS-раздела.

Щелкните правой кнопкой мыши /dev/sda11 и выберите Swapoff

Щелкните правой кнопкой мыши /dev/sda11 и выберите Delete

Нажмите на Apply All Operations

Расширьте корневой раздел:

Вернуться к GParted

Откройте GParted меню и нажмите Refresh Devices

Щелкните правой кнопкой мыши по незанятому пространству и выберите New

Выбрать в linux-swap качестве файловой системы

Нажмите на Apply All Operations

Первоначально я написал это, используя только командную строку, но затем я решил попытаться использовать GParted настолько, насколько это возможно, так как вам будет легче увидеть, что происходит. Вы даже можете расширить корневой раздел, используя GParted. Но вам нужно размонтировать корневой раздел, прежде чем работать над ним. Я имею в виду, что вы должны работать в автономном режиме (используя liveUSB). В некоторых случаях ваш личинка может быть повреждена. Так что переустановите свой grub, прежде чем выходить из офлайн-работы.

Я верю, что GParted автоматически включит новый раздел подкачки, но я не уверен. Вы всегда можете проверить, щелкнув по нему правой кнопкой мыши и выбрав Swapon . Если этот параметр недоступен, разделы подкачки, вероятно, уже включены.

Кроме того, этот Refresh Devices шаг, вероятно, не нужен, но вы должны следовать ему просто, чтобы быть уверенным.

Мы не можем изменить размер расширенного раздела ( sda4 в данном случае), поскольку в нем есть смонтированный логический раздел. Таким образом, нам нужно загрузиться в режиме реального времени на Ubuntu USB / CD-привод. Оттуда запустите GParted, при необходимости отключите swap, щелкните правой кнопкой мыши на расширенном разделе и измените его размер в соответствии с вашими потребностями. Затем выполните шаги, указанные по мере необходимости, чтобы изменить размер root и добавить обратную подкачку. В случае изменения UUID вашего корневого раздела вы можете обновить Grub, выполнив следующие действия в режиме реального времени:

Первая пара команд объединяет корневой раздел ( sda10 в данном случае) и настраивает его /dev/ для использования в среде chroot. (Другие разделы, которые могут быть аналогичным образом смонтированы для более функционального chroot /proc , /sys и т /dev/pts . Затем мы вводим chroot и обновляем grub. Это заставляет grub использовать новые UUID там, где это необходимо. После выхода из chroot перезагрузитесь, и мы должны вернуть меню grub.

Читайте также: