5.8 KiB
5.8 KiB
Перенос системы на новый раздел
❯ 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
- Смонтировать текущий корневой раздел в /mnt
mount /dev/nvme0n1p4 /mnt
- Скопировать текущую систему на 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)
- Форматируем
nvme0n1p2(новый корень)
mkfs.ext4 /dev/nvme0n1p2
- Форматируем
nvme0n1p3(новый/home) — на нём сейчасoldhome- уже не нужен
mkfs.ext4 /dev/nvme0n1p3
nvme0n1p4(старый корень) !НЕ ФОРМАТИРУЕМ! — на нём текущая система
На завершающем шаге смотнируем его в /other, данные сохранятся
- Копирование системы
- Создаём точки монтирования
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
- Перенос
/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
- Обновление загрузчика
- Монтируем системные каталоги
# 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, также удалить лишнее