When it hits the fan: Restoring Windows XP via ASR

My main HD appeared to be failing, so I got a replacement drive and attempted to firstly clone, then ASR Restore my Windows XP installation to it. I am a veteran of umpteen OS installations, but this is the first time I've ever actually needed to do a full restore. It wasn't pretty, and here is my story. But first, for the impatient, the summary:

  • The Clone Disc feature of the Seagate DiscWizard program was worthless: it neglected to write a single byte to the replacement disc
  • Making an ASR Backup of XP is the easy bit
  • Restoring an ASR Backup requires drivers that you may not actually have, and without the restore, you may not have the drivers, and <infinite loop>...
  • ASR Backup does not back up your internet cookies, or your actual boot sector (but that might be a good thing)
  • Dell Diagnostic CDs are not useful for text mode drivers (that I can tell anyway)
  • If running XP, make sure you have a floppy drive and some floppies, in case it All Goes Horribly Wrong
  • PATA has some advantages over SATA when OS reinstalls are concerned
  • If you do regular backups (and you should), try a Restore at least once to make sure you can do it, before you need to do it

And now for the nitty gritty details:

The Maxtor ST380013AS 80G drive in my Dell Precision 370 appeared to be working fine, but when I ran the wonderful SpeedFan program on it, I was told "warning: Raw read error rate is below average limits" and "Hardware ECC Recovered is below the average limits". I hadn't appeared to have lost any data, but the drive wasn't particularly happy. The Seagate SeaTools diagnostics (Seagate bought Maxtor) told me that both Drive Self Tests failed too, so Dell Support sent me a replacement drive (WD 800JD). I connected the replacement drive, then ran the Seagate DiscWizard tool on it which has a Clone Disc option. I ran that, the machine rebooted, then did something for a bit then proclaimed it was done. Seemed a bit too quick though (2 minutes to clone 40G of data?) but I rebooted. Turns out I couldn't detect a single byte that had been written to that new disc, it looked as blank as it had been before. I retried a few times, with the same result, before I decided that DiscWizard was broken on my configuration and I needed another solution.

I run occasional backups using NT Backup so I fired up the Help and read about ASR Backups: they are like regular backups, but also backup the partition table and other key stuff, as well as all of your files in a regular backup. The extra stuff is written to a floppy (very 20th century!) and fortunately my 370 had one (unlike the 370 I have at work). I ran the backup and it did its thing onto an external USB drive I use for such things, plus the floppy.

An ASR Restore (Automated System Recovery) is actually XP Setup run in a special mode. I moved the SATA connector off the old drive onto the new drive and proceeded to attempt to restore my ASR backup. First time through it said that I didn't have enough disc space: weird, the replacement drive was 80G, the same as the original. Turns out I still had a card-reader attached (with no cards) and XP Setup detected all those "drives" as having zero bytes free, so I tried again without the card-reader and Setup said "hey, idiot, you don't have a hard disc" (or words to that effect). After more head-scratching I realized that XP SP2 Setup does not include a driver that understands the SATA port on this Dell. I dug out the Dell Diagnostics CD and tried again, but Setup requires the "F6 driver" to be on a floppy. Grrr. I reconnected the original drive, booted it, then attempted to get the SATA drivers off that CD. For some inexplicable reason the drivers aren't just sitting in a directory, but each one is in its own zip file. I dutifully unzipped the Intel Motherboard drivers which appeared to be in charge of the SATA ports, copied them to another floppy, switched the drives back, and tried again. This time I pressed F6 during Setup and inserted the floppy, only to be told that txtsetup.oem (or something similar, I didn't write the exact name down) was not found, so the drivers could not be installed.

At this point I wasn't particularly happy, with Dell or Microsoft. Now I could have swapped the drives back and trawled over the internet to try and find the solution, but instead I came up with a different plan: the BIOS for this Dell offers four options for how the SATA ports work. I don't pretend to understand them (they feature the acronyms AHCI and RAID, among others), but one option is called "SATA/PATA" so I selected that (based on the fact I actually knew what they both were). My theory, which shockingly turned out to be fact, is that this mode makes the SATA ports look like a standard PATA port, so XP Setup will work. When changing this setting, the BIOS warns that your machine may no longer boot or the OS may need reinstalling if you make this change. As I didn't have a bootable OS at this point, I had nothing to lose.

With the SATA ports in PATA mode, XP Setup could find the new drive and the ASR Restore proceeded well: its like running XP Setup, except you don't need to answer any questions (not even the pid), you just have to point it at the backup you made earlier. After an hour or so the restore was done, and it rebooted. I was so happy! Well, for about a minute. On reboot I saw the Windows logo, and a smile appeared on my face, then about five seconds later I saw a blue-screen, which wiped that smile off just as quick. In case I had imagined it, or a solar flare had hit my machine, I rebooted and tried again: nope, same blue-screen. At this point I was inspired, and went back into the BIOS and put the SATA option back to its default (ie real-SATA mode). I rebooted, and prayed (to no specific deity) and my familiar XP install came back, just as it had been before! Phew. The trick to make my SATA ports look like PATA had been good enough for Setup to use, but once I had restored the entire OS, which included all the OEM drivers configured for real-SATA, then just like the BIOS had warned me, the OS would not boot.

I checked out the restored OS and everything was there, except for a bunch of IE settings. I could care less about my cache or my history, but my cookies were also not restored, which was a bit more painful: there were a few sites whose user/pwd settings took me a while to remember. In addition my old XP drive had a Vista boot loader on it, left over from several failed Vista installs. The ASR Backup evidently just backed up the XP portions of the boot files, so after the ADR Restore I got the XP boot loader back: I consider the loss of the annoying Vista boot loader a bonus, as I couldn't change the default as Vista never managed to boot. (My Vista Setup story is another bitter & twisted affair which I will save for another day).

My recommendation for those that do backups on XP (and that's every smart user, right?) is that do a Test Restore one day. Grab a spare drive from a friend or pick up a crazy deal at Frys/Newegg, and try a from-scatch restore. If you have problems, or need drivers or other magic, figure it out now, when you can still get to the internet, and when your deadline isn't due or your spouse is screaming for the baby pictures. Sod's Law says that if you actually do a Test Restore, you probably won't ever have the need to do a Real Restore. You can thank me later...