Если вы новичок в Linux или тот, кто планирует отказаться от windows и перейти на Linux, то эта статья будет вам очень полезна.
В этой пошаговой статье вы узнаете, как перенести домашний каталог на новый раздел или диск в Linux.
Введение
Большинство новичков при установке операционных систем Linux не заботятся о создании различных разделов.
Новички обычно предпочитают придерживаться раздела по умолчанию, где все ваши файловые системы (/home, /var, /boot/, /opt и т.д.) будут смонтированы в одном разделе.
На самом деле, я тоже выбрал схему разделов по умолчанию в первые дни моего знакомства с Linux.
Когда моя операционная система потерпела крах, я потерял все свои личные данные, находящиеся в каталоге /home.
Это произошло потому, что я просто создал один раздел для всего диска и смонтировал все в этот раздел.
Урок усвоен: лучший способ защитить данные – это создать отдельный раздел для домашнего каталога.
Если по какой-либо причине произойдет сбой машины, раздел не пострадает, если только весь диск не неисправен.
Наряду с отдельными разделами, лучшей практикой является резервное копирование данных на внешний диск.
Существует множество инструментов резервного копирования для платформы Linux.
Мы опубликовали множество руководств по теме резервного копирования в Linux.
Просмотрите следующие ссылки и выберите то, что соответствует вашим требованиям.
- ✴ Резервное копирование и восстановление системных настроек Linux с Dconf
- Резервное копирование установленных пакетов и восстановление их на недавно установленной системе Ubuntu
- 🐧 Как сделать резервную копию с помощью Duplicity на Ubuntu 20.04
- ☸️ Как сделать резервную копию конфигурации мастер ноды Kubernetes
- 🐧 Предотвращение случайного удаления или изменения файлов и папок в Linux
- 🐧 Как синхронизировать файлы и каталоги на Linux и Windows с помощью Zaloha.sh
- 🗃️ 12 лучших сервисов для резервного копирования вашего Windows и MAC компьютера в облако
Получение информации о разделах
Мы можем получить информацию о разделах диска с помощью различных инструментов в Linux.
В этом руководстве мы будем использовать команды lsblk и fdisk.
Чтобы получить информацию о блочном устройстве с помощью команды lsblk, выполните следующие действия:
$ lsblk
ПРИМЕЧАНИЕ: Схема именования дисков зависит от типа диска, подключенного к машине.
Как говорилось ранее, мы также можем использовать команду fdisk для получения информации о блочном устройстве.
$ sudo fdisk -l
$ df -h /home Filesystem Size Used Avail Use% Mounted on /dev/mapper/rl-root 46G 2.8G 43G 7% /
Создание нового раздела
$ lsblk /dev/sdb NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 10G 0 part
Форматирование и монтирование раздела
Давайте отформатируем созданный раздел с файловой системой ext4 с помощью команды mkfs:
$ sudo mkfs.ext4 /dev/sdb1
$ sudo mkdir /mnt/home_move/ $ sudo mount /dev/sdb1 /mnt/home_move/
Перемещение домашнего каталога на новый раздел в Linux
Теперь все каталоги и файлы из домашней директории должны быть скопированы на вновь созданный раздел, смонтированный под /mnt/home_move.
Я использую следующую команду rsync для копирования данных на новый раздел.
Замените имя пути к директории назначения на свое собственное.
$ rsync -av /home/* /mnt/home_move/
Когда данные будут скопированы на новый раздел, не удаляйте домашний каталог.
Просто переместите его, чтобы в случае каких-либо неполадок можно было вернуться назад.
$ sudo mv /home /home_old
$ ls -l /home ls: cannot access '/home': No such file or directory
Создайте новый каталог /home для монтирования /dev/sdb1.
$ sudo mkdir /home
Помните, что раздел /dev/sdb1 уже смонтирован в каталоге /mnt/home_move/.
Его нужно сначала размонтировать, чтобы он мог быть смонтирован в каталог /home.
$ sudo umount /dev/sdb1 $ sudo mount /dev/sdb1 /home
Теперь новый раздел /dev/sdb1 успешно смонтирован в каталог /home.
Вы можете запустить команды lsblk и df, чтобы убедиться в этом.
$ lsblk /dev/sdb sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 10G 0 part /home
$ df -h /home/ Filesystem Size Used Avail Use% Mounted on /dev/sdb1 9.8G 37M 9.3G 1% /home
Постоянное монтирование с помощью Fstab
Добавьте запись в файл fstab, чтобы вновь созданные разделы автоматически монтировались при запуске системы.
В качестве меры безопасности сделайте резервную копию файла fstab.
$ sudo cp /etc/fstab /etc/fstab_old
Откройте fstab и добавьте следующие записи в нижнюю часть файла fstab.
Замените /dev/sdb1 на имя раздела вашего диска.
/dev/sdb1 /home ext4 defaults 0 0
$ lsblk -f /dev/sdb1 $ blkid | grep -i sdb1
Перезагрузите машину, снова войдите в систему и проверьте, куда смонтирован каталог /home, выполнив команду df.
$ df -h /home/ Filesystem Size Used Avail Use% Mounted on /dev/sdb1 9.8G 37M 9.3G 1% /home
Заключение
В этой статье мы рассмотрели, как переместить домашний каталог с одного раздела на другой раздел в Linux.
Процедура аналогична той, если бы вы хотели переместить каталог HOME на новый диск.
Просто создайте новый раздел, отформатируйте его с выбранной вами файловой системой и смонтируйте его.
После монтирования раздела переместите данные на вновь созданный раздел Переместите данные со старого раздела на новый.
Наконец, добавьте запись в fstab, чтобы сделать его постоянным.
Если у вас есть какие-либо предложения или отзывы, пожалуйста, напишите их в разделе комментариев, и мы с радостью ответим вам.
спс
Спасибо. По этой инструкции удалось восстановить отпавший раздел /home.
Сначала примонтировал на живую, чтобы хоть не тормозила система, а потом записал на постоянную.