Hi all,
aside to regular BackInTime and rsnapshot/rsync based backups I’m also making Clonezilla backups of my Leap box (15 currently, but started to use Clonezilla at 42.1 or so).
Needed the file based backups sometimes, never needed a bare metal recovery, so to be honest: Never tested it before.
Having now after some smaller issues qemu running fine, I’ve created a Clonezilla based VM and tried to restore my Clonzilla-backed-up SSD (latest 42.3 image, but doesn’t matter) to a virtual disk (qcow2). Went well, created a new Leap 15 server only VM, can mount all recovered partitions, and access all files.
BUT, when creating another VM with the “recovered” qcow2 virtual disk as primary hdd, this VM starts the GRUB menu, and no chance for me to get any step further.
Whyever, even no (meaningful for me) error message was shown.
- When waiting for grub2 to boot the default option, msgs are like this (translated from German):
Linux 4...... is loaded
Initial Ram Disk is loaded
Failed to boot both default and fallback entries
Got this msg first after digging into grub2 docs and stripping all graphical etc. options from /boot/grub2/grub.cfg, otherwise msgs dissappeared at once.
Tried also to grub2-boot manually from grub2’s console, but I’m not familiar with this. Didn’t work manually for me even on a fine booting system
Currently I’ve no idea what else to try to get my “recovered” qcow2 file booted.
I’ve tested that qemu with uefi/ovmf can boot an OpenSuse Leap 15 VM, installed from scratch, and even with secure boot, no issues.
Also checked that the UUIDs of my SSD’s partitions have “survived” Clonezilla image to qcow2 recovery, they are still the same. (No idea if sensitive data, real uuid value in this post substituted by “correctly-recovered-uuid”)
And I’ve tested the command
search --no-floppy --fs-uuid --set=root correctly-recovered-uuid
in grub2 console, returns with no error. If I change a single character for UUID, I’m getting an error
This is my current /boot/grub2/boot.cfg, and hints highly welcome
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if -f ${config_directory}/grubenv ]; then
load_env -f ${config_directory}/grubenv
elif -s $prefix/grubenv ]; then
load_env
fi
if "${env_block}" ] ; then
load_env -f "${env_block}"
fi
if "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
if "${env_block}" ] ; then
save_env -f "${env_block}" next_entry
fi
set boot_once=true
else
set default="${saved_entry}"
fi
if x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
if "${env_block}" ] ; then
save_env -f "${env_block}" saved_entry
fi
fi
}
function load_video {
if x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root correctly-recovered-uuid
else
search --no-floppy --fs-uuid --set=root correctly-recovered-uuid
fi
font="/usr/share/grub2/unicode.pf2"
fi
if loadfont $font ; then
echo "Please press t to show the boot menu on this console"
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
insmod part_gpt
insmod ext2
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root correctly-recovered-uuid
else
search --no-floppy --fs-uuid --set=root correctly-recovered-uuid
fi
insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
export theme
if x${boot_once} = xtrue ]; then
set timeout=0
elif x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=8
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=8
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/00_tuned ###
set tuned_params=""
### END /etc/grub.d/00_tuned ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE Leap 42.3' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-correctly-recovered-uuid' {
insmod gzio
insmod part_gpt
insmod ext2
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root correctly-recovered-uuid
else
search --no-floppy --fs-uuid --set=root correctly-recovered-uuid
fi
echo 'Linux 4.4.114-42-default wird geladen …'
linux /boot/vmlinuz-4.4.114-42-default root=UUID=correctly-recovered-uuid showopts video=VGA-1:d vga=795
echo 'Initiale Ramdisk wird geladen …'
initrd /boot/initrd-4.4.114-42-default
}
submenu 'Erweiterte Optionen für openSUSE Leap 42.3' --hotkey=1 $menuentry_id_option 'gnulinux-advanced-correctly-recovered-uuid' {
menuentry 'openSUSE Leap 42.3, mit Linux 4.4.114-42-default' --hotkey=2 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.114-42-default-advanced-correctly-recovered-uuid' {
insmod gzio
insmod part_gpt
insmod ext2
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root correctly-recovered-uuid
else
search --no-floppy --fs-uuid --set=root correctly-recovered-uuid
fi
echo 'Linux 4.4.114-42-default wird geladen …'
linux /boot/vmlinuz-4.4.114-42-default root=UUID=correctly-recovered-uuid showopts video=VGA-1:d vga=795
echo 'Initiale Ramdisk wird geladen …'
initrd /boot/initrd-4.4.114-42-default
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
### BEGIN /etc/grub.d/50_bootcycle ###
# created for bootcycle detection
menuentry 'halt' {
halt
}
### END /etc/grub.d/50_bootcycle ###
### BEGIN /etc/grub.d/80_suse_btrfs_snapshot ###
### END /etc/grub.d/80_suse_btrfs_snapshot ###
### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###
### BEGIN /etc/grub.d/95_textmode ###
# On EFI systems we can only have graphics *or* serial, so allow the user
# to switch between the two
hiddenentry 'Text mode' --hotkey 't' {
set textmode=true
terminal_output console
}
### END /etc/grub.d/95_textmode ###