Using VirtualBox to run the Microsoft Virtual PC test images
At some point with every new project, we have to do multiple browser testing to check for compatibility. The major browser types are usually covered by the team, and we all usually have at least Firefox, Chrome, and one flavor of IE (IE7 or IE8 w/ some having IE9 access at home or via an external VM). What we don’t always have are reliable IE6 installs to test with. Microsoft makes Virtual PC (.vhd) images available for free that expire every quarter (You can find them here). They also make Virtual PC 2007 available as a free download, which works great for XP users. They have their XP mode for those of us that run Windows 7 pro or ultimate, but for those of us who have a lower version of Windows (Windows 7 Home Premium and below), at first glance it would appear that we are out of luck.
VirtualBox is a free virtualization tool built by the folks at Oracle. You can setup a virtual machine in it just like you can in Virtual PC 2007, and they both support the VHD file type, which you will need to convert to a VDI file if you want to load more than one of the free images from MS because of some ID in the file that VirtualBox checks. That article is written for a Linux system, but if you get the windows binary for qemu, it should work fine. For the purposes of this article, I am going to assume you either didn’t need to run more than 1 image (like me), or you already can figure that part out for yourself.
The kicker to this whole thing is that you can just use the VHD image and all seems to work until you boot up. You get the annoying message from MS saying you need to validate your copy of Windows within 3 days or the men in black suits will come beating down your door. The best part of this is that if you reboot, you can’t get past this step so you have to do this all at once without rebooting! Windows sees that it was unable to activate and thus prevents you from installing network drivers. Awesome… I need to install my network drivers so I can activate windows, but I need to activate windows before installing the network drivers. Most people (as was I) are thinking “You just have to install the guest operating system tools to get the network drivers,” but that did not work for me. I also did the
handy little trick to extract the drivers from the guest tools by running their something-x86.exe /extract /D=C:\Drivers (I tried so many times that I memorized everything but the exe itself since you can tab correct that). The drivers simply are not included no matter what article one might read about them being moved into an exe archive so as to save space in the ISO image, which makes no sense anyway since the exe is in the ISO anyway.
Long story short (still long), the only way to get the network card working is to install the drivers, but the only way to get the drivers on the virtual box is to put them on an ISO image so you can mount that via VirtualBox. Here are the XP Drivers for the AMD NIC that were missing from the guest OS tools ISO image included with VirtualBox.
- Boot the VHD image for the first time
- Cancel all prompts to activate and install new hardware
- Mount this ISO image via VirtualBox’s device dropdown
- Update the drivers from within the Device Manager for the Ethernet Adapter
- Activate your free XP IE6/7/8 testing image
- Repeat this next quarter (half the reason I wrote this article)
I hope this helps someone and saves them the hassle of trying 1000 times to find the NIC drivers before doing it themselves. I know this will become my new reference every quarter when my VPC image expires!