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

Как вынести /home в отдельный раздел и защитить данные при переустановке Linux

• 6 min read • Linux • Обновлено 23 Nov 2025
Как вынести /home в отдельный раздел
Как вынести /home в отдельный раздел

Внешний вид рабочего стола GParted на live-USB.

Перемещение домашнего каталога на отдельный раздел — практичный способ защитить данные при смене дистрибутива. Многие используют облако, внешние диски или серверы. Отдельный раздел для /home удобнее: система и пользовательские данные будут изолированы и не затрагиваются при установке новой системы.

В этом руководстве показан пошаговый процесс: от подготовки live‑диска до обновления /etc/fstab и проверки. Приведён пример с разделами /dev/sda1 (корень /) и /dev/sda3 (новый /home). У вас могут быть другие имена — обязательно проверьте.

Что нужно подготовить

  • USB-флешка или пустой CD/DVD для live-образа.
  • Образ GParted Live (или другого live-дистрибутива с gparted).
  • Программа для записи образа (например, Etcher).
  • Резервная копия особенно важных данных (на случай ошибки).

Важно: при работе с разделами вы рискуете потерять данные. Делайте бэкап перед началом.

Загрузка редактора разделов и создание live-USB

  1. Скачайте GParted Live (образ основан на Debian).
  2. Скачайте Etcher и запишите образ на флешку или запишите ISO на CD/DVD.
  3. Загрузитесь с live-носителя. Для входа в BIOS/UEFI обычно используются клавиши Esc, Del, F2, F12 — зависит от производителя.
  4. При старте GParted выберите раскладку клавиатуры и затем в предложенном меню введите startx, чтобы запустить графическую среду с GParted.

Страница загрузки GParted или общая иллюстрация интерфейса.

Подготовка разделов — уменьшение корня и создание /home

  1. Откройте терминал в live-сессии и выполните:
lsblk

Эта команда покажет список дисков и разделов. Выберите раздел, где находится корневая файловая система (/) — обычно самый большой по объёму.

  1. В GParted найдите тот же раздел, щёлкните правой кнопкой и выберите Resize/Move (Изменить размер). Уменьшите корневой раздел, оставив свободное пространство для /home.

  2. Нажмите Apply (Применить). После завершения в свободном месте создайте новый раздел: правый клик → New (Новый). По умолчанию GParted предложит ext4 — оставьте ext4 (или выберите файловую систему, совместимую с вашей системой).

  3. В поле Label (Метка) укажите “Home” или другую понятную метку. Нажмите Add → Apply.

Диалог создания нового раздела для домашнего каталога.

Совет: вместо /dev/sdX используйте UUID в /etc/fstab — так надёжнее, особенно если порядок устройств может меняться.

Монтирование разделов и перенос данных

Приведённые команды показаны с корректными пробелами. В терминале live-сессии выполните:

sudo -s

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

mkdir -p /mnt/LinuxInstall/
mkdir -p /mnt/LinuxInstallHome/

Затем смонтируйте разделы (пример):

mount /dev/sda1 /mnt/LinuxInstall/
mount /dev/sda3 /mnt/LinuxInstallHome/

Здесь /dev/sda1 — текущий корень /, а /dev/sda3 — новый раздел, на который будем перемещать содержимое /home.

Важно: не перемещайте сам каталог /home как точку монтирования. Нужно перенести содержимое директории.

Рекомендуемый способ переноса (без потери атрибутов)

Рекомендую использовать rsync для сохранения прав, времённых меток и ссылок:

rsync -aHAX --progress /mnt/LinuxInstall/home/ /mnt/LinuxInstallHome/

Флаги:

  • -a — архивный режим (рекурсивно, сохраняет большинство атрибутов);
  • -H — сохранять жёсткие ссылки;
  • -A — сохранять ACL;
  • -X — сохранять расширенные атрибуты;
  • --progress — показывать прогресс.

Если вы уверены и хотите просто перенести (и удалить старые файлы), можно использовать mv:

mv /mnt/LinuxInstall/home/USERNAME/ /mnt/LinuxInstallHome/

Где USERNAME — имя вашего пользователя. Но mv может не сохранить расширенные атрибуты при переносе между файловыми системами.

После копирования проверьте владельцев и права:

ls -la /mnt/LinuxInstallHome/
chown -R USERNAME:USERNAME /mnt/LinuxInstallHome/USERNAME

Если у вас включён SELinux, выполните восстановление контекстов:

restorecon -R /mnt/LinuxInstallHome/USERNAME

(Если команда отсутствует в live-сессии, восстановите контексты после загрузки в основной системе.)

Обновление /etc/fstab в установке, чтобы монтировать новый /home

