НЕ ПРОПУСТИТЬ ИНТЕРЕСНОЕ

Свежие обсуждения

Sorry. No data so far.

Linux для начинающих. Часть 4. Перенос каталога /home на отдельный раздел диска

Здравствуйте уважаемые читатели блога www.ithabits.ru. В предыдущей публикации темы “Linux для начинающих” мы выяснили какие преимущества дает размещение каталога /home на выделенном дисковом разделе.

В этой же статье мы рассмотрели алгоритм установки операционной системы Linux с гарантированным выделением отдельного тома для монтирования каталога домашних папок пользователей.

В алгоритмах установки некоторых популярных дистрибутивов уже присутствует в явном виде возможность создания и монтирования дополнительных дисковых разделов. К сожалению, в самом популярном на сегодняшний день дистрибутиве Linux Mint такой возможности пока нет.

Интересно отметить, что среди читателей блога, принявших участие в выборе наиболее популярного Linux-дистрибутива, почти половина из них (43%) также отдали свое предпочтение этому дистрибутиву.

Однако как быть тем, кто уже установил операционную систему Linux на свой компьютер с использованием дефолтных установок, при которых каталог /home оказался в общей компании с остальными системными папками?

Нужно ли переустанавливать в этом случае операционную систему “с нуля”? Конечно нет.

Сегодня мы разберемся с тем, как просто и безопасно перенести пользовательский каталог /home на отдельный раздел диска в уже установленной системе на примере популярного Linux Mint.

Процедуру переноса мы осуществим в среде данной ОС, загруженной с LiveCD (CD или USB-Flash). Это проще, безопаснее, а главное, понятнее, что немаловажно, особенно для начинающих пользователей.

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

Для успешного выполнения операции переноса нам потребуются:

1. Загрузочный USB Flash Drive (флешка) с дистрибутивом Linux Mint;

Это устройство является обязательным.

Напомню, что для создания загрузочного USB-носителя в среде Windows можно воспользоваться замечательной утилитой Universal USB Installer.

В Linux Mint специально для этой цели предназначено приложение из категории “Стандартные”, которое так и называется “Создание загрузочного USB-носителя”.

2. Внешнее устройство хранения, например USB HDD или другой компьютер с подключением к локальной сети;

3. Загрузочный USB Flash Drive (флешка) с системой для создания дисковых образов, например с Clonezilla Live.

Атрибуты перечисленные во втором и третьем пунктах не являются обязательными, но крайне желательны.

Как мы увидим дальше, внешний накопитель может понадобиться для временного сохранения содержимого каталога /home.

Дело в том, что если на момент переноса в пользовательских каталогах хранится большое количество информации, то это может осложнить процесс создания нового раздела – на диске попросту может не оказаться достаточно свободного места. В этом случае и может потребоваться временно переместить файлы на другой носитель.

Если внешний накопитель отсутствует, то другим вариантом решения этой задачи может быть многократная последовательная переразметка дисковых разделов. Главное, чтобы в первый момент на диске все же было незанятое пространство объемом равным объему пользовательских данных.

Очень желательно, а на мой взгляд просто необходимо, до начала любых манипуляций с системой сделать ее резервную копию. Для этой цели идеально подходит программа Clonezilla Live, описанию возможностей которой ранее было уделено достаточно пристальное внимание.

Записать загрузочную флешку с Clonezilla Live можно с помощью тех же упомянутых в первом пункте инструментов.

После того, как сделана резервная копия жесткого диска и на диске высвобождено достаточное количество свободного пространства, можно приступать к переносу каталога /home.

Алгоритм переноса каталога /home

1. Создаем на диске новый раздел для каталога /home

Для этого загружаем компьютер с USB-носителя с дистрибутивом Linux Mint и запускаем утилиту GParted.

GParted представляет собой очень мощную программу для работы с дисковыми разделами в среде Linux. Она имеет локализованный графический интерфейс, что делает ее использование достаточно легким даже для неподготовленного пользователя.

Мы уже неоднократно использовали GParted ранее, например в контексте переноса системы на SSD.

Правда, при работе с LiveCD придется довольствоваться англоязычным интерфейсом, но это совершенно не проблема.

Если для дефолтной установки Linux Mint был предоставлен целый диск, то скорее всего он был размечен примерно таким образом:

GParted исходная разметка диска Linux

Очевидно, что все папки Linux расположены на первом разделе диска /dev/sda1 и смонтированы в корневой каталог “/”.

  • Уменьшаем размер основного раздела /dev/sda1 до нужного значения

