Files
notes/Перенос_системы_на_другой_раздел.md

5.8 KiB
Raw Blame History

Перенос системы на новый раздел

 lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINTS
NAME        FSTYPE   SIZE MOUNTPOINTS
nvme0n1            953,9G 
├─nvme0n1p1 vfat     499M /boot/efi
├─nvme0n1p2 ext4     100G 
├─nvme0n1p3 ext4     400G /home/da2001/oldhome
└─nvme0n1p4 ext4   453,4G /
 df -h | grep nvm
/dev/nvme0n1p4     446G         121G  302G           29% /
/dev/nvme0n1p3     393G         254G  120G           68% /home/da2001/oldhome
 cat /etc/fstab
proc            /proc                   proc    nosuid,noexec,gid=proc                          0 0
devpts          /dev/pts                devpts  nosuid,noexec,gid=tty,mode=620,ptmxmode=0666    0 0
#tmpfs          /tmp                    tmpfs   nosuid                                          0 0
UUID=11cb9b94-71bd-4ed2-9467-9e9172525593       /       ext4    relatime        1       1
UUID=39FA-63AA  /boot/efi       vfat    umask=0,quiet,showexec,iocharset=utf8,codepage=866      1       2
# installer-feature-swapfile
/swap   swap    swap    defaults        0       0
UUID=b1493839-453c-455e-8850-1ab33ca3f511    /home/da2001/oldhome    ext4    relatime    0    0
 ls -ln /home
итого 4
drwx------ 40 1000 1000 4096 мар 26 15:12 da2001

Задача сделать следующую разметку:

nvme0n1            953,9G 
├─nvme0n1p1 vfat     499M /boot/efi
├─nvme0n1p2 ext4     100G /
├─nvme0n1p3 ext4     400G /home
└─nvme0n1p4 ext4   453,4G /other

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

Создание снимка всего диска с помощью Clonezilla на NAS

Параметр Значение
DNS 192.168.13.1
NAS nas.dav.lan или 192.168.13.5
Пользователь da2001
Путь /mnt/main/data/Backup/bkp_sapelen

Копирование текущей системы в LiveUSB на NAS

  1. Смонтировать текущий корневой раздел в /mnt
mount /dev/nvme0n1p4 /mnt
  1. Скопировать текущую систему на NAS
rsync -ahHAXS --numeric-ids --info=progress2 --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*"} -e "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" /mnt da2001@192.168.13.5:/mnt/main/data/Backup/bkp_sapelen

Подготовка разделов (LiveUSB)

  1. Форматируем nvme0n1p2 (новый корень)
mkfs.ext4 /dev/nvme0n1p2
  1. Форматируем nvme0n1p3 (новый /home) — на нём сейчас oldhome - уже не нужен
mkfs.ext4 /dev/nvme0n1p3
  1. nvme0n1p4 (старый корень) !НЕ ФОРМАТИРУЕМ! — на нём текущая система

На завершающем шаге смотнируем его в /other, данные сохранятся

  1. Копирование системы
  • Создаём точки монтирования
umount /mnt
mkdir -p /mnt/new_root /mnt/old_root
  • Монтируем новый корень
mount /dev/nvme0n1p2 /mnt/new_root
  • Монтируем старый корень (текущая система) только для чтения
mount -o ro /dev/nvme0n1p4 /mnt/old_root
  • Копируем систему на новый раздел
rsync -ahHAXS --numeric-ids --info=progress2 \
    /mnt/old_root/ /mnt/new_root/ \
    --exclude=/home
  • Настройка fstab
blkid
vim /mnt/new_root/etc/fstab
UUID=<UUID-nvme0n1p1>       /boot/efi      vfat    umask=0,quiet,showexec,iocharset=utf8,codepage=866      1       2
UUID=<UUID-nvme0n1p2>       /              ext4    relatime                                                1       1
UUID=<UUID-nvme0n1p3>       /home          ext4    relatime                                                1       2
UUID=<UUID-nvme0n1p4>       /other         ext4    relatime                                                0       0
  1. Перенос /home
  • Монтируем новый home раздел
mount /dev/nvme0n1p3 /mnt/new_root/home
  • Копируем данные в новый home
rsync -ahHAXS --numeric-ids --info=progress2 /mnt/old_root/home/da2001/ /mnt/new_root/home/da2001/
chown -R 1000:1000 /mnt/new_root/home/da2001
  1. Обновление загрузчика
  • Монтируем системные каталоги
# mount /dev/nvme0n1p2 /mnt/new_root - уже должен быть смонтирован
mount --bind /dev /mnt/new_root/dev
mount --bind /proc /mnt/new_root/proc
mount --bind /sys /mnt/new_root/sys
mount /dev/nvme0n1p1 /mnt/new_root/boot/efi
  • Меняем корень - chroot
chroot /mnt/new_root
  • Внутри chroot — проверка текущего состояния
# Проверяем, что видим правильные разделы
lsblk

# Проверяем, что EFI раздел примонтирован
mount | grep efi
  • Генерируем новую конфигурацию GRUB
grub-mkconfig -o /boot/grub/grub.cfg
  • Устанавливаем загрузчик в EFI
grub-install --target=x86_64-efi \
             --efi-directory=/boot/efi \
             --bootloader-id=altlinux \
             --recheck

Можно перезагружать систему и проверять.

После успешной загрузки стоит удалить лишние записи

sudo efibootmgr -v

и исправить меню grub, также удалить лишнее