Чтобы при запуске ОС /home автоматически монтировался, добавьте запись в fstab внутренней установки. Лучше использовать UUID. Узнать UUID можно так:

blkid /dev/sda3

Вместо /dev/sda3 используйте ваш раздел. Пример строки в /etc/fstab по UUID:

# Home Partition
UUID=ваш-uuid-here /home ext4 errors=remount-ro 0 1

Если хотите добавить строку через echo из live-сессии (простой пример с /dev/sda3):

echo '# Home Partition' >> /mnt/LinuxInstall/etc/fstab
echo '/dev/sda3 /home ext4 errors=remount-ro 0 1' >> /mnt/LinuxInstall/etc/fstab

Но надёжнее заменить /dev/sda3 на UUID=....

После переноса: проверки и типичные проблемы

Проверьте, что:

  • Все файлы пользователя присутствуют в новом разделе.
  • Владелец и группа совпадают с пользователем.
  • Права (mode) корректны для домашней папки и её подкаталогов.
  • Запись в /etc/fstab корректна и использует UUID при возможности.

Перезагрузитесь в установленную систему. Если система не загружается в графический режим или появляется проблема с логином, загрузитесь снова с live-USB и проверьте логи: journalctl -b (последняя загрузка) или смонтируйте корень и просмотрите /var/log.

Что делать при ошибках монтирования

  • Если система не может найти /home, загрузитесь с live-USB, смонтируйте корень и проверьте /etc/fstab на синтаксические ошибки.
  • Если использовали /dev/sdX, возможно устройство получило другой номер. Используйте blkid и указывайте UUID.
  • Если владелец файлов нарушен, исправьте chown -R user:user /home/user.

Альтернативные подходы и когда этот метод не подойдёт

  • LVM: если у вас LVM, лучше создать отдельный логический том для /home вместо обычного раздела.
  • Btrfs: на btrfs можно использовать субтомы (subvolumes) для /home. Перенос отличается.
  • Зашифрованный /: если корень зашифрован, перенос возможен, но нужно учитывать ключи и шифрование отдельного раздела (LUKS).
  • Если диск исчерпан или нет свободного места для нового раздела, сначала освободите место или используйте внешний диск.

Когда метод может не сработать:

  • Если файловая система корня не позволяет её уменьшить (например, ошибки или дефекты), сначала исправьте или восстановите.
  • Если у вас очень старые файловые системы или нестандартные настройки SELinux/AppArmor — потребуется дополнительная настройка.

Руководство быстрого контроля (чеклист перед установкой новой системы)

  • Сделать резервную копию важных данных.
  • [ ] Записать UUID нового раздела (blkid).
  • [ ] Убедиться, что /etc/fstab в текущей установке содержит корректную запись для /home.
  • При установке системы выбрать “Custom/Manual” разметку, назначить точку монтирования /home и НЕ форматировать этот раздел.
  • После установки проверить владельцев и права в /home.

Практические советы и лучший подход

  • Всегда используйте UUID в /etc/fstab, а не /dev/sdX. Это устраняет проблемы при смене порядка устройств.
  • Для переноса предпочтительнее rsync с флагами сохранения атрибутов.
  • Не форматируйте раздел /home при переустановке.
  • Если вы используете шифрование, подумайте о создании отдельного LUKS-контейнера для /home.

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

  1. После перезагрузки система автоматически монтирует /home с указанного раздела.
  2. Все пользовательские файлы доступны и сохраняют права и метаданные.
  3. При установке нового дистрибутива можно выбрать тот же раздел для /home и не форматировать его.

Краткое резюме

Отдельный раздел для домашнего каталога повышает гибкость и безопасность при смене дистрибутивов. Процесс требует live-носителя, уменьшения корневого раздела, создания нового раздела, аккуратного переноса данных и обновления /etc/fstab. Используйте rsync для сохранения атрибутов и указывайте UUID в fstab. Всегда делайте резервную копию перед операциями с разделами.

Важно: если вы не уверены, протестируйте процедуру на виртуальной машине или на отдельном диске.

Быстрые команды справки

lsblk                 # показать диски и разделы
blkid /dev/sda3       # показать UUID раздела
mount /dev/sda1 /mnt/LinuxInstall/
rsync -aHAX --progress /mnt/LinuxInstall/home/ /mnt/LinuxInstallHome/
chown -R username:username /mnt/LinuxInstallHome/username
restorecon -R /mnt/LinuxInstallHome/username   # если используется SELinux

Однострочный глоссарий

  • / — корневой раздел системы.
  • /home — домашние каталоги пользователей.
  • fstab — файл, где настраивается автоподключение разделов при загрузке.
  • UUID — уникальный идентификатор раздела, надёжнее имени /dev/sdX.

Автор изображения: vavco.ir

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

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро