It is possible to get Ubuntu 9.04 to run in Virtual PC 2007, but it does require the addition of some kernel options. There are still some issues, such as problems with sound and no guest additions. (You can try to use the guest additions for Virtual Server 2005 R2 SP1. You will need to convert them to a Debian format first.)
I would recommend that anyone who wants to run Linux virtual machines, to abandon Virtual PC 2007 in favor of VirtualBox http://www.virtualbox.org/. VirtualBox run Ubuntu runs right out of the box and also has guest additions. Its much better!
For those who still want to use Virtual PC 2007, here’s what you need to do:
- At the setup screen press “F6” and then “ESC”.
- Remove “quiet splash” and add “vesa i8042.noloop=1 clock=pit noreplace-paravirt vga=788” and press enter.
The option “vesa" and “vga=788” tells Ubuntu to use the vesa video driver and 800×600 16-bit video mode.
The option “i8042.noloop=1” fixes an issue where the mouse is erratic and unresponsive.
The option “clock=pit” fixes an issue where the clock runs fast in the guest and key presses are repeated.
The option “noreplace-paravirt” fixes an issue where the VM will crash.
- Continue installing and on the first reboot, interrupt Grub by pressing “ESC”.
- Press “e” and highlight the line beginning with “kernel” and press enter.
- Add “vesa i8042.noloop=1 clock=pit noreplace-paravirt vga=788” and pres enter.
- Press “b” to boot.
Now we need to make these changes permeate. From a terminal:
- Type “sudo gedit /boot/grub/menu.lst”
- Scroll down to the section “# defoptions=”, and replace it with: “# defoptions=vesa i8042.noloop=1 clock=pit noreplace-paravirt vga=788”.
- Scroll down to the section “## ## End of Default Options ##” and add “vesa i8042.noloop=1 clock=pit noreplace-paravirt vga=788” to the kernel boot options (right before quiet splash) for both the normal and recover mode selections.
- Save and exit
The emulated S3Trio64 video card supports only 16bit and 32bit color depths. We need to make the following change to ensure that a 24bit color depth is not used. From the terminal:
- Type: “sudo sed -e ‘s/DefaultDepth.*24/DefaultDepth 16/g’ -i /etc/X11/xorg.conf”
Enable the scroll wheel on the mouse. From the terminal:
- Type: “sudo modprobe -r psmouse”.
- Type: “sudo modprobe psmouse proto=imps”
- Type: “sudo gedit /etc/modprobe.d/options”
- Add the line: “options psmouse proto=imps” (without the quotes)
- Save and exit.
The next change is required if sound is not working properly. From the terminal:
- Type “sudo gedit /etc/modules”
- Add the line: “snd-sb16” (without the quotes).
- Save and exit.