На данный момент Ext4 - это самая популярная файловая система для операционных систем семейства Linux, она используется как на серверах, так и на домашних компьютерах, и там и там часто возникает необходимость изменить размер раздела.
В сегодняшней статье мы рассмотрим как расширить раздел Ext4 в графическом интерфейсе или с помощью терминала.
Содержание статьи
Как увеличить размер Ext4
Шаг 1. Увеличение раздела
Если вы хотите изменить размер корневого раздела файловой системы, то вам обязательно надо будет загрузится с LiveCD иначе вы не сможете редактировать примонтированный раздел. Если это не системный раздел, то его можно отмонтировать и затем изменять. Для увеличения раздела будем использовать parted. Сначала запустите утилиту:
sudo parted /dev/sda
Здесь /dev/sda - это ваш диск, один из разделов которого вы хотите расширить. Сначала выведите текущую таблицу разделов, для этого выполните:
(parted) print
Как видите, здесь есть только один раздел и он занимает 16 гигабайт, а всего на диске доступно 21,7 гигабайт. Чтобы расширить Ext4 и занять всё это пространство используйте команду resizepart:
(parted) resizepart 1 21,7GB
Первый параметр, это номер раздела, который вы узнали из предыдущей команды, а второй, размер раздела, доступный размер тоже выводится в предыдущей команде. Теперь утилиту можно закрыть:
(parted) q
Шаг 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
Чтобы закрыть программу выполните:
(parted) q
Шаг 4. Монтирование
После этого файловую систему можно монтирововать и проверять её размер:
sudo mount /dev/sda1 /mnt
df -h | grep /dev/sda1
Выводы
В этой статье мы рассмотрели как уменьшить раздел Ext4, а также как его увеличить через терминал. Если вы работаете в графическом интерфейсе, то всё выполняется гораздо проще. Для этого можно воспользоваться утилитой Gparted. Она автоматически меняет как размер раздела, так и файловой системы. К тому же программа может не только менять положение конца раздела, но и начала, иногда это может быть полезно. А как вы меняете размер файловой системы? Напишите в комментариях!
Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали













Полезная статья. Когда то была необходимость изменять размеры разделов (хотел увеличить home за счет корневого), но без знаний не получилось.
А мне было всегда привычней делать через gparted
О опять целая книга, удалите эту систему поставте виндовс будет быстрее и меньше действий придётся делать, там я могу ногой любой размер поставить а в ёбунту неполучиться
Точно, как же я не догадался? Ща переустановлю систему на серверах...
главное держи в курсе
Спасибо за статью! помогли без боли расширить подключенный раздел!
Подскажите, пожалуйста, как поступить в ситуации, когда Убунта 22 стоит второй системой (или первой - если судить по частоте ее использования))) вместе с Виндой, все было размечено, а теперь выскакивает сообщение о недостаточности памяти в руте? От Винды в самой Винде разделы отрезать я умею - благодаря вам же, а вот как этот отрезанный раздел примонтировать к руту?
Как изменить (уменьшить) размер файловой системы ext4 с сохранением данных?
Суть вопроса:
Как пришло железо я слил образ (на всякий случай) недавно сдох SSD (64Gb), ну я и купил такой же, а образ туда НЕ помещается!!!
Взял у знакомого на 120Gb - поместился и работает, но нужно вернуть.
Но прикол не в этом... Образ занял все 120Gb!!!! (Разметил последний раздел etx4 на всё свободное место)
Фактически нужно всего 10Gb...
64ку купил, а ещё 120ку покупать желания нет.
GParted увеличивает, но не уменьшает...
Опыта нет. Статью всю прочитал, нужно размонтировать раздел, уменьшить, а потом смонтировать. Останутся ли данные при этом?
уменьшение не сработало.
Стоял kubuntu на 2Тб . Уменьшил 3-й раздел с данными и системой до 200 Гб (полезной инфы 14 Гб)
все окей - прошло как в статье
перегрузил , загрузка дошла до BusyBox built-in commands
предлагает прочитать help
буду думать...