Creating Custom Acronis Backup 11.5 Bootable Media

Note: These steps have been verified with Acronis Backup 11.5.43956 and UltraISO version 9.6.1.3016.

1) Create an AcronisMedia.iso by clicking on Tools –> Create Bootable Media from within Acronis Backup.

2) Open the .iso image with UltraISO by clicking File–> Open.

3) Save the boot file from the .iso image by clicking Bootable –> Save Boot File.

4) Open the boot file by clicking File –> Open.

5) Extract the three .DAT files by right clicking each file and selecting Extract To.

6) Move the three files onto a linux server.

7) Create a directory structure from which we will work.  For my example I’m using a subdirectory of my home directory named acronis.

# mkdir -p ~/acronis/A/B

8) Change directory into the newly created A directory

# cd ~/acronis/A

9) Copy the extracted ramdisk into this directory.  Prepend the location where the ABR64RAM.DAT was moved to from the windows machine to the linux server.  We also have to give the ramdisk file a .gz extension.

# mv ~/ABR64RAM.DAT ./ABR64RAM.DAT.gz

10) Gunzip the ramdisk file

# gunzip ABR64RAM.DAT.gz

11) Change directory to the B subdirectory.

# cd B

12) Extract the contents of the ramdisk file to this location.

# cpio -i < ../ABR64RAM.DAT

13) We can now make our changes to the filesystem that was extracted from the ramdisk.  I like to create mount points for a variety of purposes under the /mnt directory.  For example:

# ls
bin dev etc init lib lib64 mnt opt proc run sbin sys tmp usr var
# mkdir mnt/backup mnt/sysimage mnt/usb

14) Place a shell script called autostart under the bin directory which is automatically run upon booting from the Bootable Media.

# vi bin/autostart

The contents of my autostart file are:

#!/bin/sh
#-------------------------------------------------------------------------------
ACRONIS_USB_PATH="/mnt/usb"

if [ ! -d ${ACRONIS_USB_PATH} ]; then
        mkdir ${ACRONIS_USB_PATH}
fi

findAcronisUSB() {
        VOLUMES=`ls /dev | grep -E '^(sd|hd)[a-z][1-9]'`
        for i in ${VOLUMES}
        do
                mount -t vfat /dev/$i $ACRONIS_USB_PATH 2>/dev/null
                if [ -e $ACRONIS_USB_PATH/autostart.sh ]; then
                        echo USB is found at $i and mounted at $ACRONIS_USB_PATH

                        export USB_DEV=`echo $i | head -c 3`
                        $ACRONIS_USB_PATH/autostart.sh
                        return
                else
                        umount $ACRONIS_USB_PATH 2>/dev/null
                fi
        done
}
#-------------------------------------------------------------------------------
findAcronisUSB
echo Press any key to reboot
read -n 1 key

15) I also like to have the diff command available when I’ve booted from the Acronis Bootable Media.

# which diff
/usr/bin/diff
# cp /usr/bin/diff bin/diff

16) We need to extract and overlay the DAT4.DAT contents over our filesystem. The DAT4.DAT file is where our licenses are located.

# mv ~/DAT4.DAT../DAT4.DAT.gz
# gunzip ../DAT4.DAT.gz
# cpio -i < ../DAT4.DAT

17) Now we overlay the contents extracted to the ConfigurationFiles folder onto the filesystem. The leading backslash overrides our default cp alias which would normally interactively prompt prior to overwriting each file. Leave out the leading backslash if you want interactivity. If/when the cp command is successful we remove the ConfigurationFiles directory.

# \cp -rpf ConfigurationFiles/etc/* etc && rm -rf ConfigurationFiles

18) One all of the customization is complete we can re-pack the ramdisk.

# find | cpio -H newc -o > ../abr64ram.dat

19) Compress the new ramdisk

# gzip -9 ../abr64ram.dat

20) Remove the .gz extension from the ramdisk file

# mv ../abr64ram.dat.gz ../abr64ram.dat

21) Now using isolinux and mkisofs we can create a bootable CD image. Alternatively we can use syslinux to create a bootable USB image. http://www.oarie.net/index.php/features/layout/default-main-left-right

Leave a Reply