Переместить домашний каталог в новый раздел или диск в Linux
Если вы новичок в Linux или планируете отказаться от Windows и перейти на Linux, эта статья будет вам очень полезна. В этой пошаговой статье вы узнаете, как переместить домашний каталог на новый раздел или диск в Linux.
Введение
Большинство новичков при установке операционных систем Linux не захотят создавать разные разделы.
Новички обычно предпочитают использовать раздел по умолчанию, в котором находятся все ваши файловые системы (/home
, /var
, /boot/
, /opt
и т. д.) будут смонтированы в одном разделе.
Фактически, я также выбрал схему разделов по умолчанию, когда был новичком в Linux. Когда моя операционная система вышла из строя, я потерял все свои личные данные, находящиеся в каталоге /home
. Это потому, что я создал только один раздел для всего моего диска и смонтировал все в этом разделе.
Урок выучен! Лучший способ защитить данные — создать отдельный раздел для домашнего каталога. Поэтому, если ваш компьютер по какой-либо причине выйдет из строя, это не повлияет на раздел, если только весь диск не неисправен.
Помимо отдельных разделов, рекомендуется резервное копирование данных на внешний диск. Для платформы Linux доступно множество инструментов резервного копирования. Мы опубликовали множество руководств по теме Резервное копирование Linux. Проверьте следующие ссылки и выберите тот, который соответствует вашим требованиям.
Руководства по резервному копированию Linux:
- Как сделать резервную копию всей вашей системы Linux с помощью Rsync
- Как создать резервную копию файлов и каталогов с помощью Rsync в Linux
- Как сделать резервную копию и восстановить систему Linux с помощью Timeshift
- Как создать резервную копию и восстановить файлы с помощью BorgBackup в Linux
- Vorta - графический интерфейс для BorgBackup
- Как создать резервную копию и восстановить файлы с помощью Deja Dup в Linux
- Как настроить сервер резервного копирования с помощью Rsnapshot
- CYA - утилита для создания снимков и восстановления системы для Linux
- Restic - быстрое, безопасное и эффективное приложение для резервного копирования
- Как установить Rclone в Linux и Unix
Для целей данного руководства я буду использовать виртуальную машину Rocky Linux, работающую в Virtualbox.
Отказ от ответственности: Не делайте этого в производственной системе. Перенос каталога /home в новый раздел или диск может привести к потере данных и/или сбою загрузки системы. Если вы новичок, я настоятельно советую вам обратиться за помощью к экспертам. Ни автор, ни команда OSTechNix не несут ответственности за какой-либо ущерб. Вы были предупреждены!
Получить информацию о разделе
Мы можем выводить сведения о разделах диска с помощью различных инструментов Linux. В этом руководстве мы будем использовать команды lsblk и fdisk.
Чтобы получить информацию о блочном устройстве с помощью команды lsblk
, выполните:
lsblk
Отображение информации о блоке устройства
В моей машине есть диск емкостью 50 ГБ (sda). Я выбрал схему разметки по умолчанию, поэтому установщик ОС создает два раздела (sda1, sda2).
ПРИМЕЧАНИЕ. Схема именования дисков зависит от типа диска, подключенного к вашему компьютеру.
Как говорилось ранее, мы также можем использовать команду fdisk
для получения информации о блочном устройстве.
sudo fdisk -l
Проверьте информацию о блокировке устройства с помощью Fdisk
Чтобы проверить, в каком разделе смонтирован домашний каталог, используйте команду df
. В моем случае он монтируется в /.
df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rl-root 46G 2.8G 43G 7% /
Создать новый раздел
Я вставил в виртуальный бокс еще один диск размером 20 ГБ. Диск называется sdb.
Просмотр сведений о блочном устройстве
Давайте создадим новый раздел на новом диске, куда будет смонтирован домашний раздел. Для создания раздела я буду использовать утилиту fdisk
.
sudo fdisk /dev/sdb
Введите «n
», чтобы создать новый раздел.
Создать новый раздел
Вам будет предложено выбрать тип раздела, номер раздела, первый сектор и последний сектор. В последнем секторе вы можете ввести данные в ГБ, ПБ, ТБ и т. д. Я создаю раздел размером 10 ГБ, поэтому вводите данные как +10G.
Введите тип и размер раздела
Введите «w
», и он запишет изменения в таблицу разделов.
Сохранить изменения раздела
Теперь проверьте, создан ли новый раздел (т. е. sdb1 -> 10G), перечислив информацию о блочном устройстве с помощью команды lsblk
:
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
Форматировать раздел с файловой системой Ext4
Теперь раздел можно смонтировать в любой каталог по вашему желанию. Поскольку мы собираемся временно смонтировать этот каталог, я выбираю каталог /mnt
.
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
Запись Fstab
Вы также можете использовать UUID блочного устройства для монтирования раздела. Чтобы найти UUID для блочного устройства, выполните следующие команды.
lsblk -f /dev/sdb1
blkid | grep -i sdb1
Найти UUID
Перезагрузите компьютер, снова войдите в систему и проверьте, где смонтирован каталог /home, выполнив команду df
.
df -h /home/
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 9.8G 37M 9.3G 1% /home
Домашний каталог раздела во время установки ОС
Вы можете пропустить все шаги, описанные в предыдущих разделах, если во время установки ОС вы создали отдельный раздел для домашнего каталога. У каждого установщика есть этап настройки диска.
Вам будет предложено выбрать схему автоматического раздела или пользовательскую схему разделов. Вам следует выбрать собственную схему разделов и создать отдельные разделы.
Ниже приведен пример изображения моего пользовательского раздела RHEL 8.4, где создан отдельный домашний раздел объемом 15 ГБ.
Ручное разделение
Заключение
В этой статье мы обсудили, как переместить домашний каталог из одного раздела в другой раздел в Linux. Процедура такая же, если вы хотите переместить каталог HOME на новый диск.
Просто создайте новый раздел, отформатируйте его в выбранной вами файловой системе и смонтируйте его. После монтирования раздела переместите данные во вновь созданный раздел. Переместите данные из старого раздела в новый. Наконец, добавьте запись fstab, чтобы сделать ее постоянной.
Если у вас есть какие-либо предложения или отзывы, оставьте их в разделе комментариев, и мы будем рады ответить вам.
Связанное чтение:
- Создать домашний каталог для существующего пользователя в Linux
Изображение от Pixabay.