If you're as lazy as I, you may have been using the Windows 7 Release Candidate (RC) until just recently. Why just recently? If you're not in the know, Windows 7 was released for sale in October of last year. Before then, the RC was made publicly available May 5, 2009, with a beta version available before then. During the RC phase, it was well known that the RC version of Windows 7 was set to begin shutting down your PC every two hours starting on March 1. How time flies! A friendly reminder from Microsoft (pictured here) sparked the motivation I needed to kick start my Windows 7 release version installation. Time to get started. [more]
So why did it take me so long to wipe out the RC and install the final version? Why did I hold out so long? Did I think Microsoft would change their mind? Of course not. Strolling down memory lane, I can recall the good 'ol (bad 'ol?) Win 3.x and 9x days, when re-installing my OS was a every-few-month ritual. Back then, half-baked application installers/uninstallers and OS tweaking, over time, either made your PC either completely unusable or bogged it down to the point it became unstable and impractical to tolerate. Backing up, formatting, and starting anew was not an unfamiliar process to computer geeks of that time. In hindsight, I can say I learned a lot from it and knew what I was getting myself into each time. Anyway, now it's not necessary to backup, format, and re-install your OS from scratch as often. Despite all our complaints about Windows, the OS has actually come a very long way in terms of stability and problem recovery. The machine of mine to be upgraded now was upgraded to the Windows 7 Beta from and initial installation of Windows Vista, which was installed in late 2008. It was then upgraded to the Windows 7 RC from the beta in May 2009. Even though upgrades to these editions weren't officially supported by Microsoft, there were ways. Also, I have to say, for a prerelease operating system, the Windows 7 RC was solid. I had better luck with it on this PC than I ever had with Vista. It was faster and more stable than Vista had ever been on this computer's hardware. To summarize, I was pretty happy with the Windows 7 RC. Why fix it if it's not broken?
Oh, right...Guess I'd better get on that!
It's been a long time since a format and re-install of my personal PC. I used to do this all the time, so why is it such a pain now? It made me realize that in the 1990s, we didn't have gigabytes of digital photos, music, videos, and everything else we hoard on our PCs now. In 1996, a gigabyte seemed like a lot more than what it is now. Heck, I carry 16 gigabytes in my pocket, on my phone. Reformatting and re-installing an OS is a bigger pain because we just have a lot more stuff than we used to.
Step 1: Back dat up!
I've previously written about my backup and restore experiences. If you're not backing up your PC or Mac, you're taking a huge risk. Of course, this depends on how important the data on your PC is to you. I've seen people who could not have cared less about a failed hard drive and those who are devastated at the loss. Be sure you know where you fall when it comes to data loss.
First, I performed a full backup of my PC, running the Windows 7 RC, to an external USB hard drive using Acronis True Image Home 2010. Simple enough. This would give me a good backup that I could pick data out of once I've restored.
The problem with a traditional backup like this is that once you've wiped out your machine and re-installed the OS, you have to pick and choose your data out of your backup's archive. What if you can't get to some data you're wanting, like how you had an application set up or some account information that was stored in an application and isn't accessible via the file system? Also, once you've taken the step to wipe out and start over, it can take some time to get your apps re-installed, patched, and reconfigured to the way you like it. This was my primary PC, so I wanted as little downtime as possible.
Step 2: A different way to back up
One of the cool new, but not often mentioned, features of Windows 7 is its ability to boot from .VHD files. VHD stands for virtual hard disk. It's the same technology used in Microsoft Virtual PC and Hyper-V to store the contents of virtual machines. When I say "boot from .vhd," I'm not talking about booting up a virtual machine either inside Virtual PC or Hyper-V. I'm talking about booting up your "real" hardware from a .vhd file, just like you'd normally boot your system from your C drive. You can read this Microsoft Technet article on how to use the bcdedit tool to edit your computer's boot loader in order to boot from a .vhd file. I believe this works on Windows 7 Professional and higher. I'm not sure about the other editions.
I heard about booting from .vhd during the Windows 7 RC phase and wanted to try it out since then. I'm lucky in the sense that I just happen to have another PC here with very similar hardware compared to the PC I am reloading. My plan was to convert my Windows 7 RC's drive to a .vhd, move it to the other computer (where the Windows 7 Ultimate release version is installed), configure it to boot from the .vhd of my old PC, and re-install my Windows 7 RC PC with the release version of Windows 7. This would allow me to reload my RC machine while still being able to use my apps on my ".vhd PC" and transfer my files and settings from the old to the new at my leisure.
The first step in this plan was to back up my Windows 7 RC installation to a .vhd file. There are some commercial tools available to do this, but there's an even better (and free!) tool from Microsoft (Sysinternals) called Disk2VHD which does an excellent job. I downloaded disk2vhd on my Windows 7 RC machine, ran the program and saved my system's C partition and boot partition to a .vhd file on my external hard drive. I then moved the .vhd file to my other Windows 7 PC via my home network. Then, on the Windows 7 PC to where I moved the .vhd, I followed the instructions to add the .vhd to that system's boot menu. One note about the Technet article. You'll need to put square brackets around the drive letter when using bcdedit. The article isn't 100% clear on this. For instance, if you copy your .vhd file to d:\oldpc\oldcdrive.vhd, you'll need to refer to this as "[d]:\oldpc\oldcdrive.vhd" (without quotes) when using bcdedit.
Next, I rebooted my PC containing the .vhd file into the Windows 7 RC operating system residing in the .vhd file. Upon boot, you're given a choice of which operating system to start, so just pick the one you created during the bcdedit steps. This worked perfectly! Once the operating system came up, Windows began re-detecting my hardware. When that happens, a reboot is required. I went through a few detection and reboot cycles, but, eventually, I was able to use my Windows 7 RC operating system just like it was on the original PC. Because all of that hardware redecting occurred, Windows 7 RC fell out of activation...so I had to re-activate Windows. I thought this was a little ironic, since I'd only be using this for a short time.
One very important note. When Disk2VHD creates your .vhd file, it only consumes as much drive space as the amount of data taken up on your source disk(s). For example, on your source PC (my Windows 7 RC computer), let's assume you want to back up your 640 GB C drive to a .vhd file. Let's also assume you're only using 230 GB out of the total 640 GB. Disk2VHD thusly creates a 230 GB .vhd file. You then move this to another PC and follow the bcdedit steps. The drive on this destination PC where you copied this .vhd must have enough free space to account for the entire source disk, which in our case is 640 GB. The reason this is so is because the size of the .vhd is dynamically expanded to the size of the source disk when you boot the .vhd-based operating system. If the physical hard drive does not have enough free space to account for the total size of the virtual hard disk file, you'll receive the famous blue screen of death when you attempt to boot the operating system in your .vhd file.
Step 3: Re-install at your own pace
Once I had my .vhd-based operating system up and running on my other computer, I was free to format and re-install the Windows 7 release version on my primary PC when I wanted to. Over the next few days, I re-installed all my applications and copied my data from the .vhd PC to the newly reloaded Windows 7 PC over my home network. It enabled me to ensure that my applications worked just like they did on the Windows 7 RC installation. If something came up while installing my applications on the newly reloaded PC, I could easily switch over to the PC running my Windows 7 RC .vhd.
Conclusion and afterthoughts:
Using the .vhd method, I was able to reload my computer's operating system while making sure I didn't lose anything important. Having both systems available at the same time made it really easy to verify everything was re-installed and working properly. One idea I'd like to mention is that it does not necessarily require another physical computer to pull off this technique. You could just as easily use Disk2VHD to create your VHD and then run it as a virtual machine in Virtual PC if you only have one physical PC available. I chose to use the second PC because I had it available and also because I wanted to try out bcdedit and .vhd booting. Overall, I'm very happy with how it turned out.