Создайте отдельный раздел /home (например, на USB-накопителе) для Ubuntu 24.04.
В этом руководстве показано, как отделить /home
от существующей файловой системы Ubuntu на отдельный раздел диска или даже USB-накопитель, сохранив при этом все личные данные.
Linux может иметь отдельный раздел /home
, что полезно для переустановки системы или даже для тестирования различных дистрибутивов Linux без потери большинства пользовательских настроек, конфигураций, загрузок и т. д.
При установке Linux обычно есть возможность создать отдельный /home
. Если вы этого не сделали, то вот пошаговое руководство, которое покажет вам, как проделать этот трюк потом.
ПРИМЕЧАНИЕ. Это руководство протестировано в Ubuntu 24.04 LTS, хотя оно должно работать и в большинстве популярных дистрибутивов Linux, таких как Debian, Fedora, Arch и других.
Шаг 1. Создайте раздел диска для /home.
Сначала запустите Диски GNOME. Выберите целевой диск на левой панели. Если справа достаточно свободного нераспределенного пространства, выберите его и перейдите к следующему шагу, чтобы создать файловый раздел Ext4.
Если НЕТ, либо отформатируйте существующий раздел, либо уменьшите его, чтобы освободить место. В моем случае я собирался использовать USB-накопитель для /home
, чтобы я мог брать его куда угодно и использовать даже на разных машинах.
Однако на USB-накопителе установлена файловая система NTFS, которая НЕ рекомендуется для файловой системы Linux по соображениям безопасности. В этом случае либо сжимайте, чтобы освободить место, сохраняя при этом существующие данные на диске, либо отформатируйте, чтобы использовать полный раздел, при этом все данные на нем будут удалены.
Как только у вас будет достаточно свободного места на диске, выберите его и нажмите «+», чтобы создать на нем раздел. Затем выберите формат для типа файловой системы Ext4, с шифрованием LUKS или без него по вашему желанию.
Когда закончите, вам нужно скопировать UUID раздела, который вы собираетесь использовать для /home
.
Если шифрование включено, разблокируйте и используйте UUID верхней половины (устройство, отмеченное как /dev/sdXY
или /dev/nvmeXnYpZ
) для /etc/crypttab
и UUID нижней половины (помеченный как /dev/mapper/xxxxxxx
) для /etc/fstab
на следующем шаге.
Шаг 2. Скопируйте существующее пользовательское содержимое в отдельный раздел диска.
После создания отдельного раздела нажмите «Разблокировать» (если он зашифрован) и смонтируйте его с помощью файлового менеджера или Gnome Disks.
Затем откройте терминал (Ctrl+Alt+T) и выполните команду, чтобы скопировать содержимое всего существующего пользователя в новый отдельный раздел. Параметр команды -a
необходим для сохранения информации о владельце, временной метке и т. д.
sudo cp -a /home/* /media/ji/xxxxxxxx
ПРИМЕЧАНИЕ: замените /media/ji/xxxxxxx
в команде на свою точку монтирования. Проверьте это либо в Gnome Disk, файловом менеджере, либо с помощью команды mount |grep /media/$USER
.
Затем переименуйте (переместите) текущий /home
в качестве резервной копии:
sudo mv /home /home_backup
ПРИМЕЧАНИЕ: после запуска этой команды mv
все личные папки будут недоступны до перезагрузки с новым отдельным /home
. Перед запуском этой команды лучше закрыть приложения и прекратить загрузку.
Наконец, заново создайте пустой каталог /home
в качестве точки монтирования для нового отдельного раздела при каждом запуске:
sudo mkdir /home
Шаг 3. Настройте, чтобы ваша система знала новый раздел /home.
1. /etc/fstab
— это файл конфигурации, который сообщает Linux о необходимости монтировать все файловые разделы при запуске.
Чтобы отредактировать файл, откройте терминал (Ctrl+Alt+T) и выполните команду:
sudo gnome-text-editor /etc/fstab
Замените gnome-text-editor
вашим любимым редактором или используйте текстовый редактор командной строки nano
, который работает в большинстве Linux.
Когда он откроется, добавьте новую строку, чтобы указать ему смонтировать указанный раздел (через UUID) как отдельный /home
:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /home ext4 defaults 0 2
ПРИМЕЧАНИЕ. Замените идентификатор соответствующим образом! Проверьте это с помощью «Gnome Disks» и, если включено шифрование LUKS, используйте UUID нижней половины, помеченный как устройство /dev/mapper/luks-xxxxxxx
В текстовом редакторе nano
нажмите Ctrl+S, затем Ctrl+X, чтобы сохранить изменения и выйти.
2. Если вы включили LUKS-шифрование для этого раздела, откройте терминал (Ctrl+Alt+T) и выполните команду для установки необходимого инструмента управления.
sudo apt install cryptsetup
Затем отредактируйте файл /etc/crypttab
с помощью команды:
sudo gnome-text-editor /etc/crypttab
Также замените gnome-text-editor
на nano
для рабочего стола, отличного от GNOME.
Наконец, добавьте новую строку, чтобы сообщить Linux о необходимости его разблокировки (попросит вас ввести пароль) при каждом запуске.
home_crypt UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none luks,retries=3
Здесь home_crypt
указывает точку монтирования в /dev/mapper
, вы можете изменить ее на любую, какую захотите. И замените UUID в соответствии с зашифрованным разделом (верхняя половина на диске GNOME, помеченная как устройство /dev/sdXY или /dev/nvmeXnYpZ).
Когда закончите, сохраните файл. И перезагрузите компьютер для проверки.
Как восстановить
Чтобы восстановить изменения и использовать /home
внутри корневого раздела, загрузите Linux и войдите в систему.
Затем повторно отредактируйте файлы /etc/fstab
и /etc/crypttab
и удалите строки, добавленные на последнем шаге.
Затем перезагрузите компьютер. Нажмите Ctrl+Alt+F3
(или F4/F5/F6), чтобы переключиться на консоль командной строки TTY, поскольку экран входа в систему может не пропустить вас без содержимого каталога /home.
В консоли TTY войдите под своим именем пользователя и паролем, затем запустите команду для восстановления резервной копии:
sudo rm -R /home && sudo mv /home_backup /home
Если вы удалили резервную копию и восстанавливать нечего, вы можете повторно создать чистую домашнюю страницу пользователя, выполнив команду:
sudo mkhomedir_helper ji
В команде замените ji
на свое имя пользователя и повторяйте эту команду снова и снова для других пользователей, если таковые имеются.