Как загрузить скачанный ранее образ?
Надёжность, доступная каждому

Как загрузить скачанный ранее образ?

В примере будет использоваться ubuntu 18.04 на всех машинах.

Загрузить образ можно по сети, предварительно необходимо отмонтировать корневой раздел. Понадобится создать сервер, который имеет эквивалентный размеру образа объём диска. Также понадобится машина с linux, которая будет содержать образ сервера (source.raw).

1) Скачиваем grml small в корень диска.

wget http://download.grml.org/grml64-small_2017.05.iso -O /image.iso

2) Добавляем

Для дистрибутивов, основанных на rhel, понадобится вручную поднимать сеть (ip addr add, ip route add), опция debnet не будет работать.

menuentry "Grml Rescue System" {
insmod part_msdos
insmod ext2
set root=(hd0,2)
loopback loop /image.iso
echo 'Loading Grml kernel (amd64) ...'
linux (loop)/boot/grml64small/vmlinuz noeject noprompt \
boot=live \
findiso=/image.iso \
ssh=StrongPassword \
console=tty0 console=ttyS0,9600n8 \
ignore_bootid \
live-media-path=/live/grml64-small/ \
toram=grml64-small.squashfs \
net.ifnames=0 biosdevname=0 debnet dns=8.8.8.8
echo 'Loading Grml initrd (amd64) ...'
initrd (loop)/boot/grml64small/initrd.img
}

в конец /etc/grub.d/40_custom и выполняем update-grub

3) Перезагружаем сервер и в меню загрузчика (через веб консоль) выбираем Grml Rescue System

4) Включаем сеть

service networking restart

5) Сохраняем конфигурацию сети
mkdir /mnt/source && mkdir /backup && mount /dev/vda2 /mnt/source
cp /mnt/source/etc/network/interfaces /backup
cp /mnt/source/etc/udev/rules.d/70-persistent-net.rules /backup
umount /mnt/source

6) Копируем образ по сети (пароль задается в grub - ssh=StrongPassword)

cat source.raw | gzip --fast | ssh root@xxx.xxx.xxx.xxx "zcat > /dev/vda"

7) Восстанавливаем файлы конфигурации сети

mkdir /mnt/dest && mount /dev/vda2 /mnt/dest
cp /backup/interfaces /mnt/dest/etc/network/interfaces
cp /backup/70-persistent-net.rules /mnt/dest/etc/udev/rules.d/70-persistent-net.rules
umount /mnt/dest

8) Перезагружаем сервер
reboot


Ссылки по теме:

https://wiki.grml.org/doku.php?id=rescueboot

http://grml.org/cheatcodes/