# Перенос системы на новый раздел ```shell ❯ 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 ``` ```shell ❯ 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 ``` ```shell ❯ ls -ln /home итого 4 drwx------ 40 1000 1000 4096 мар 26 15:12 da2001 ``` *** Задача сделать следующую разметку: ```shell 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 ```shell mount /dev/nvme0n1p4 /mnt ``` 2. Скопировать текущую систему на NAS ```shell 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` (новый корень) ```shell mkfs.ext4 /dev/nvme0n1p2 ``` 2. Форматируем `nvme0n1p3` (новый `/home`) — на нём сейчас `oldhome` - уже не нужен ```shell mkfs.ext4 /dev/nvme0n1p3 ``` 3. `nvme0n1p4` (старый корень) **!НЕ ФОРМАТИРУЕМ!** — на нём текущая система На завершающем шаге смотнируем его в `/other`, данные сохранятся 4. Копирование системы - Создаём точки монтирования ```shell umount /mnt mkdir -p /mnt/new_root /mnt/old_root ``` - Монтируем новый корень ```shell mount /dev/nvme0n1p2 /mnt/new_root ``` - Монтируем старый корень (текущая система) только для чтения ```shell mount -o ro /dev/nvme0n1p4 /mnt/old_root ``` - Копируем систему на новый раздел ```shell rsync -ahHAXS --numeric-ids --info=progress2 \ /mnt/old_root/ /mnt/new_root/ \ --exclude=/home ``` - Настройка fstab ```shell blkid vim /mnt/new_root/etc/fstab ``` ```shell UUID= /boot/efi vfat umask=0,quiet,showexec,iocharset=utf8,codepage=866 1 2 UUID= / ext4 relatime 1 1 UUID= /home ext4 relatime 1 2 UUID= /other ext4 relatime 0 0 ``` 5. Перенос `/home` - Монтируем новый home раздел ```shell mount /dev/nvme0n1p3 /mnt/new_root/home ``` - Копируем данные в новый home ```shell 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 ``` 6. Обновление загрузчика - Монтируем системные каталоги ```shell # 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 ```shell chroot /mnt/new_root ``` - Внутри chroot — проверка текущего состояния ```shell # Проверяем, что видим правильные разделы lsblk # Проверяем, что EFI раздел примонтирован mount | grep efi ``` - Генерируем новую конфигурацию GRUB ```shell grub-mkconfig -o /boot/grub/grub.cfg ``` - Устанавливаем загрузчик в EFI ```shell grub-install --target=x86_64-efi \ --efi-directory=/boot/efi \ --bootloader-id=altlinux \ --recheck ``` Можно перезагружать систему и проверять. После успешной загрузки стоит удалить лишние записи ```shell sudo efibootmgr -v ``` и исправить меню grub, также удалить лишнее