Без пользовательских данных для нужд операционной системы Linux в большинстве случаев будет достаточно 10…15 Гб.

Как мы уже отметили выше, если /home занимает большой объем, то сразу уменьшить размер раздела до желаемого значения может не получиться. В этом случае нужно будет или все же постараться и временно разгрузить пользовательские папки, или изменять размеры разделов за два приема.

GParted изменение размера раздела

Выделяем первый раздел и выбираем в меню Partition –> Resize/Move.

GParted задание нового размера раздела

Задать новый размер дискового раздела можно непосредственно в соответствующем окне или перемещая боковые границы верхнего прямоугольника.

Обратите внимание, что программа GParted сразу вычислила объем имеющихся данных и, соответственно, минимально возможный размер раздела.

После того, как вы нажмете «Resize/Move», ничего не произойдет – задание будет лишь добавлено в очередь.

В таблице разделов появилась (запланировано появление) незанятая область между sda1 и расширенным разделом sda2.

  • Увеличиваем размер sda2 на величину незанятого пространства

Для этого сдвигаем начало sda2 в сторону sda1.

Если утилита GParted не позволяет это сделать, проверьте в ней же не произошло ли автомонтирование разделов. Например, мог подключиться linux-swap. В этом случае нужно выбрать “Swapoff”.

После этой операции появится незанятое пространство (unallocated) внутри расширенного раздела (контейнера) sda2.

  • Передвигаем sda5 (linux-swap) в начало sda2

Делать это не обязательно. Причем GParted предупредит о том, что перемещение раздела подкачки может привести к проблемам при запуске системы.

Теоретически считается, что раздел подкачки лучше размещать ближе к началу жесткого диска HDD для ускорения операций чтения/записи. К SSD это, естественно, не относится. На практике почувствовать это ускорение вряд ли получится.

  • Создаем на диске новый раздел для /home  

Выделяем область unallocated и нажимаем “New”.

GParted создание нового раздела на диске

Если под домашний каталог планируется отдать все высвобожденное место, то менять ничего не придется.

При желании можно создать два новых раздела: один для /home, еще один, например, для больших или временных файлов. Такую конфигурацию файловой системы мы рассматривали в прошлый раз, когда разбирали “правильную” установку операционной системы Linux на компьютер.

Проверяем или задаем желаемый тип файловой системы — File system. По умолчанию будет выбрана ext4. В подавляющем большинстве случаев имеет смысл оставить этот дефолтный тип файловой системы.

Еще раз напоминаю, что пока никаких реальных изменений на диске не произошло. До тех пор, пока не запущен процесс выполнения заданий, их можно менять, удалять, добавлять новые и т.д.

  • Принимаем новую разметку разделов

Нажимаем “Apply All Operations” и ждем завершения операций. Их продолжительность будет определятся объемом перемещаемых данных и скоростью дисковой подсистемы компьютера.

В конечном итоге должно получиться примерно так:

GParted новая таблица разделов

Для того, чтобы убедиться, что манипуляции с разделами прошли успешно, выходим из GParted и перезапускаем компьютер в обычном режиме (не с LiveCD).

2. Перенос пользовательских данных в новый раздел

Если компьютер запустился нормально, выключаем его и вновь стартуем с загрузочной флешки.

Теперь нам нужно перенести все содержимое /home на только что созданный новый раздел.

  • Создаем в каталоге /media Live-системы две временные папки

Назовем их, например, fs_old и home_new. Создать их можно в терминале (Terminal) с помощью команд:

sudo mkdir /media/fs_old
sudo mkdir /media/home_new

Или непосредственно в файловом менеджере. Для Linux Mint 17, в котором выполнены примеры для статьи, это “Nemo”. Однако запустить его нужно с повышенными привилегиями:

sudo nemo

  • Для доступа к данным смонтируем нужные разделы в созданные папки

Название (номер) ранее созданного раздела можно посмотреть в GParted или с помощью команды blkid.

sudo mount /dev/sda1 /media/fs_old
sudo mount /dev/sda6 /media/home_new

  • Копируем все содержимое /home в новый раздел:

