Главная >> Инструкции >> Как изменить размер Ext4

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

На данный момент 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. Она автоматически меняет как размер раздела, так и файловой системы. К тому же программа может не только менять положение конца раздела, но и начала, иногда это может быть полезно. А как вы меняете размер файловой системы? Напишите в комментариях!

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

9 комментариев к “Как изменить размер Ext4”

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

    Ответить
  2. О опять целая книга, удалите эту систему поставте виндовс будет быстрее и меньше действий придётся делать, там я могу ногой любой размер поставить а в ёбунту неполучиться

    Ответить
  3. Подскажите, пожалуйста, как поступить в ситуации, когда Убунта 22 стоит второй системой (или первой - если судить по частоте ее использования))) вместе с Виндой, все было размечено, а теперь выскакивает сообщение о недостаточности памяти в руте? От Винды в самой Винде разделы отрезать я умею - благодаря вам же, а вот как этот отрезанный раздел примонтировать к руту?

    Ответить
  4. Как изменить (уменьшить) размер файловой системы ext4 с сохранением данных?

    Суть вопроса:
    Как пришло железо я слил образ (на всякий случай) недавно сдох SSD (64Gb), ну я и купил такой же, а образ туда НЕ помещается!!!
    Взял у знакомого на 120Gb - поместился и работает, но нужно вернуть.
    Но прикол не в этом... Образ занял все 120Gb!!!! (Разметил последний раздел etx4 на всё свободное место)

    Фактически нужно всего 10Gb...

    64ку купил, а ещё 120ку покупать желания нет.

    GParted увеличивает, но не уменьшает...

    Опыта нет. Статью всю прочитал, нужно размонтировать раздел, уменьшить, а потом смонтировать. Останутся ли данные при этом?

    Ответить
  5. уменьшение не сработало.
    Стоял kubuntu на 2Тб . Уменьшил 3-й раздел с данными и системой до 200 Гб (полезной инфы 14 Гб)
    все окей - прошло как в статье
    перегрузил , загрузка дошла до BusyBox built-in commands
    предлагает прочитать help
    буду думать...

    Ответить

Оставьте комментарий