Гид по технологиям

Объединение двух разделов ext3

5 min read Storage Обновлено 19 Nov 2025
Объединение двух разделов ext3
Объединение двух разделов ext3

Ситуация и цель

В примере система имеет системный раздел /dev/sda1 (~6 ГБ), за которым непосредственно следует /dev/sda3 (~4 ГБ). /dev/sda3 смонтирован в /data и содержит только пользовательские данные, а не файлы, необходимые для загрузки Linux. Цель — объединить пространство /dev/sda3 в /dev/sda1, удалив /dev/sda3 и расширив /dev/sda1.

Опасность: все данные на /dev/sda3 будут потеряны при удалении — сделайте полную резервную копию перед началом.

Текущая таблица монтирования (пример)

df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             5.8G  4.1G  1.6G  73% /
varrun                 94M  132K   94M   1% /var/run
varlock                94M     0   94M   0% /var/lock
udev                   10M   56K   10M   1% /dev
devshm                 94M     0   94M   0% /dev/shm
lrm                    94M   18M   77M  19% /lib/modules/2.6.17-10-generic/volatile
/dev/sda3             3.5G   72M  3.3G   3% /data

Подготовка к операции

  1. Полная резервная копия данных с /dev/sda3. Рекомендуемые инструменты: rsync, tar, cp -a или копирование на внешний диск. Пример:
rsync -aHAX --progress /data/ /mnt/backup/data/
  1. Убедитесь, что у вас есть Live-CD/Live-USB (Knoppix, SystemRescue, Ubuntu Live), если потребуется загрузиться в окружение восстановления.
  2. Проверьте, что на /dev/sda3 нет запущенных сервисов. Остановите приложения/демоны, использующие /data.
  3. Запланируйте окно обслуживания и уведомите пользователей.

Шаги — удаление /dev/sda3 и расширение /dev/sda1

Ниже шаги, отражающие оригинальную последовательность команд из примера.

  1. Удалите (или закомментируйте) строку с /dev/sda3 в /etc/fstab, чтобы система не пыталась монтировать удалённый раздел при загрузке.
vi /etc/fstab

Новый /etc/fstab может выглядеть так:

# /etc/fstab: static file system information.
#
#                
proc            /proc           proc    defaults        0       0
# /dev/sda1
UUID=566fd9e9-098f-4aae-9908-51efe171d8ba /               ext3    defaults,errors=remount-ro 0       1
# /dev/sda5
UUID=82102b65-35db-469a-9532-03d619d8cffb none            swap    sw              0       0
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/           /media/floppy0  auto    rw,user,noauto  0       0
  1. Размонтируйте /dev/sda3 на работающей системе — если на разделе нет системных файлов, это можно сделать без перезагрузки:
umount /dev/sda3

Если umount отказывается из-за занятого ресурса, выясните, какие процессы используют раздел:

lsof +f -- /data
fuser -vm /data
  1. Запустите fdisk для изменения таблицы разделов (работаем с /dev/sda, не с /dev/sda1):
fdisk /dev/sda

Внутри fdisk вы можете вызвать справку командой m. Чтобы удалить /dev/sda3:

Command (m for help): d
Partition number (1-5): 3

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

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

Возможна ситуация, когда повторное чтение таблицы не удаётся:

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
  1. Перезагрузите систему и загрузитесь в Live-CD/рескью-среду (Knoppix):
shutdown -r now

Загрузившись с Live-CD, станьте root и убедитесь, что разделы не смонтированы:

su
umount /dev/sda1

Дальше — шаги по увеличению /dev/sda1 аналогичны описанным в разделе 3: пересоздание раздела с тем же начальным сектором и увеличением размера до конца свободного пространства, а затем запуск resize2fs для ext3. Короткая последовательность (примерно):

  • Создать новую партицию с fdisk/parted, начав с того же стартового сектора, но заканчивая позже (используя доступное пространство).
  • Записать таблицу и перезагрузиться, если потребуется.
  • Выполнить проверку файловой системы и resize:
e2fsck -f /dev/sda1
resize2fs /dev/sda1

