Bare metal recovery: Making the hard disk with image data bootable – update of this post; requires a licensed version of trueimage 2016 home (to be able to either download the acronis standalone iso from acronis or to create the iso with acronis media builder).
Step 1: Initialization of the disk using windows diskpart (compare this post); all data on this disk gets erased; tested with diskpart of windows 10:
- list disk
- select disk 1 (be careful to select the external disk which will be erased)
- clean
- convert gpt (automatically creates a 100 MB msr partition which remains unused)
- create partition efi size=512
- format fs=fat32 quick label=EFI
- create partition primary size=2048 (bootloader and acronis)
- create partition primary (use remaining space for image data)
- exit
Step 2: Continue with linux; tested with ubuntu 16.04.
Step 2: Prepare and format the hard disk:
- sudo su
- gdisk -l /dev/sdb (be careful to select the external disk which has been prepared in step 1)
- use df -h to show if any partitions of /dev/sdb are mounted and unmount them
- gdisk /dev/sdb (be careful to select the external disk – replace sdb by your disk sd… in the instructions below!)
- p
- t
3 <enter> (sets type of partition 3 to linux; do not set the data partition 4 to linux – else trueimage won’t allow to read/write tib files) - x
- a
3
2 <enter> (set gpt partition flag bios bootable, used by extlinux boot loader) - w
- mkfs.ext2 -L BootExtHD /dev/sdb3
- mkfs.ext4 -L DataExtHD /dev/sdb4
Step 3: Install extlinux to make the hard disk bootable in bios mode:
- mount /dev/sdb3 /mnt
- mkdir /mnt/extlinux
- extlinux -i /mnt/extlinux
- touch /mnt/extlinux/extlinux.conf
- mcedit /mnt/extlinux/extlinux.conf (compare these instructions on reboot.pro)
DEFAULT ti2016
SAY booting TrueImage 2016 from USB disk with extlinux
LABEL ti2016
KERNEL /acronis/dat10.dat
APPEND quiet force_modules=usbhid lib80211=off
INITRD /acronis/dat11.dat,/acronis/dat12.dat- my machine crashes if lib80211.ko gets loaded (ti2016 build 6571)
else parameter lib80211=off is not neccessary
- dd if=/usr/lib/syslinux/mbr/gptmbr.bin of=/dev/sdb (add a syslinux/extlinux compatible mbr to the hard disk)
Step 4: Install grub to make the hard disk bootable in (u)efi secure boot mode; assumes that ubuntu 16.04 has been installed with grub efi boot loader and that loading of unsigned kernel (modules) has been enabled:
mokutil –disable-validation (has to be run as root, disables kernel validation at reboot; boot loader grub then complains insecure boot.)
- mount /dev/sdb2 /mnt2
- mkdir /mnt2/EFI
- copy /boot/efi/EFI/ubuntu to /mnt2/EFI/ubuntu
- edit /mnt2/EFI/ubuntu/grub.cfg
- run: blkid /dev/sdb3
- replace the uuid filesystem number in grub.cfg by the UUID number shown by blkid
- remove grub hint hd0,gpt6 (in case your ubuntu (boot) partition is sda6)
- replace set prefix=($root)’/boot/grub’
by set prefix=($root)’/grub’ - e.g.:
search.fs_uuid 4164bfdd-bfbe-464a-9e7f-1ec096f84c2d root
set prefix=($root)'/grub'
configfile $prefix/grub.cfg
- umount /mnt2
- mkdir /mnt/grub
- copy the contents of directory /boot/grub/ to /mnt/grub/
- delete /mnt/grub/grubenv
- edit /mnt/grub/grub.cfg
set default="0"
set timeout="10"- taken from ubuntu:
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
} - taken from ubuntu (but replace filesystem UUID number ):
font=unicode
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 4164bfdd-bfbe-464a-9e7f-1ec096f84c2d
load_video
gfxmode text - again using these instructions on reboot.pro:
menuentry "Acronis TruImage Home 2016 on USB disk" {
set quiet=1
set gfxpayload=1024x768x32,1024x768
set mbrcrcs=on
# bug: kernel module lib80211 crashes kernel in build 6571 (ti 64bit)
linux /acronis/dat10.dat lib80211=off quiet force_modules=usbhid
initrd /acronis/dat11.dat /acronis/dat12.dat
boot
}
Step 5: Copy acronis trueimage 2016 from iso to hard disk:
- mkdir /mnt/acronis
- loop mount the acronis iso file (e.g. mount -o loop acronis.iso /mnt2)
- copy the files dat10.dat, dat11.dat and dat12.dat to directory /mnt/acronis
- umount /mnt
Step 6: enable to boot on a mac mini
- The builtin boot selector of a mac mini expects the grub efi file inside the efi partition at it’s official place:
EFI/boot/bootx64.efi (or EFI/boot/bootia32.efi: see step 7) - to configure grub as official boot loader simply copy
MokManager.efi, shimx64.efi, grubx64.efi and grub.cfg
from EFI/ubuntu/ to EFI/boot/ and
rename shimx64.efi to bootx64.efi - Now the boot selector of OS X on a newer mac mini (e.g. late 2012) shows
an USB disk with subtitle EFI Boot (keep alt/option key pressed on power on to start the boot selector)
Step 7 (optional): enable to boot on older mac minis (late 2007, 5.1)
- These systems work with 32 bit efi (
grub-mkimage -O i386-efi -d /usr/lib/grub/i386-efi -o grubia32.efi ...
) - Trial & error showed that grubia32.efi created in ubuntu 16.04 (
apt-get install grub-efi-ia32-bin
) did load acronis true image, but keyboard and mouse remained disabled - Multiple sources (like this blog: My Solution How To Boot A Linux Live System) describe that grubia32.efi contained inside zip archive ISO-2-USB EFI-Booter for Mac 0.01 beta works fine
- For some reason unknown to me this older version of grub does not block keyboard and mouse;
but it’s command initrd does not load multiple files - Copy dat11.dat and dat12.dat into one file dat1112.dat:
cp dat11.dat dat1112.dat
cat dat12.dat >> dat1112.dat
and in grub/grub.cfg replace
initrd /acronis/dat11.dat /acronis/dat12.dat
by
initrd /acronis/dat1112.dat
- Copy the older version of grub (local copy) to EFI/boot/bootia32.efi
- Now it boots as described in step 6. But be prepared to wait 3 minutes until the efi32 bios has loaded the 85 MB initial ramdisk of acronis trueimage 2016
Step 8: Try to boot from this hard disk on efi and on bios systems.
- Without step 6 on one of my systems the builtin boot selector did not show my usb disk,
but it did show an entry boot from efi file:- this allowed to navigate into /EFI/ubuntu on the usb disk
- then shimx64.efi had to be selected