2009-11-04
Taming the beasts: Getting Ubuntu Server 9.10 to run in Virtual PC on Windows 7
As I wrote, I am a big fan of Windows 7 and virtualization. While my development environment for Veturanto runs on Windows, the production server runs on Ubuntu Server. Ubuntu Server is great and by far the best Linux distribution available at the moment. One piece of the Veturanto infrastructure puzzle I haven't talked about yet is the test server. As I want it to be as close as possible to the production environment, it also naturally runs the same OS. And being a virtualization fan, I want it to run in a window to boot.However Virtual PC and Ubuntu Server have a history of making life difficult for each other and not playing together nicely. There is however a way to get them to cooperate.
So let's go and tame these beasts!
For this to work you will need:
- Windows 7 with Virtual PC installed (see my previous blog post)
- The Ubuntu Server 9.10 32-bit ISO (Virtual PC does not yet support 64-bit guests)
Ok, let's get started!
1. In the Virtual Machines folder, create a new VM. Before launching it, edit the settings to mount the Ubuntu ISO
2. Launch the VM and run the installation normally.
3. In Grub, select the Linux 2.6.31-14-generic-pae entry and press "e" to edit it.
4. Add "noreplace-paravirt vga=771" (no quotes) before "quiet splash" on the second last line and press Ctrl+x to boot
5. Log in and create a file called "/etc/default/grub" as root with this content:
GRUB_DEFAULT=0
GRUB_CMDLINE_LINUX_DEFAULT="noreplace-paravirt vga=771 quiet splash"
6. Execute this command:
sudo update-grub
7. Reboot
8. Welcome to Ubuntu Server 9.10 under Virtual PC on Windows 7 !
Note: Credits go to this post and this post as they were essential inspiration to arrive at this solution!
Update: Removed the bit about changing the kernel. It wasn't necessary.
About Axel Fontaine
I'm an entrepreneur, public speaker and software development expert based in Munich.
I'm the creator of Sprinters. Sprinters lets you run your GitHub Actions jobs 10x cheaper on your own AWS account with secure, ephemeral, high-performance, low-cost runners within the privacy of your own VPC.
I also created CloudCaptain, previously known as Boxfuse. CloudCaptain is a cloud deployment platform enabling small and medium size companies to focus on development, while it takes care of infrastructure and operations.
Back in 2010, I bootstrapped Flyway, and grew it into the world's most popular database migration tool. Starting late 2017, I expanded the project beyond its open-source roots into a highly profitable business, acquiring many of the world's largest companies and public institutions as customers. After two years of exponential growth, I sold the company to Redgate in 2019.
In the past I also spoke regularly at many large international conferences including JavaOne, Devoxx, Jfokus, JavaZone, JAX and more about a wide range of topics including modular monoliths, immutable infrastructure and continuous delivery. As part of this I received the JavaOne RockStar speaker award. As a recognition for my contributions to overall Java industry, Oracle awarded me the Java Champion title.
You can find me on 𝕏 as @axelfontaine and email me at axel@axelfontaine.com