Linux

Изменение размера файловой системы Linux: пошаговое руководство

Этот гайд объясняет, как безопасно изменить размер файловой системы в Linux с помощью утилит parted, resize2fs и xfs_growfs. Вы научитесь как расширять, так и сжимать разделы.

Обновлено 16 февраля 2026 г.
15-30 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04+Debian 11+CentOS 8+Fedora 35+Ядро Linux 5.x+

Введение / Зачем это нужно

Изменение размера файловой системы — операция, которая часто требуется при управлении дисковым пространством. Вы можете расширить раздел, чтобы accomodate новые данные, или сжать его, чтобы высвободить место для других целей. Этот гайд покрывает основные сценарии для популярных файловых систем (ext4, XFS, Btrfs) и типов разделов (стандартные, LVM). После выполнения вы сможете безопасно менять размеры разделов без потери данных.

Требования / Подготовка

Перед началом выполните следующие действия:

  1. Права администратора: все команды требуют sudo.
  2. Бэкап данных: сделайте полную резервную копию важных файлов на внешний носитель или в облако.
  3. Определите текущую структуру:
    lsblk -f
    sudo fdisk -l
    
    Обратите внимание на:
    • Тип раздела (GPT/MBR)
    • Файловую систему (ext4, xfs, btrfs...)
    • Точку монтирования
  4. Освободите место (если сжимаете): удалите ненужные файлы, очистите корзину, запустите sudo apt clean (для Debian/Ubuntu).
  5. Проверьте целостность ФС:
    sudo fsck -f /dev/sdXN   # для ext4
    sudo xfs_repair /dev/sdXN # для XFS (размонтировать!)
    

Шаг 1: Изменение размера раздела

Для разделов на SSD/HDD (GPT или MBR)

Используйте parted (рекомендуется для GPT) или fdisk (для MBR). Важно: начальный сектор раздела должен остаться неизменным, иначе данные потеряются.

Пример для ext4 (расширение)

# Запустите parted
sudo parted /dev/sda

# Узнайте номер раздела (например, 2)
print

# Удалите раздел (НО не форматируйте!)
rm 2

# Создайте новый раздел с тем же началом, но большим концом
mkpart primary ext4 512MiB 100%   # замените 512MiB на исходное начало (смотрите print)

# Выйдите
quit

Для LVM (Logical Volume Manager)

Если раздел использует LVM, процесс проще:

# Уменьшить логический том (сначала ФС!)
sudo lvreduce -L -10G /dev/mapper/vg0-lv_root   # уменьшить на 10GB

# Увеличить логический том
sudo lvextend -L +10G /dev/mapper/vg0-lv_root

⚠️ Внимание: При уменьшении LVM сначала уменьшите файловую систему, затем том. При увеличении — сначала том, затем ФС.

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

Теперь, после изменения размера раздела (или LVM-тома), нужно подстроить под него файловую систему.

Для ext4

# Если раздел был расширен
sudo resize2fs /dev/sdXN

# Если раздел был сжат (только после уменьшения раздела!)
sudo resize2fs /dev/sdXN

Для XFS

XFS поддерживает только увеличение и только при смонтированной ФС:

# Монтируйте раздел, если не смонтирован
sudo mount /dev/sdXN /mnt

# Увеличьте ФС до максимального размера раздела
sudo xfs_growfs /mnt

Уменьшение XFS невозможно без пересоздания раздела и восстановления из бэкапа.

Для Btrfs

# Увеличить (онлайн)
sudo btrfs filesystem resize max /mountpoint

# Уменьшить (только на unmounted ФС)
sudo btrfs filesystem resize 50G /dev/sdXN   # до 50GB

Шаг 3: Проверка результата

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

# Показать размер разделов
lsblk

# Показать размер смонтированных ФС
df -h

# Для ext4 можно проверить суперблок
sudo dumpe2fs -h /dev/sdXN | grep -i "block count"

Если df -h показывает ожидаемый размер — операция успешна. Если размер не изменился, возможно, вы забыли изменить ФС после изменения раздела.

Возможные проблемы

Ошибка: "Filesystem is mounted" при попытке сжать ext4

Решение: Размонтируйте раздел: sudo umount /mountpoint. Если это корневой раздел, загрузитесь с LiveCD.

Ошибка: "No space left on device" при уменьшении раздела

Решение: Вы не освободили достаточно места внутри ФС. Удалите ещё файлы или используйте sudo resize2fs /dev/sdXN 20G чтобы принудительно задать меньший размер (риск потери данных!).

Ошибка: "Bad primary partition" после использования parted

Решение: Возможно, вы изменили начальный сектор. Восстановите раздел с помощью testdisk или восстановите из бэкапа таблицы разделов.

XFS не растёт после xfs_growfs

Решение: Убедитесь, что раздел действительно увеличен (проверьте lsblk). Если раздел на LVM, увеличьте том сначала: lvextend.

После изменения размера система не загружается

Решение: Проверьте /etc/fstab — возможно, указан старый UUID. Обновите UUID через blkid и отредактируйте fstab с LiveCD.

Часто задаваемые вопросы

Можно ли изменить размер корневого раздела без загрузки с LiveCD?
Что делать, если после изменения размера файловая система не монтируется?
Как изменить размер файловой системы XFS?
Безопасно ли сжимать файловую систему с данными?

Полезное

Подготовка и анализ текущей структуры
Изменение размера раздела (parted/fdisk)
Изменение размера файловой системы
Проверка результата