Замечание: точные команды зависят от схемы разделов (MBR/GPT) и инструментов — используйте parted для GPT.

Проверка и восстановление данных

  1. После расширения смонтируйте /dev/sda1 и проверьте файловую систему и доступность данных.
  2. Восстановите резервную копию на / (или в нужный каталог), если нужно вернуть файлы из /dev/sda3:
rsync -aHAX --progress /mnt/backup/data/ /data/
  1. Обновите /etc/fstab, если вы хотите смонтировать отдельные каталоги или изменить точки монтирования.

Частые ошибки и как их исправить

  • Ошибка: «Device or resource busy» при перезаписи таблицы разделов. Решение: перезагрузитесь в Live-CD и выполните изменения уже оттуда.
  • Потеря данных из-за отсутствия бэкапа. Решение: восстановите из резервной копии; если бэкапа нет — возможна попытка восстановления с помощью tools типа testdisk/photorec, но успех не гарантирован.
  • Несовместимость с загрузчиком (LILO/старые BIOS) при превышении 1024 цилиндров. Решение: проверить загрузчик и, при необходимости, обновить конфигурацию загрузчика или использовать GRUB.

Риски и смягчения

  • Риск: потеря данных. Смягчение: полная резервная копия на внешний носитель.
  • Риск: система не загрузится после изменений в partition table. Смягчение: иметь Live-CD и знание восстановления загрузчика (например, chroot + grub-install).
  • Риск: ошибки при переконфигурации fstab. Смягчение: сохранять резервную копию /etc/fstab и иметь доступ к консоли восстановления.

Контрольный чеклист перед началом (роль: системный администратор)

  • Сделана полная резервная копия /dev/sda3
  • Оповещены пользователи и назначено окно обслуживания
  • Остановлены сервисы, использующие /data
  • Строка /dev/sda3 удалена или закомментирована в /etc/fstab
  • Доступен Live-CD и инструменты (fdisk, e2fsck, resize2fs)

Критерии приёмки

  • /dev/sda3 отсутствует в таблице разделов.
  • /dev/sda1 расширен и файловая система корректно использует новое пространство.
  • Данные из /dev/sda3 успешно восстановлены в нужное место (если применимо).
  • Система корректно загружается и сервисы работают как до операции.

Короткие советы и альтернативные подходы

  • Если вы не хотите удалять раздел, можно переместить данные с /dev/sda3 в /dev/sda1 и изменить точки монтирования, но это не даст больше свободного места для корня, если корень уже ограничен.
  • Для GPT-дисков используйте parted или gdisk вместо fdisk.
  • При работе с LVM рекомендуется использовать логические тома: объединение в LVM проще и безопаснее, чем изменение классификаторов MBR-разделов.

Полезные команды-напоминания

  • Резервное копирование: rsync -aHAX –progress /data/ /mnt/backup/data/
  • Проверка занятости: lsof +f – /data; fuser -vm /data
  • Удаление раздела в fdisk: d (номер раздела) -> w
  • Проверка ext3: e2fsck -f /dev/sda1
  • Расширение ext3: resize2fs /dev/sda1

Заключение

Объединение подряд идущих разделов ext3 сводится к безопасному удалению ненужного раздела и расширению целевого раздела. Ключевые требования — актуальный бэкап, тихая консольная среда (Live-CD) и аккуратная работа с таблицей разделов. Следуйте чеклисту и проверкам до и после операции.

Ссылки

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Ошибка: принтер используется другим компьютером — решение
Windows

Ошибка: принтер используется другим компьютером — решение

Искривление текста в Photoshop и Illustrator
Дизайн

Искривление текста в Photoshop и Illustrator

Payday 2 VR не работает — как исправить
Игры

Payday 2 VR не работает — как исправить

Эмулятор HoloLens — запуск и управление приложениями
Дополненная реальность

Эмулятор HoloLens — запуск и управление приложениями

Как зашифровать облачный диск с BoxCryptor
Безопасность

Как зашифровать облачный диск с BoxCryptor

Knockout-эффект в Photoshop и Illustrator — руководство
Дизайн

Knockout-эффект в Photoshop и Illustrator — руководство