Два раздела - загрузочный /boot и / на LVM. Сначала надо получить всю информацию:
fdisk -l df -Th pvdisplay vgdisplay lvdisplay swapon -s # --show ls -l /dev/mapper # Нужно знать размеры разделов в байтах, это нужно при восстановлении lvdisplay /dev/vg0/root --unit B |grep 'LV Size' |sed 's![^0-9]!!g'
# Бэкап /boot, в архиве будет папка boot, и там всё остальное tar -czf /mnt/backup/boot01.bz2 /boot # Посмотреть, что в архиве tar -tvf /mnt/backup/boot01.bz2 # Копия раздела / на LVM # Снапшот lvcreate -s -n root-snap -L 512M /dev/vg0/root mkdir /mnt/root mount /dev/vg0/root-snap /mnt/root # бэкап dd if=/dev/vg0/root-snap conv=sync,noerror bs=64K |gzip -c > root.img.gz # вариант с копированием по SSH dd if=/dev/vg0/root-snap conv=sync,noerror bs=64K |gzip -c |ssh user@hostname "dd of=root.img.gz bs=64k" # вариант с netcat dd if=/dev/vg0/root-snap conv=sync,noerror bs=64K |gzip -c |nc 192.168.1.1 3333 # при этом на удалённой машине должно быть запущено nc -l -p 3333 > hda.img.gz # вариант с SMB smbmount //192.168.1.100/shared /mnt/remoteshare -o username=имяпользователя,password=пароль # дальше бэкап как на локальную машину
Дано - раздел ESP (/boot/efi), /boot, /.
Резервная копия раздела ESP делается точно так же, как и /boot.
tar czf /path/to/backup/ESP_backup.tar.gz /boot/efi
Вероятно, можно делать копию просто раздела /boot вместе с ESP и восстанавливать их вместе после монтирования разделов в соответствующие каталоги на новой системе.
# Разметить новый системный диск как старый, размер / сделать точно такого же размера, что и старый lvcreate -n root -L 7634762534B vg0 # вартиант - взять значение из файла lvcreate -n root -L $(cat /mnt/backup/rootsize)B vg0 # Восстановление локально zcat /mnt/backup/root.img.gz | dd of=/dev/vg0/root conv=sync,noerror bs=64K # с удалённой машины dd if=root.img.gz | ssh user@deadhost "zcat | dd of=/dev/vg0/root bs=64k" # в данном случае не следует использовать опцию conv=sync,noerror в опциях dd - # если вы всё-таки включите эту опцию, в большинстве случаев это исказит записываемые данные # (это заставляет dd не дожидаться данных, приходящих по сети, если целый блок недоступен). # Восстановить /boot mount /dev/sda1 /mnt/root/boot tar xjf /mnt/backup/boot01.bz2 -C /mnt/root/boot --strip=1 # Восстановление GRUB mount -t proc none /mnt/root/proc mount --rbind /sys /mnt/root/sys mount --rbind /dev /mnt/root/dev chroot /mnt/root /bin/bash grub-install /dev/sda update-grub
http://mydebianblog.blogspot.com/2008/03/dd.html
https://access.redhat.com/solutions/26045
# Восстановление GRUB sudo mount /dev/sdXXX /mnt sudo mount /dev/sdXX /mnt/boot/efi for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done sudo chroot /mnt grub-install /dev/sdX update-grub
https://askubuntu.com/questions/831216/how-can-i-reinstall-grub-to-the-efi-partition
https://superuser.com/questions/111152/whats-the-proper-way-to-prepare-chroot-to-recover-a-broken-linux-installation