Today I had the misfortune of being stuck at school without my library of diagnostic/repair CDs. I was dealing with a corrupted Windows Vista (64 bit) install, make that one corrupted sys file. The one that operates the low-level hard drive access functionality. Of course the user in question was without her install/repair disk. Fortunately for me I had two 4GB USB sticks, and a fast Internet connection. Thanks University of Minnesota for the fat pipe! Anyways …

Fortunately for me the laptop’s BIOS allowed one to boot from a USB stick. I would really have been stuck then: no CD-R’s, no server to PXE boot from, and no floppy drive. Oh floppies … but I digress.

All that I needed was a live Linux environment to mount the hard drive that I wanted to get data off of and an extra USB stick for holding the recovered data. I first downloaded a copy of the USB zip image of GParted Live ~100MB. I then used Live USB Helper (for windows) to write a copy of the image to one of my USB sticks. I know, shock … the man who bashes Windows on occasion actually uses it. Well my XP Pro 64bit install supports the hardware the best.

Excerpted:

Download Live USB Helper to help you to create this Live USB flash drive. Just install the program on MS windows, then you can follow the GUI to create the live. You need the GParted live zip file for this method. PS. To run Live USB helper program on MS windows, you need a dll file “vb6stkit.dll”. If Live USB helper complains about no vb6stkit.dll was found, you can download it on http://www.dll-files.com and read the FAQ to install it.

I booted in from the USB stick to GParted, and after a bit of confusion remembered that Vista encrypts its data partition! Argh! Secure yes, but makes supporting users difficult.

I could have been like:

mkdir /mnt/hdd
mkdir /mnt/usb
mount /dev/sda2 /mnt/hdd
mount /dev/sdb1 /mnt/usb
cd /mnt/hdd
ls
cd /Documents and Settings/[user name]
cp -r * /mnt/usb

Moral of the story: always keep a backup of your data.