Saturday, December 01, 2007

Hell to Heaven: A Windows XP Journey Story

I've spent about two weekends doggedly working out this trip.

It actually started about three weeks ago when I traveled up to Tyler to help my dad put in his new Vista system.  In the process I (eventually) captured a image of his hard-drive to my iPod.

My plan was to place the image of his old system on a Virtual PC hard-disk.  Then if he ever needed any of his older applications we decided were not worth the effort of attempting to install on his new system, it would be easy for him to launch-n-go.

Sweet and slick! Right?

Since time was limited, I had to bring back his image with me and get it all configured and set up on my machine.  Then I would copy it back to his on a later visit.

Last weekend I probably spent over twenty-hours working on getting his imaged XP system up and running.

Eventually I gave up and deleted all my work (except for the original image).

This weekend I took it on again, fresh.

Tonight it is running in it's full glory, fully patched, repaired, and even running the latest XP SP3 release candidate.  I'm currently in the process of optimizing the virtual hard drive to pack it up tight again.

This is a post about the harrowing journey, and the unexpected surprises I encountered in the process.

Stage One: Creating the Virtual PC Hard Drive

This was the easy part.

I simply used the wizard in Virtual PC 2007 and created a new virtual pc session as well as a matching virtual hard drive file.  My own system has 1GB of RAM, but I felt spunky and set the VPC RAM to 512MB.  Dad's will have 4GB of system RAM so we can bump that up to 1GB later.

Next I built a new WinPE 2.0 boot disk and made sure I set it up to include the image.wim file that was the ImageX image of dad's system.  I created an ISO file of that boot disk/wim.

Then I launched the virtual pc session and set the session to use the WinPE 2.0 ISO as the boot disk. This worked great.

The system booted into WinPE 2.0.  I quickly partitioned and NTFS formatted the virtual drive.

Finally I restored the image.wim file to the drive.

Perfect.

Reboot.

And....blue-screen.

Stage Two: Passing through the Valley of the BSOD

I spent quite a pondering and working this one out.  First I experimented with different memory settings.  No help.  Then I tried rebuilding and reformatting the virtual hard drive, putting the image back down again.  No dice.  Even tried it in Virtual Box instead of Virtual PC.  Same thing.  Both seemed to perform about the same.

Then I figured, maybe the image was bad.  So I mounted the image.wim file in Windows Explorer and took a look around.  Looked nice and fine.  The files and all the file structure looked correct. I wasn't getting any errors during the imagex /apply activity and being able to mount it was a good sign.

The I remembered...I didn't run a Windows XP Sysprep on dad's system before taking the image. Oh! 

I know better than that, using sysprep at work almost every day of late.  Since it was a home system, I guess I got sloppy.

The system was booting, but when it was loading the hardware drivers, they were from dad's "real" system, not the correct ones for the virtual hardware system.  Lesson: ALWAYS run sysprep if you are going to port an image to a system (real or virtual) with different hardware. Always.

So I knew I needed to somehow get the system to do a new hardware/driver scan and configuration.

Sigh.

Stage Three: Windows XP Repair

I first tried some tricks by booting the virtual system with a XP SP2 setup disk and going into the Recovery Console.  Nope, not working.

So that left me with one last technique: a Windows XP Repair Install.  I knew that would do it.

Since I had a good feeling Dad's system was already experiencing some corruption issues, I decided this might be a blessing in disguise.

So I rebooted the virtual system again with it pointing to the XP SP2 setup disk in my cd-tray.

I worked though the steps to fire up a XP setup-repair action and in about fifteen minutes had it rebooted.  After the reboot the XP system setup was up in its graphical glory and I was rocking-n-rolling.  It picked up the hardware and seemed to be on its way.

Until I ran into what looked to be the deal-breaker...Dad's XP Home OS key.

