Getting this running turned out to be a bit of a challenge. The information is out there, but spread all over the place, so I’m gathering it here.

  • Download the 12.10 network install (mini.iso) for i386 from here.
  • Create a virtual machine with a >5GB dynamic hard disk and with the virtual DVD drive pointed at your downloaded mini.iso
  • Select “Install” and press tab to edit the boot options
  • Add the text ata_piix.prefer_ms_hyperv=0 before the word quiet, then press Enter. Without this the installer won’t see the virtual hard disk to install to.
  • Go through the installer, and choose to install ssh-server, because if you have problems with the screen later, you can use putty to connect to the virtual machine (providing you can see the screen well enough to login, type clear, and then type ifconfig to get the IP address).
  • Once the install has completed, the virtual machine will reboot but Ubuntu won’t start because it can’t find the hard disk. If you don’t get the grub menu, reboot with shift held down.
  • Press ‘e’ to edit the command, and on the line beginning linux, add the text noreplace-paravirt vga=791 ata_piix.prefer_ms_hyperv=0 beforequiet.
  • Providing the magic vga number worked, you should be able to press F10 and boot into a visible virtual machine.
  • sudo into your favourite editor and edit /etc/default/grub to set the parameter GRUB_CMDLINE_LINUX_DEFAULT = "noreplace-paravirt vga=791 ata_piix.prefer_ms_hyperv=0 quiet"
  • Save changes and exit
  • sudo update-grub
  • sudo reboot

Hopefully you should now have a successful boot.