Восстановление backup.tgz Ubuntu
Попросили помочь восстановить backup.tgz, снятый с Ubuntu 12.0.4 на виртуалку. Также обнаружилось, что в бэкапе отсутствует ядро и нет записи о рут в диске в /etc/fstab.
Создана виртуалка на Proxmox, к ней подключен CDROM с liveCD, backup.tgz запаковали в iso и подключили как cdrom к виртуалке:
genisoimage -o ./image.iso ./iso/*
Загрузились в rescue mode. Создали 2 партиции:
/dev/vda1(root) /dev/vda2 (swap)
Сделали партицию /dev/vda1 загрузочной. Создали файловую систему на /dev/vda1:
mkfs.ext4 /dev/vda1
Примонтировали:
mount /dev/vda1 /mnt
Восстановили бэкап на партицию:
tar -xvpzf /path/to/backup.tgz -C /mnt/
Восстановили grub:
mkdir /mnt/proc mkdir /mnt/sys mkdir /mnt/mnt mkdir /mnt/media for f in dev dev/pts proc ; do mount --bind /$f /mnt/$f ; done chroot /mnt grub-install /dev/vda
Далее перезагружаемся опять в rescue и монтируем рут с диска. Получаем загруженный Linux с данного бэкапа, но самостоятельно он грузится пока не может.
Установили кернел:
apt-get install linux-image-generic
Могут возникнуть ошибки с конфигурацией, пришлось:
chmod -x /usr/share/initramfs-tools/hooks/fixrtc
Дописали описание рутового диска в /etc/fstab:
/dev/vda1 / ext4 default 1 1
После этого повторяем инсталляцию grub:
grub-install /dev/vda
Итог — система грузится и работает!
Есть вопрос? Напишите в комментариях!