Stage Four: Take the *(%$*%$*%& Key, Darn You!

At first the XP key issue seemed easy enough.  I didn't have it, and dad was unavailable to give it to me from the sheets we printed out back on his desk.

Then I remembered I had left a text-file copy of them on his old system's desktop.  Back to mounting the image.wim file in my systems Windows Explorer and viewing the file.  Got it!

I entered the key in, and....it wouldn't take.

I tried again....and it wouldn't take.

Hmmm.

Because this was XP SP2, I had to enter a valid key or I could not progress through the rest of the setup process.  I was at an impasse. (XP SP3 promises to do away with this "feature" and make it more in line with Vista.)

Eventually I decided to see if my own personal key would work.  I disabled the virtual pc network connection to ensure no "accidental" activations of my own key on his virtual system would occur.  I had enough headaches already.

Then I entered my key in and it took.

Problem delayed...for now.

This eventually got me to dad's Windows XP login screen.  I logged in to his account (administrator rights) and....was slapped with the Windows Product Activation (WPA) wizard.  I had to activate his copy of Windows before it would let me to the desktop.  This was because of the significant changes that were recorded going from his real system into the virtual one.  I had expected this, but....

Only now I had a new problem...that was my key on his system.  I had to change it back to his before I attempted activation.  Only how?  Attempts to cancel the activation wizard returned me back to the login screens.

Darn it.

There are a number of legit and "less than fuzzy" methods one can attempt to work around the WPA, I considered them, but felt very certain that if I could just get the key changed on the system, I would be good to go again. Besides...I'm a Good Guy.  But they were fun reading anyway.

I did try a variation on the last one.

First I selected the "Yes I want to telephone a customer service representative to active Windows" option.  (screenshot)

That got me to the next screen, "Activate Windows by phone" (screenshot).

At the bottom I have the option to "Change Product Key." I selected that option and got the "Product Key" screen where I could change the product key. (screenshot).

Only trouble was, every time I tried it, it failed to take and said it was an invalid key.

Grrrrr.

Stupid WPA won't take my dad's key, which was working fine on the other system and now it won't let me get the desktop to use some of my Windows Key finding/changing utilities.

Or could I?

Stage Five: The WPA Flea-Flicker Play

I remembered reading a long time ago that there was a VERY TRICKY but LEGIT way to bypass the WPA just enough to get into Windows.

A quick dig on Google found it.

The Tomorrow Times: How to login to an expired Windows

It went like this:

  1. Minimize the WPA wizard.
  2. Press-and-hold the next-to-useless Windows key on the keyboard and also press the "U" key.
  3. This launches the "Narrator" program for assisting the visually impaired.
  4. Select the little icon in the top left corner and select "About"
  5. "About Narrator" launches.
  6. Click the HTML link in there and Internet Explorer will launch.
  7. In the address bar type C:\ and <enter> and you are looking at your file-system in it's glory!

If you were lucky like me and the system opened the sidebar with the Windows system extras (My Computer, Control Panel, etc. icons) you are set!

So now I had temporarily bypassed the WPA enough to try running some of my Windows key finder/changer utilities.  But now I had a new problem.  How to get the programs on the virtual hard drive.

See, because I hadn't got to a point where I could install Virtual Machine Additions, I couldn't drag-n-drop the files.  Nor could I (yet) map a folder on my system to share. Virtual PC doesn't support USB connections so I couldn't use a USB drive. (Unlike Virtual Box emulator which does...)

So...I copied all my needed tools into a folder, then used Folder2ISO (freeware) to create an ISO file of them all.

Then I mounted that ISO file and was able to access them!

Sweet!

Only, try as I might, program after program failed to let me change the key.  They all failed.

Even the amazing and seemingly unknown standalone Windows Product Key Update Tool failed.

  • What it does

    The Windows Product Key Update Tool will make changes to your Windows installation to update your product key. In addition, the product key update tool will scan a number of key Windows files to determine if they have been tampered with. If tampered files are discovered the product key update tool will alert you before continuing.

  • Information collected

    Using the product key update tool results in information being sent to Microsoft. The information collected will not be used to identify or contact you. The information sent is standard Windows validation information as well as information related to the file tampering scan.

At this point I had come to consider the following scenarios:

  1. Dad's XP key was pirated.  Doubtful but possible.
  2. Dad's XP key was tied to a OEM system and would not/could not be used in a virtual session. This was a more reasonable explanation.
  3. Could be that his system (upgraded in place way-long ago from Windows ME) had since had its key removed as valid in the SP2 update files.  Possible, but most (but not all) XP Home keys should work from any XP SP2 setup disk.
  4. His system was just so whacked-out, it wasn't worth the effort.  But then, I'm not an IT quitter, which makes me pretty good at what I do for a living.
  5. I could just give up and set dad up to mount his image.wim file as needed if he needed any missing files. But this wasn't cool or particularly helpful in having "running" access to their old programs.   See my response in #3 above.
  6. I could call Microsoft and attempt to activate it over the phone.  Maybe they would give me a valid key.

By this time it was something like 3 am last Sunday morning and I had to get some sleep before work the next morning.

So I nuked the virtual pc hard-drive in frustration and walked away.

Stage Six: Regroup and Re-attempt Summit

This weekend I started all over again from scratch.  Fortunately I went quickly through steps One to Four, having learned a lot from my prior work.

In a while I was back staring at the WPA screen.

And thanks to Dwight Silverman's TechBlog post earlier that week which I had read, I knew what I had to do: TechBlog: Got them cosmic Windows Vista activation blues, mama.

Pick up the phone and call.

Worst they would tell me was that they key was bad or invalid to transfer to the new virtual system, right?

So I called the Product Activation help-desk number offered. In just a few minutes I was connected and after saying "Service Representative" enough times, got a live voice on the other side

I provided my information and explained what I had done, my technical skill level, and that I wanted to change the key before activating.

The rep seemed to understand and asked for dad's key.  I provided it and in about four minutes came back on line and confirmed the key was from a retail purchase of XP Home Upgrade. It should work.  I explained that it wasn't being accepted and wondered if they could provide a new key.  The rep politely recommended that I should perform a fresh XP install setup from a bare drive.

WTF?

I explained back that I had done a Windows Install Repair and it worked great.  I just couldn't get the key to accept as valid.

The rep politely explained that I should perform a fresh XP install setup from a bare drive.

I repeated what I said again, and this time he created a new service ticket and transferred me over to Microsoft Product support for assistance.

Sheesh. Give me a key dude, you told me dad's was valid.

So I next quickly (amazing!) was connected up with a Microsoft Windows Technical Support specialist,"MN"..  MN asked me the standard questions.  I provided them, explained again my technical Windows expertise (most days) and what and why I had done these things.  MN seemed to get it pretty quickly that I didn't want to do a WPA with my good key and wanted to change it back to dad's but it wouldn't take.  He was also impressed with what I had done capturing dad's old system's image and porting it into a vpc session. Like I said, cool stuff for us geeks.

We tried the WPA wizard again and, again, it failed to accept.

MN then suggested we try the aforementioned Windows Product Key Update Tool but the problem would be getting it to run since we couldn't get past the WPA.

I told him I had it covered and shared my "WPA Flea-Flicker" technique.  He was very impressed with this.  New to him!

I quickly had it up and going from the ISO.  The first time it ran, it failed again.

It should work.

I tried it again.

It failed.

He asked if I was connected to the Internet.

What?  No!  I still had my virtual pc session setting for the networking disabled so I didn't accidentally kick off my key.

He explained that the tool HAD to get to Microsoft's WPA validation servers to validate the key entered BEFORE it would make the change.

Oooohhh!

I enabled the vpc network connection. Re-ran the wizard.

Success! It changed the key.

A reboot and WPA was back up and the activation passed flawlessly.

(Note to self: the Windows Product Key Update Tool works great, but requires an Internet connection to work.  Don't forget this tool or this fact.)

MN said he had just been on the job for about two months after coming from AOL.  We talked shop for a minute, talked about help-desk support, the types of calls he had been taking lately (mostly how to deal with Microsoft games from older folks and their pcs) and how a fun and challenging problem was always appreciated in IT support.  We both seemed amazed at how smoothly this had gone after-all.  Then his supervisor barged in (I guess the call was running long) so when we got done wrapping up our call I asked to speak to the supervisor.  Which I did.

And lavished glowing praise on MN for his help and the (honestly) painless and quality tech-support (this time) and I think the Win Tech Support manager was about to have kittens of joy...Christmas appeared to have come early to him based on my feedback.

Hope MN gets a bonus or gold-star on the cubicle posterboards for this.

Stage Seven: Update, Update Update (repeat at least 80 more times).

Since I had done a Windows Install Repair, it wiped out all the post SP2 patches we had put on the system.  Now I found there were about eighty-three (83).

So I used heise-offline-update-40 utility, created an updated ISO, mounted it and applied the patches.

Reboot.

Check Windows Update on line to get the five or six the update tool misses. Reboot.

Next I installed the Virtual Machine Additions.  That significantly improved the vpc session performance...and made it much easier to drag-drop files from my system into the virtual one.

Now I decided to have some fun.

I shut it down and made a copy of the virtual hard drive and settings I had worked so hard to get going.

Then I rebooted the virtual session and ran the XP SP3 RC1 key hack and applied XP SP3 on the system.  No problems were encountered

Stage Eight:: Virtual PC Hard-drive Optimization

So now I had dad's system up and running perfectly (almost) in a Virtual PC system. It worked great.

So I followed my previously blogged steps and optimized the virtual hard-drive file:  Grand Stream Dreams: How to Optimize your Virtual PC Vista virtual drive...

Perfect!

The Windows Install Repair fixed dad's system previous Windows Update issues.  It works flawlessly again.

Only, still, when you launch Internet Explorer shortcuts from his system, IE still opens up in version IE 6.0.  If you launch IE from it's icon...you get IE 7.0  just like before.  Really weird.  But not a deal-breaker, by any means.

Stage Nine: WPA still lurks in the alley...

Still need to make a trip back (or burn the vhd file on a DVD) and copy it over to dad's new pc

A few lessons later he should be able to run his old XP Home system in a virtual pc session off his juiced new Vista system.

Only, I've been thinking...the virtual OS is picking up my AMD Athlon 2400 CPU processor.  When I drop it on dad's pc, it is going to see the CPU change and his AMD dual-core processor.  And I will bump the VPC session RAM setting to 1GB from 512MB as it is currently set.

Any bets if WPA kicks off again?

At least I am prepared now!

--Claus

2 comments:

Anonymous said...

Fascinating post, Claus. I hope your dad is impressed at the lengths you went for his computing convenience!

Teo RĂ­os said...

Good thing my OS belongs to the dark side and I don't have those problems with the activation key ;)
I think I'm fortunate my dad doesn't want anything to do with computers :)