Monday, 01 June 2009

The adventures of system backup

As my parents' system was becoming more and more 'polluted' (read as filled up with junk, random data, more and more running processes and so on) it was running slower and slower, and at times it was a pain just doing something trivial.

Of course, they aren't really advanced in all the techy stuff (or, actually, really aren't advanced) it was up to me to dig up all the data, and throw out the rest..

As that's not my system, I can't be sure that there are no settings, files or any other small things that I can miss, I decided to make a full copy of the first partition, a separate 'actual data' backup, then reinstall the system and restore the data. If we find something missing, I'd restore the partition from the backup, grab the data, and copy it to the system.

I used Acronis True Image in the past, and I found it to be perfect for the task, but I didn't want to use it now for two reasons: 1) I didn't have a licence for it now and 2) for some strange reason I didn't want to use the trial, as it felt "dirty" leaving it on the system to "expire and die" :)

So I started looking for some free alternatives, and of course I have found a couple of solutions.

One of them was Seagate's DiskWizard, a tool that was (apparently) built in partnership with Acronis, but don't quite me in that :)

Unfortunately the desktop I had didn't use a Seagate drive, so it wasn't a solution right now (but I DO have a Seagate drive in my laptop, so I checked it out anyway :) )

Another solution was a linux boot CD called PING (Partimage Is Not Ghost) which is a simple system, that can do the main thing I need: make an image from a partition, and restore it to another partition. It can do some other things too, but that's all I needed from it :P

Apart from distributing an ISO, they also explain how to set up a PXE server, and let the client machine boot from LAN, and do all the stuff. As I was lazy enough not to bother looking for a blank CD, and interested enough to try set this up, that was the option I went with.

The whole process went pretty straight-forward, following the online documentation, with slight changes (as the docs were a bit outdated). The main difference was that I didn't use the provided kernel, initrd.gz and pxelinux.0 files, but instead decompressed the whole iso image into that folder. I suppose the files provided by the help are from v2.0, and the ISO contains version 3.0. The latter was the only one that supported my SATA drive, so I didn't have a choice there anyway :)

By the way this approach is not the user-friendly, XP-GUI kind, but the DOS interfacey + hands-on approach. It creates a folder with the backup, with a bios file, a sda file and a number of data files. If you don't want your BIOS to be restored, you'd have to manually delete the file (though the new version does ask you anyway). The sda file contains the mbr of the disk, and I suppose it can be deleted with similar effects.

Now, I did have my trusty laptop hard-drive in a usb-enclosure, so I plugged it in the machine (later on, I just plugged it to the machine directly via a SATA cable) and backed up the system partition there.

I then tried to experiment a little, and restore the system partition on the second drive and try to boot from it, and after about 15 minutes it was finished. I tried to boot the system up from my second drive, but this didn't seem to work. I thought that the boot record wasn't restored (I saw a message stating that it didn't restore the record from the sda file for some reason, but it scrolled away too fast for me to read it), but after checking out the partition from Windows, I realised.. that it was empty -.-

Not sure what happened there, but luckily, my data was safe so I went for a second round. Ran the restore with the same settings again, but this time, to be safe, I unplugged the old HDD, and tried to restore it again to the same partition (formatting it first, just in case). It took over 3 hours, and this time the drive had data on it, and it seemed fine but: 1) the drive had 2GB less data than the original, 2) I couldn't boot from it anyway.

I still wanted to try it, so I booted off an XP CD, and ran fixboot and fixmbr on the partition. Still, no luck :(

At this point I decided to give up with PING. It kind of works for making backups, but it didn't want to restore it as easily as one would like, I guess. Plus it really lacks in functionality, partitioning asd so on..

So I went and downloaded Seagate's DiskWizard, hoping that the presence of the mobile Seagate drive will allow me to use it :P

After downloading the massive installer (I didn't expect that such a tool would weight over 100 megs!) I was greeted with a nice interface, and a "Powered by Acronis" logo :)

The installation went without any problems, and after a restart I was able to make a backup directly from Windows! And it was way faster than making the backup from PING too! The restore process finished within the hour too. The main thing was to check the partition as active during restore. The best thing - the system actually booted from the drive with no problems at all, as if nothing happened :)

Best part? When I booted up with both drives connected, from my laptop drive, the original C: drive was now marked as F:, and the one I booted from was C:. As the rest of them had their original names, even applications that had their storage on the D: drive (like Outlook Express' data bank) could still run with no problems!

P.S. In the end I decided to stick with Seagate's DiskWizard, a free tool with the basic functionality comparable to Acronis True Image's.

Note to seagate HDD owners: your drive could come with a CD that has the starter edition - I really recommend downloading the full version instead, and saving yourself a LOT of headache!