Create And Restore Partition Images With Partimage
Author: Christian Schmalfeld <c [dot] schmalfeld [at] projektfarm [dot] de>
Backups are usually made in one of two ways - either file-based which means that single files are backed up, often via synchronization and on an external disk, or image-based which means that a whole partition is stuffed into an image file that can be restored on the partition, containing everything there was on it. This tutorial covers image-based backups using Partimage from a live desktop environment.
I do not issue any guarantee that this will work for you!
1 Preliminary Note
Partimage is part of the system rescue CD found on http://www.sysresccd.org which is a multi-functional rescue CD useful for both Linux and Windows operating systems. It boots into a live environment with a lot of tools for partitioning, editing, etc. Download the SystemRescueCD here: http://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/2.6.0/systemrescuecd-x86-2.6.0.iso/download and burn it.
Partimage does not work on ext4 file systems and is experimental for ntfs file systems. The complete list of supported file systems can be found on http://www.partimage.org/Supported-Filesystems.
In this tutorial, I will use a hard disk partitioned into three parts: sda1 which is my swap partition, sda2 that I have Ubuntu Linux 12.04 installed on, and sda3 that has nothing on it but enough space to carry an image of sda2.
2 Boot SystemRescueCd
Insert your burnt CD into your CD tray and boot into the start screen. This is what it looks like:
Since I like graphical environments and this one loads really fast, I go down to 5) and start the graphical environment. While loading, the system will ask you for your keymap. Within 20 seconds, type in the name or the appropriate number from the table above:
The environment looks as follows. A root terminal will be opened by default:
3 Create A Partition Image
I will create an image of my Linux partition, sda2, on my empty partition sda3. If you don't know what partitions you have, go to the terminal and enter:
The output will look like this (the bottom three rows are my partitions):
root@sysresccd /root % fdisk -l
Disk /dev/sda: 34.5 GB, 34527510528 bytes
255 heads, 63 sectors/track, 4197 cylinders, total 67436544 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001b9b7
Device Boot Start End Blocks Id System
/dev/sda1 2048 7999487 3998720 82 Linux swap / Solaris
/dev/sda2 * 7999488 28565503 10283008 83 Linux
/dev/sda3 28565504 67436543 19435520 83 Linux
To start Partimage, open the main menu on the bottom left of the desktop and go to System > Partimage. It will open in a new terminal window:
But before we can begin to back up, we first have to mount the partition we want to save the backup on. Create a folder within /mnt and mount the partition on that point. I will use sda3 for saving, replace it with the appropriate partition on your system:
mount /dev/sda3 /mnt/save
Now go to the Partimage terminal again. Navigate through it using the TAB, ENTER, SPACE and arrow keys. First select the partition to back up and go to the next field with TAB. In the next line, enter the full path of the backup, including the name. You can select the path by using the asterisk on the next field. I will save my backup as /mnt/save/Ubuntu.gz (I will choose gzip as compression level which is why the file extension is gz. You can also choose bz2):
All settings on this page should now be complete if you want a usual backup, so press F5 to go to the next page. The predefined settings on that page should also be okay, but take a look on all of them:
Again, continue with F5. Enter a description for the backup. This description will be shown upon restoring it, to make sure that you picked the right one. To be on the safe side, enter some representable name and the date the backup was made. For demonstrational purposes I'll use a simple one:
Upon going to the next page, Partimage will prepare the backup. For some reason you may now get an error - this may be caused by choosing a partition for backup that does not have a supported file system or some other strange reason - with the message Can't read bitmap block 0 from image. If you are certain that you have a supported file system, try remounting your destination partition, then creating a new mount directory and mounting your partition to back up and unmounting that again. In my case, the steps would be following:
mount /dev/sda3 /mnt/save
mount /dev/sda2 /mnt/tmp
For some reason, that worked for me. If everything worked, you will see the following window:
Partimage will then create a backup of your partition in the specified location:
If everything went well, you will see this message. Partimage will close itself after confirming: