This post is about the ins and outs of moving from XP Pro 32 bit to Windows 7 64 Bit. I just completed such a move and I have some tips for you that might save you hours of frustration. But before we begin let's get a couple things straight. First, this is not a post about the assets or shortcomings of Microsoft or it's products. Nor is this a forum for you Apple users to tell us all how superior you are because your box is shinier than ours. I actually love Apple products, but Apple users have been known to turn red and swell up like giant angry strawberries if you say anything positive about Microsoft. So if you are one of those folks who is going to have a stroke reading about someone actually choosing a Microsoft product, please stop reading now - or at least have emergency personnel standing by. On a side note, my next hardware project is building an Apple from an Intel box and off the shelf parts - same OS, less than half the cost. I'll write an article on that and hopefully sooth my Apple readers ruffled feathers (it probably won't be shiny though).
Meanwhile, let me first say that I was sad to see my XP pro box go. A computer is more than an OS to those of us in IT. We spend a lot of time and effort making it do things that "regular users" don't have to think about. My desktop XP Pro PC had more than 100 programs installed on it. Many of them I used regularly. I fully expected to have to reinstall numerous programs to insure full functionality. I also expected to have to abandon some items that would no longer work in my new environment. A year and a half ago I moved from one XP box to another using LapLink's PC Mover and it worked splendidly. This time, however, I was nervous about using PC Mover for 3 reasons:
When moving to a new OS, don't make the mistake of "learning as you go". This is always a productivity killer. I needed to know how to do a number of things right off the bat and I did not have the time to scratch my head trying to figure out how to get to the hosts file or alter the domain suffix. So before I began I spent some time nosing around an existing Windows 7 installation to figure out where everything was located. I had just finished the book "Mastering Windows 2008 Server R2" by my good friend Mark Minasi - actually he's not a friend per se, but he did respond to a couple of my emails once, so I'm going to call him a professional acquaintance and stick with that. Anyway, Win 2008 Server is the server version of Win 7 (confusing I know) so there was some good cross-pollination going on that helped me as well.
Forearmed (with my apologies to Popeye) with this academic knowledge I started planning out my migration. First, I wanted to make sure that no matter what I did I would be able to roll back to my XP Pro installation if my little Windows 7 production closed on opening day for some reason. Using "Disk Image", another utility from Laplink, I created a cloned, bootable image of my disk on a separate SATA drive. I did this using my favorite hardware device of all time - a SATA Docking station. Here's the little beauty sitting on the edge of my desk.
This little device allows me to make use of all those extra SATA drives I have floating around. You simply plug an "internal" SATA Drive into it and viola! extra drive space. I cloned my drive to a spare 160GB drive I had lurking in a drawer and then moved to the next part of my clever plan.
Before moving I wanted to simply get rid of all the stuff I did not need on the new system. To do this I used a great little widget called CCleaner. I cleaned up temp files, internet cache files, cookies, pre-fetch files, and left over installers. For good measure I let CCleaner clean up my registry as well (it removes things like unused file extension mappings left over from previously installed programs). Finally, CCleaner lists all your programs and allows you to launch the uninstall routine from it's interface. I de-installed about 15 programs leaving me with just over 90 to move.
Now it was on to the PC Mover interface. If you are using 2 different computer's PC Mover allows you to transfer files over a USB cable or the network. Since I was upgrading my PC "in place" I needed to use the "file storage" method. This method packs all your data and applications into a file on a disk. The plan is to "pack the moving van" and then, after installing Windows 7, "unpack it" - automatically migrating your files and applications.
While packing the van I made some further choices about what to migrate. For example, my XP box had Office 2003 on it, but I knew I was moving to 2007 on the new OS, so I chose to not migrate office (a clean install is always better than an upgrade). I also took the time to exclude a host of folders that I knew were of no use to Windows 7 (why would it need my temp directory, or the directory with all my hardware drivers for example). I also had the choice of which "profiles" (local SAM accounts on my XP machine) to migrate. I chose only my main login profile. Still, the packing process took about 2 hours and resulted in a 60 gigabyte file. I stored the file on my handy SATA dock using another spare drive. So I had my clone boot drive (for roll back) and my packed moving van file on another drive, and of course the internal drive of the PC on which I was doing the upgrade. I was now ready to launch the good ship Muse away from XP and into the cool blue waters of Windows 7. But first, a trip through the hardware.
You might have noticed that I was planning on running Windows 7 64 bit on the same PC that was currently running 32 bit. In order to satisfy myself that this was possible I had to do a bit of good old fashioned hardware research. Was my machine even capable of 64bit Windows 7? I needed to find out before I proceeded (now understand some of this was done prior to my work above - but it makes sense to talk about it here). Using a little widget called CPU-Z I figured out my CPU was dual core AMD 64 x2 +4000 with an 800 MHz front side bus. So yes, it could run a 64bit OS quite handily. My memory however was PC53000 DDR2 running at a clock speed of 533MHz and I only had 2 gigs.
If you are switching to 64bit you should always think about faster memory and a larger memory bank. I purchased and installed some PC6400 DDR2 RAM to take full advantage of my 800Mhz FSB, and moved from 2 Gigs to 4 Gigs. I flashed the BIOS (might as well since there was a new BIOS version and I had the machine down). Then I went into the mainboard BIOS program and optimized some clock settings there so that my RAM and bus speeds were maxed out and I was getting the most out of the on-die memory controller, Hyperthreading and the L2 cache. I took a look at all my hardware cards and made sure I had 64bit Windows 7 drivers (or 64bit Vista drivers) for all of them - or that they were supported by Windows update drivers. I found one – my StarTech4-lan PCIe external eSATA card - that needed a tweak and I handled that in advance.
Now I know there are those of you who are thinking "Hmmm.... that's a lot of work to upgrade a PC." But consider how much time it took to get all these programs installed and running properly. I put blood sweat and tears into getting my XP machine to perform exactly like I wanted. I needed the new OS to reflect at least some of that hard work without having to rebuild it from scratch.
So, having cloned and prepped and archived and tweaked my hardware - I was ready. I popped my Windows 7 64bit disk into the CD drive and rebooted. During the install the only thing I really had to do was to delete the existing partition and reformat a new one (again - a clean start is important). My cloned XP drive made that a much less gut-wrenching choice that it might have been. I found the install for Windows 7 to be short and sweet with no issues to speak of. Once installed and booted up I did the following:
Now I was ready to "unpack the van" (that's PC Mover's cutesy lingo for migrating to the new system). I installed PC Mover and started the migration process. Recall that I had stored the profile information for the local XP user I was using in the PC Mover archive file. The first thing that PC Mover asks is how to map the user profile. I was able to choose to map my old "local" windows XP profile directly into my new "domain" Windows 7 profile. In particular this allows my documents to show up in the right place and be integrated into the nifty search features of the new OS (and I have a few thousand documents I can tell you). More on this later.
After choosing the profile mapping I followed the rest of the instructions through and let PC Mover Work for a while. When it was finished I had all the icons from my original XP profile on my desktop, all my programs installed and all my documents in their usual place. Next stop - test my programs.
If you recall I now had about 90 programs on XP that were now migrated and installed on my new OS. I had no idea if they were able to run correctly or not. So I started by simply opening each program and checking to see. Here are some interesting notes.
I'll mention the SQL tools as one additional issue I was forced to solve. I prefer Enterprise Manager to the integrated manager tools in SQL studio when dealing with an SQL 2000 environment. I'm also used to SQL Query Analyzer and the Profiler tools - all separate for the MS SQL 2000 environment. So I wanted to get those tools installed (along with 2000 help files and the "client network utility"). If you have ever done this you know that the procedure is to run the base MS SQL 2000 server install - as if you were installing the "server" component. When you do this on a desktop OS it warns you that only the client tools will be installed and you don't have the option of installing a server.
When I tried this approach the setup complained that I had the wrong version of windows to accomplish the install (due to the 64bit no doubt). Still, I know that it was possible to run these tools. EM is just a snap in after all and there was no hardware issue or even File I/O issue. Digging into the MS SQL server disk a little further I stumbled on a file called msetup.exe located in /x86/setup. This is actually the launcher for the "install shield". Clicking on it will cause it to ask for a setup file with a DBD extension. In the same directory there is a file called sqlservr.dbd. I pointed to that file and I was presented with the initial install splash screen. From here I was able to follow through and install the client tools. Win 7 complains throughout the process of compatibility errors, but it presents you with a button to "run the program" anyway. If you keep clicking "run program" you will get through and have your SQL 2000 tools intact.
There was the issue of 32 bit programs that had been migrated to the new OS but were not compatible. Using CCleaner I began de-installing these programs and then reinstalling or finding suitable replacements. Occasionally this was a problem. For example, I use an MS "comfort 3000" mouse with the "intellipoint" driver set. Obviously I should probably have not migrated the driver set which was now failing in the new environment (which only meant that the extra buttons didn't work as programmed). I downloaded the new 64 bit software from MS and went to "de-install" the 32 bit version. Uh-oh.... when I opened the intellipoint "uninstall" program guess what - Win 7 complained that the "uninstalll" is not compatible. How was I supposed to uninstall a program whose uninstall routine won't work? Fortunately I've had this problem before when an uninstall file has been deleted or corrupted. The solution was a little program called the Windows Install Cleanup Utility that does a "manual" uninstall of the program - basically removing it from the list and registry. I used this utility to remove the old intellipoint software and then I was able to install the new software (all of this so my "back" button would work :). I repeated this process a few times for various programs. In the end I had about 11 programs that I can no longer run in my new OS. Fortunately I can live without or find replacements for all of them - so I'm good to go.
You might recall that I was moving from Office 2003 to Office 2007 within the new OS. I expected to have to install or abandon my old office templates. When it came to Outlook I expected to have to wrangle with the new environment for days till all my stuff was in place (4 or 5 PST files, auto-archive settings and a few dozen rules). Here is where PC Mover gave me a shockingly pleasant surprise. I installed Office 2007 and opened it for the first time. Instead of presenting me with the configuration wizard to set up new accounts, Outlook displayed a message saying "importing" or "updating" for about 3 or 4 minutes and then suddenly opened to my default view with all my friendly old folders in place. Email started pouring in and my rules started churning away sorting into my various folders. The only thing I had to do was reconfigure SpamBayes (my favorite Junk Mail filter).
To summarize, you can export the user profile information but exclude the actual Outlook program. Yet, as soon as you install Outlook, the old profile hooks automatically configure your Outlook environment the way you had left it. I suddenly had Outlook configured on my domain account virtually the same as it was on my local account, yet I was now running Outlook 2007! Wrangling with Outlook was really my biggest fear in the whole process - and it turned out to be automatic.
I've been in my new Windows environment for 4 days now. So far I have to say it is excellent. In fact, I have no complaints at all. My environment is familiar since I went through the process of insuring that it would be as close as possible. My programs perform well - better in fact since I have a faster bus and more RAM. I'm still learning a few things but overall I give it an "A". Getting Remote desktop working required some configuration of the power options, but even that seems to be pretty smooth. I'd be interested to know my readers thoughts on Win 7 compared to XP or Vista. We skipped Vista after a close look due to the many issues with drivers and the quirky behavior of UAC and the UI. At this point we are glad we did - but it looks like Win 7 might be our next hop.
(Now, if you made it this far I'll tell you a secret. You don't actually have to spell out Bill Gates with your mouse to get the God Mode console to work. In fact the folder name can be "*anything*.{ED7BA470-8E54-465E-825C-99712043E01C} and you will still be able to run the GMC. If you actually spelled out Bill Gates on your screen – thanks for taking me seriously. :)