Опыт: заменить диск с данными /home на другой в Ubuntu 22.04.1

Уперся в место на диске, который содержит точку монтирования /home. На ноутбуке установлен Ubuntu 22.04.1. Приводом для домашних каталогов стоял HDD Hitachi на 500Гб прикупил SSD Netac SA500 TLC 3D NAND на 1Тб. Думаю 3 петабайта перезаписать надо постараться, в ноуте, который нужен мне как помощник и хранилка фильмов, которые я изредка подкачиваю в него.

Но как поменять?

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

Полезные команды

Команды, которые понадобятся для работы и информации, чтобы не накосячить в процессе.

lsblk

Команда для получения информации о блочных устройствах. С помощью данной команды можно легко узнать, какие устройства в вашем ПК подключены в данный момент и понять, к какому /dev зацепился старый и новый диск.


sudo fdisk -l

Команда позволит узнать размер диска и модель, подключенного в устройстве /dev, что дает исчерпывающую информацию о том, какой именно диск и куда подключен.


df -h /home

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


sudo mkfs.ext4 /dev/sdb1

Форматирование диска в файловую систему ext4. На самом деле я воспользовался gnome-disks для создания раздела и форматирования в ext4 (на старом диске тоже была ext4). Картинки не будет.


sudo mkdir /mnt/home_move/
sudo mount /dev/sdb1 /mnt/home_move/

Команды создания каталога для монтирования нового диска и монтирование нового диска. Новый диск был подключен через USB адаптером AGEStar — мультифункциональное устройство, к которому можно подцепить диски SATA/IDE на 2.5, 3.5 дюйма. Ubuntu сама смонтировала новый диск в /media/alexvgrey/home, я просто запомнил путь, не создавал ничего и не монтировал сам.


rsync -av /home/* /media/alexvgrey/home/

Команда копирования данных со старого диска в новый диск. Самая долгая процедура, её можно запускать сколько угодно раз, она синхронизирует данные со старым и новым местом. Ключ -a, объединяет набор команд -rlptgoD.

Рекурсивно (recursive), с симлинками (links), с разрешениями (permissions), с сохранением времени записи (time), с сохранением группы владения (group), и владельца (owner), с сохранением device файлов и special-файлов, что бы это не значило. Т.е. позволит не заботиться о разрешениях на файлах и каталогах, о симлинках, о владельце и времени изменения — ни о чем. Параметр называется «режим архивации». А -v (verbose) показывает имена и пути файлов, которые копирует в данный момент.

Далее, автор статьи предлагает сохранить старый каталог /home, переименовав его, но Ubuntu не позволит этого сделать с запущенным Gnome. И размонтировать его на рабочей операционной системе тоже не даст. Поэтому я просто выключил ноутбук и переставил диски местами: старый подключил к USB адаптеру, а новый вставил в салазки ноутбука.

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


blkid

Узнать UUID диска для того, чтобы перенастроить диск для автоматического монтирования в /etc/fstab

Последовательность действий

  1. Подключить новый диск через USB адаптер. Кстати, это может быть любой адаптер из переносных коробок для дисков или мультифункциональный адаптер, как у меня.
  2. Создать папку для монтирования и примонтировать новый диск. На Ubuntu сработает автоматически.
  3. Подготовить диск, создав на нем раздел и отформатировав его в нужную файловую систему.
  4. Синхронизировать данные со старого диска на новый командой rsync.
  5. Переставить диски местами при выключенном ноутбуке.
  6. Перенастроить точку монтирования в /etc/fstab со старого диска на новый.
  7. Перезагрузить ноутбук.

Перенастройка точки монтирования у меня выглядит вот так:

Это всё.
Комментарии приветствуются.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *