Bubakup, the Bootable Ubuntu Backup, is a tool that allows you to create a bootable backup image of your running system. It supports creating uncompressed, bootable loopmounted disk images of the whole or parts of the system, deleting backup disk images, archiving backup disk images using 7-zip, restoring backed-up archived disk images, and LVPM (which is pre-installed in the generated disk images) can be used to restore the backup loopmounted disk image to an actual partition.
The bootable disk images created by Bubakup can be used as an emergency recovery and restoration tool, should your primary system become unbootable. It can also be used as a sandbox environment for testing bleeding-edge and unstable code, in an environment that is the same as though you were using your primary system, without harming your primary system. It can also be used as a general full system and data backup/restoration utility.
A loopmounted disk image of the size selected by the user is created on the partition selected by the user, and the contents of the currently running root partition, excluding directories selected by the user, are copied into it. The loopmounted disk image is then patched and modified with loopmounting patches to allow it to boot. A menu entry is then added to grub allowing for the booting of the loopmounted disk image. The user can then reboot into the bootable backup disk image and restore it to a partition using LVPM, archive the disk image and later restore it, or delete the bootable backup if it is no longer needed.
This has been tested on Ubuntu 7.04 (Feisty) 32-bit and 64-bit, though it may also work on other versions.
Download the Bubakup package file (deb) here and install it. You will then be able to run Bubakup by clicking Applications -> System Tools -> Bubakup
Start Bubakup, and select the "Create a backup" option.
A dialog will then prompt you to specify a partition to save the backup to; select a partition and click OK.
The next dialog will tell you how much disk space will be needed by your backup, and if you want to exclude any directories from the backup, select the "Exclude more directories" option and specify the directory. Once you have excluded all the directories you would like to, select "Continue On".
The next dialog will then prompt you how large you would like to make the loopmounted bootable backup disk image, in MB. The minimum value should be enough if you are only using it as a backup/restore/rescue system, but if you aim to install additional software or store additional files on the backup image, for sandboxed testing or other purposes, you may want to give it more space (but remember to not go over the amount of free space on your hard drive). Once you have selected a value, click OK to proceed.
The backup process will then begin, and may take a long time (an hour or more), depending on how much data you backed up and your drive performance.
Once the "Backup Complete" notification appears, you can reboot and select the last option in the menu list, "Bubakup", to boot the bootable backup disk image.
If you archive a bootable backup and remove the original bootable disk images, you will be unable to directly boot it until you restore the backup. The archiving feature is primarily used for the purpose of saving disk space, and should be used only on older backup disk images that you won't have to boot anytime soon. To archive a bootable backup, start Bubakup (from the primary operating system, not the bootable backup), and select the "Archive existing backup option.
A dialog will then prompt you to select the partition in which the bootable backup disk image you wish to archive is stored in. Select the partition and click "OK".
The next dialog will then allow you to specify which directory you want to save the backup image in. Select a directory and click OK.
The next dialog will then ask how much compression to use, on a scale of 1 to 9. The higher the value, the smaller the file will be, though the time it takes to create the backup will drastically increase.
The archiving process will then begin, and the disk image will be compressed using 7-zip. The process may take over an hour, depending on the size of the original bootable backup disk image and the compression setting you selected. Once it is done, a text dialog will appear.
Once you restore a bootable backup disk image from an archive, you will be able to once again boot the loopmounted disk image. To restore, first start Bubakup, and select the "Restore a backup from archive"
A file-selection dialog will then allow you to select the archived backup file (7z extension) to restore from. Select the file and click OK.
The next dialog will then allow you to select the partition to which the archived loopmounted backup disk image should be restored to. Select the partition and click OK.
Then wait as the compressed bootable backup disk image is uncompressed into the selected partition/bbk-$date subdirectory, and the grub menu entries are added to allow for booting from the loopmounted backup disk image.
Start Bubakup (from the primary operating system, not the bootable backup), and select the "Delete existing backup" option.
A dialog will then prompt you to select the partition in which the backup is stored; select the partition and click OK
The next dialog will then list the bootable backups stored on the partition; select the backup you want to delete and click "OK"
The backup will then be deleted, and the GRUB menu entry will be removed.
This functionality is provided by LVPM, which is available for use once the bootable backup system has been booted.
If you want to remove Bubakup itself, just remove the package "bubakup" using Synaptic.
If you encounter errors with Bubakup or need help troubleshooting, post a question at the Bubakup Thread on Ubuntuforums.
Bubakup is licensed under the GNU General Public License (GPL) Version 2 or above. Source code is available at the launchpad page.
Bubakup was created and written by Geza Kovacs (Launchpad), contact info.