modify: Чт 26 мар 2026 15:46:41 MSK

This commit is contained in:
2026-03-26 15:46:49 +03:00
parent 7a0d4e988e
commit cd53f15b85

View File

@@ -0,0 +1,195 @@
# Перенос системы на новый раздел
```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/clonezilla |
### Копирование текущей системы в 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
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/
```
- Настройка fstab
```shell
blkid
vim /mnt/new_root/etc/fstab
```
```shell
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
```
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, также удалить лишнее