This is probably my fault. Here's what I think happened: the main disk on our Windows XP machine filled up. Windows decided to fix this by deleting some system files. Result: the system won't boot, even in safe mode. Nothing, NADA. Just a list of files that scrolls by so fast you can't see the error message at the top of the list, followed by a blue screen of hopeless and utter despair. I'm not positive that the cause is correct, but the result is. In any case, it's probably my fault as much as Windows, because I wasn't watching disk usage on that machine.
So currently I'm pulling off the files from that disk onto an external USB disk. The idea is to backup everything, restore Windows (which will be difficult, since this is an old machine and the restore disk only comes with Service Pack 1), and then copy over the relevant files from the backup. We'll see if that works.
The immediate problem is to get the files onto the USB disk. Obviously you can't boot into Windows.
So here's the procedure I used. I lifted most of it off the web. Ordinarily I'd link back to where I found the information, but that was late last night, and I was working on a machine which at the time had no internet access. So my apologies to all concerned.
- First, we need some way to access the computer. A Linux Live CD is the obvious way to go. I had an old version of Knoppix on hand, but it hung up when trying to find the USB ports. I finally got it running in fail-safe mode, but decided that wasn't a really viable option. Since I'm running Ubuntu on my own machine, the choice was to go get the Edgy Live CD. This booted up immediately (where, in this context, “immediate” == 5 minutes). For some reason it couldn't, or wouldn't, use WPA encryption through the wireless card, but it did everything I needed it to do.
- Except find the disks on the Windows machines. How to do that? Well, the Edgy Live CD has my new favorite command, lshw, which tells you all about the hardware. This says that there is a disk at /dev/hda. I've only seen one partition on this disk, which would be named /dev/hda1. This machine came with XP pre-installed, so we know the partition will be NTFS.
- This means we have to enable Edgy to read the NTFS disk. We'll work with read-only mode for now, since I believe write access under Linux is a bit flaky. First, go in to superuser mode. Since there's no password on the live CD, just enter the command
$ sudo -i then load the NTFS module into the kernel with
# /sbin/modprobe ntfs
- Now create a mount point for the partition
# mkdir /mnt/win
- and mount the disk
# mount -t ntfs /dev/hda1 /mnt/win
- But Wait!!! This gives a bunch of error messages, most of which say that /dev/hda1 isn't an NTFS partition. Huh. Since the other dominant file-system in WindowsLand is vfat, try
# mount -t vfat /dev/hda1 /mnt/win
- That worked. But what's in that directory?
ls -l /mnt/win
Examining the list of files, this seems to be called the Utility Partition. OK. Nothing to see here right now, though maybe it will help us restore things later.
- Well, logically, if the ntfs partition isn't in /dev/hda1, we should try
# umount /mnt/win
# mount -t ntfs /dev/hda2 /mnt/win
- That works. Now we plug an external drive into the USB port and merrily copy away:
# cp -rv /mnt/win/* /media/usbdisk
OK, the files are all saved, tucked nicely away on a disk that can be read by any computer. The next step is to try to revive Windows XP on the target machine, or persuade the family that they don't really need to run Photoshop or Maple Story. (Yeah, I know about GIMP, they know about GIMP, and they prefer Photoshop. There's faint hope for Maple Story.)