首页 > 代码库 > 用Partimage创建或恢复分区备份

用Partimage创建或恢复分区备份

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 onhttp://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:

fdisk -l

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:

mkdir /mnt/save
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:

umount /mnt/save
mount /dev/sda3 /mnt/save
mkdir /mnt/tmp
mount /dev/sda2 /mnt/tmp
umount /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:

技术分享

 

4 Restore A Partition Image

To restore an image you basically do the same as before but choose the appropriate options in Partimage. Open it up again and select the partition to restore on the first field (chose the partition that will be overwritten by the image here, not the one where the image is located), the location of the image file on the second field (notice the name extension - .000 was appended to the name. If you are not sure what your backup image is called use the next asterisk field to browse for the correct one. The partition where your image is located has to be mounted. Just like for creating an image, this can be done with:

mount /dev/sda3 /mnt/save

Replace my partition identifier with yours and choose an existing folder.) and use the SPACE bar to select Restore partition from an image file on the next field. Press F5 to move on:

技术分享

You will now be shown the description of the image file, if you entered one while creating the backup:

技术分享

If you want to make sure nothing goes wrong, you can do a simulation of the restoration process first. Erasing blocks will only wear out your hard drive and is no necessity. Continue with F5:

技术分享

The general information is then shown once more...

技术分享

... and you are asked to confirm your choice to restore your backup image. Keep in mind that data on the destination partition will be overwritten by the image:

技术分享

The image is then restored to the specified partition:

技术分享

Following message is shown on success:

技术分享

 

用Partimage创建或恢复分区备份