Sometimes software crashes. And you get asked to figure out why. At my day job, the tool of choice for diagnosing crashes at customer sites has become the most-excellent Debugging Tools for Windows.
Generally, crash dumps from 64-bit Windows are easier to work with if you have a 64-bit system yourself. Since the desktop machine I have at my day job is Windows XP 32-bit, I sometimes find myself looking around the office for a 64-bit machine on which to load a dumpfile.
What to do? I needed a 64-bit machine of my own for debugging. I started wondering if I could run Windows 7 64-bit as a VM on my 32-bit host OS. It turns out… you can. Here’s how I made it work:
Some initial research on Google unearthed a small number of blog posts saying that Oracle’s Virtualbox 32-bit can support 64-bit guests, if you have appropriate hardware. My desktop machine has an Intel Core 2 Q6600 processor, containing the needed VT-x magic.
Except… hardware virtualization was disabled in the BIOS on my PC. And the BIOS on that Dell machine came from the factory password protected. I am on good terms with the IT people, and so it took only only a little persuading before they gave unto me the secret of the factory-protected BIOS password. (Hint: It’s the Asset tag.)
It was then quick work to set the BIOS flag that turns on Intel VT-x in the BIOS. I rebooted, logged in and ran the CPU-Z tool:
So far so good. Next I downloaded Virtualbox 4.0.4 – the installation process for that took at most a few minutes. Soon I was configuring a VM for a Windows 7 guest. I pretty much accepted all the defaults as I went along – my goal was to run WinDBG, so a guest with 1GB RAM and a 20GB virtual hard disk was plenty for this purpose.
Next was the real moment I had been waiting for. MSDN provided me with the ISO of Windows 7 Professional, which I attached to the VM’s virtual DVD drive. I hit the “Start” button on Virtualbox and waited as the VM ran through POST…
The Windows 7 installation started up and ran fine. I was able to install the OS, then download and install the x64 version of Debugging Tools for Windows. Here’s my Windows 7 desktop – a 64-bit operating system running happily as a guest under 32-bit Windows XP:
I hope this helps someone.