sudo cp -a /media/fs_old/home/* /media/home_new

На всякий случай можно запустить файловый менеджер и убедиться, что данные скопированы.

  • Удаляем пользовательские данные из их предыдущего расположения (с раздела sda1):

sudo rm -rf /media/fs_old/home/*

3. Монтируем новый раздел в каталог /home при загрузке системы

Для того, чтобы система увидела перенесенные на другой диск пользовательские каталоги при старте, необходимо добавить соответствующую инструкцию в файл fstab.

fstab (file systems table) – один из основных конфигурационных файлов системы Linux, в котором прописаны точки и опции монтирования разделов жесткого диска и других носителей в процессе загрузки операционной системы. Этот файл находится в папке /etc.

sudo gedit /media/fs_old/etc/fstab

Параллельно запускаем GParted и из окна свойств раздела sda6 копируем его UUID.

Далее в открытом окне текстового редактора добавляем в конец fstab такую строку с только что найденным UUID:

UUID=1734e4c4-9755-41ff-9e75-739966cdf365 /home ext4 defaults 0 2

Альтернативным вариантом узнать UUID раздела является команда blkid.

Записываем файл, закрываем все приложения и перезапускаем компьютер в обычном режиме.

Наслаждаемся полученным результатом. Как видите, все очень просто и быстро.

4. Оптимизация размеров дисковых томов

Данный пункт актуален только в том случае, если из-за большого объема пользовательских данных на первом шаге не получилось уменьшить размер системного раздела Linux до желаемого значения.

Вновь загружаем компьютер с флешки с Live-дистрибутивом Linux и запускаем GParted. Далее выполняем необходимые операции Partition –> Resize/Move.

Что делать если после внесенных изменений система не запускается

Если все было сделано аккуратно, то в подавляющем большинстве случаев никаких проблем с загрузкой не возникнет.

Точнее сказать, никаких проблем с загрузкой системы, как таковой, возникнуть и не может. Но если допустить ошибку при редактировании fstab, то могут возникнуть неприятности со входом в пользовательский сеанс.

Если во время старта системы на экране появилось приглашение: “keys:Нажмите “S”, чтобы пропустить подключение или “M” для…” и загрузка остановилась, то, вероятнее всего, что-то не так в добавленной строке в файле fstab.

Это совершенно не причина для паники – ничего страшного не произошло и в любом случае легко поправимо.

Набираем “M”:

linux_filesystem_mount_failed

Вводим root пароль и вручную монтируем раздел sda6 (в нашем случае) в домашний каталог /home:

mount /dev/sda6/ /home

Нажимаем “Control-D”, после чего система возобновит загрузку и благополучно запустится в пользовательском сеансе.

Теперь вновь открываем файл fstab на редактирование:

sudo gedit /etc/fstab

и спокойно ищем ошибку.

Интересно, что явной ошибки может и не быть. Так, получив однажды такой “сюрприз” при первом после переноса пользовательских папок на отдельный раздел старте компьютера, я долго глядел на содержимое конфигурационного файла и не мог понять, что в нем не так.

Оказалось, что Linux Mint требует обязательного указания атрибута “defaults” и без него директиву монтирования тома не выполняет.

Если есть проблемы с описанным вариантом старта системы, то всегда можно загрузиться с имеющейся загрузочной флешки и поправить файл fstab в Live сеансе.

Комментарии: 8. Присоединяйтесь к обсуждению!

  1. павел:

    вообще,в идеале, хотелось бы побольше видеть статей разнообразных именно по LINUX . без разницы даже- на какую тему и по какому дистрибутиву, лишь бы было доступно изложено. буквально лебой апсект настройки linux -системы взять и рассказать про него…и, пускай, это уже даже где-то было.

    • Павел, Вашу мысль я понял. Буду стараться по-возможности писать статьи на данную тему. Самый главный враг — это время, вернее его дефицит.

  2. Спасибо. Очень полезный материал для новичка. Прошел по пунктам весь путь и все получилось без проблем.

    • Георгий, спасибо за Ваш отзыв. Я действительно всегда стараюсь представлять наиболее простые и обязательно проверенные решения. Очень приятно, что материал оказался полезным.

  3. Alex:

    Спасибо за статью. Все подробно «разжевано». Получилось как и описано, без проблем.

    • Alex, я очень рад, что у Вас все получилось. Я специально выбрал план переноса гарантирующий минимум возможных неприятностей.

  4. Максим:

    Подскажите, как убрать надпись “keys:Нажмите “S”, чтобы пропустить подключение или “M” для…”, она после исправления ошибки все равно появляется каждый раз при загрузки на 5 секунд, а далее система отлично загружается?

  5. УкрОп:

    Спасибо

Написать комментарий

Subscribe without commenting