It’s been a while since I’ve tried to run some 64bit versions of windows so I downloaded some from MSDN, and tried to run some under the latest 0.14.0 build…
First up is Windows XP x64 sp2 (en_win_xp_pro_x64_with_sp2_vl_x13-41611.iso)
I launched it like this:
qemu-system-x86_64.exe -m 1024 -hda six64.disk -L pc-bios -cdrom en_win_xp_pro_x64_with_sp2_vl_x13-41611.iso
And the bootloader loads up, but it hangs transitioning to the kernel. Nothing is logged to the serial port.
Next up is Windows 2003 server, with no service pack.
I’m loading up Qemu like this:
qemu-system-x86_64.exe -m 1024 -hda six64.disk -L pc-bios -cdrom \install\en_ws_2003_std_x64_vl.iso
And again being met with a hung state booting the kernel.
I guess this isn’t surprising as booth 2003 & XP x86_64 both use the same kernel.
Next up, I thought I’d try a longhorn beta…
qemu-system-x86_64.exe -m 1024 -hda six64.disk -L pc-bios -cdrom longhorn-some-random-beta-x86_64.iso
And I get a nice black screen, again transitioning to the kernel…
So let’s try Windows 2008r2 (It’s the same thing as Windows 7).
So this is different, so googling around for the Stop: 0x0000005D (0x0000000078BFBF9,0x0000000000000000,0x0000000000000000,0x0000000000000000 code, led me to some config file for the x86_64 for additional CPU types. It appears that in the arch_init.c file I modified the following line:
const char arch_config_name[] = CONFIG_QEMU_CONFDIR “/target-” TARGET_ARCH “.conf”;
Into:
const char arch_config_name[] = “./target-” TARGET_ARCH “.conf”;
So that way I could pick up the ” -cpu Nehalem ” flag. Sadly it produced…
Bummer.
Meanwhile, much like Novell Netware, it really only works on Qemu 0.9.0
But not so hot for Windows 2008 r2 (AKA Windows 7).