PCs

Installing Ubuntu 8.04 on Virtual PC: It takes a village

TechRepublic Senior Editor and Linux novice, Selena Frye recounts her adventures installing Ubuntu 8.04 on Virtual PC. She compiled the wisdom of the open source "village," from which she learned the fixes for the Unrecoverable Process Error and the screen resolution bug.

I've played around with Linux a little on other's machines, but I've never installed it myself or really tried to use it on a day-to-day basis. So, ready to take the plunge, I decided to install it in a virtual environment so that I could easily switch between it and all of my Windows-based tools and applications that I use for my editing duties. Keep in mind that I'm an editor (translation: English major), not a tech person, and will claim only a reasonable amount of tech savviness as a user.

So the first thing I should have done, apparently, was use VirtualBox or VMware, but no, I chose to install it on Virtual PC, and I'm rather stubborn, which made everything that much more interesting. Since I had to google for workarounds and bug fixes, visit Ubuntu forums, and ask -- at different times -- advice from a number of kind people to get this up and running (hence, the village), I thought I would compile it all together in one place, if you are so foolish as to want to do this at home.

Creating the virtual machine on Virtual PC

After installing Virtual PC (easy), I downloaded the ISO image of Ubuntu 8.04. Clicking New on the VPC console, I used the wizard to Create A Virtual Machine, give the .vmc file a name and location, select Other from the drop-down menu of OSs to emulate, and then to make a choice on the screen for Memory.

You can either use the Recommended 128 MB or Adjust The RAM yourself. Here, I showed my ignorance and took the Recommended option. No, no, no. It needs to be at least 512MB, which is the difference between getting somewhere in the installation process and getting nowhere...very slowly. (Let's just pretend that I did that in the first place, and saved myself a bunch of wasted time waiting for something to "happen" later. My husband, who is a tech guru, clued me in on this after I called to bother him at work. He's a nice man.) I created a New Virtual Hard Disk file, selected the name and location for the vhd. file, and clicked Finish.

Installing Ubuntu 8.04 Hardy Heron

The Unrecoverable Process Error

Now on to the fun part. I clicked Start from the VPC console and then from the CD tab, selected Capture ISO Image, which was sitting on my desktop. This part is a little fuzzy, as I wasn't quite sure what I was supposed to be seeing right off the bat. It spun and spun and gave me the message to select the boot device, which I thought I'd already done, but eventually, after reselecting Capture ISO Image, I actually got to the screen to select a language. I accepted the English default, though I may as well have selected Finnish for all the good it did me. I then tried to Install Ubuntu from the initial Ubuntu screen, below in Figure A. I immediately encountered...Unrecoverable Process Error. Ooooh. That seemed bad. After applying insanity (repeating the same steps, expecting different results), I decided to go google the error and see what went wrong. What I found out quickly, was that this is a common stopper -- and that there were workarounds. I found it first on the Arcane Code blog, which has step-by-step directions and screenshots for installing Ubuntu 8.04 on VPC. Clearly, these steps didn't work for everyone, most obviously the numerous posters encountering the error.

Ubuntu installation

Here's what you have to do:

  1. Before trying to install anything, press F4 Modes from the options at the bottom of the screen. Select Safe Graphics Mode.
  2. When you then press F6 Other Options, a command line for boot parameters pops up at the bottom of the screen. You have to edit this line.
  3. Several people reported that simply adding noapic nolapic vga=791right at the very end of the line (after the two dashes --) solved the boot problem. Of course, this didn't work for me, so...
  4. Poster SteveZ sailed into the discussion to save the day with a slight variation of the above, which seemed to work for everyone: again, at the end of the command line that pops up from pressing F6, delete the words quiet splash and replace with: vga=791 noreplace-paravirt
  5. Boot success! The kernel begins to load and you're in business. Arcane Code did caution that you should select the option Try Ubuntu Without Any Change To Your Computer instead of Install Ubuntu, as this will just cause you more VPC errors. Just do it.

Now, as confusing and annoying as that first error was for a newbie to handle -- in a way, it wasn't that bad: I googled; I found fairly straightforward direction almost immediately; I applied the two workarounds in succession; and it worked! It probably took me longer to accomplish all of this (particularly when I had to start all over to correct the RAM miscue) than it would most people, but in my defense, I don't know "nothin' bout no command lines," and I was doing all this while actually working on other stuff, so it didn't have my undivided attention.

Installation and beyond

I was so happy to see that Ubuntu color scheme and an actual desktop! Ah, the stately Heron. I went through the Ubuntu Install Wizard by clicking on the Install icon -- all easy, nothing to dwell on there. The installation took me about 35 minutes. You have to be rather patient. The screen will completely blank out a few times, but if you click into it, you'll see your install progress bar moving ever so methodically. Don't be too alarmed. What you might find alarming, though, is the size of your screen resolution which might be about 800x600, or something similarly annoying, but more on this later. The other alarming thing is trying to control your mouse, which gets "captured" by the virtual environment. Click your right-side [Alt] button to "release" it. Only the right one will work.

After installation is complete, the first order of business, is to make the boot edits permanent so that you'll have clean boots going forward. Again, gathered from the "village" at Arcane Code, do this:

  1. Click Action from the left top of the screen and select Reset to reboot. If it hangs up at this point, just close the session and restart it from the console by clicking Start. I don't think it matters if you Save State or not. Just close it.
  2. When you see grub, quickly hit [Esc] to interrupt the boot process and drop to a command line.
  3. You'll see three entries. The first line selected says: Ubuntu 8.04, kernel 2.6.24-16-generic. Keep this selection and press [e].
  4. Next, select the second entry on the page that reads kernel /boot/vmlinuz… and press [e] again.
  5. You'll see a command line that ends with xforcevesa. Edit the end of this line, so that it reads: quiet splash vga=791 noreplace-paravirt xforcvesa
  6. Press enter to finish the edit and then press [b] to boot.
  7. Once Ubuntu has loaded, go to Applications | Accessories | Terminal to open a terminal window. On the command line, type sudu nano /boot/grub/menu.lst
  8. Enter your password, page down to the bottom, and locate the kernel /boot/vmlinuz… line in the Ubuntu 8.04, kernel 2.6.24-16-generic section.
  9. Move the cursor to the end of the line after xforcevesa and add noreplace-paravirt
  10. Press [Ctrl] + [O] to write out, press enter to accept the name, and press [Ctrl] + [X] to close. Type exit to end the terminal session.
  11. Now you should be finished with messing with the boot parameters forever!

Networking and screen size resolution

At this point, I was feeling pretty good about the whole process. I'd had some hiccups but managed my first command line edits, and things generally worked. I found that when I tried to open Firefox, I didn't have a connection yet. This was fairly easy to solve. First, you go to the Edit menu, and click Settings. Click on Networking and make sure you've selected your Network Adapter from your physical computer in the Adapter 1 field, whatever that may be. Then from the top right of your desktop, click on the little networking icon (looks like computer monitors) and select the radio button for Wired Connection. Select this whether you're really unwired or wired; apparently, it will work. That's all I needed to do.

Now, I thought changing the screen resolution would be the easy part after all of the other stuff. Wrong-o! This was the part that spiked my blood pressure and made me want to scream, "Kelly Clarkson!" It's not as simple as going to System | Preferences | Screen Resolution and selecting from the drop-down menus. Forget that -- you will have no options there.

I probably can't re-create the mess I made from here, trying different things, partial edits of xorg.conf, making the wrong selections on the seemingly randomly-appearing configuration GUI that would pop up after I tried to edit xorg.conf. Well, finally, I hosed everything, and not knowing how to recover the small (but readable) resolution that I started with, I ended up nuking the entire installation/virtual machine build and starting the whole damn thing over again. This was very demoralizing, but I figured it would actually take me less time than trying to fix what I had bungled with my half-assed methods.

Did I mention I was an English major?

So, the other difficulty, was that unlike the previous problems I ran into, which had quasi-logical (to me, anyway) fixes, when I searched the forums for this bug, everyone had a different solution, a different edit -- and it was all dependent on what kind of video card you might have and a bunch of other variables. It was the village alright, but scarier-- like the ones who are storming through the countryside with torches and pitchforks.

My husband tried to walk me through one edit having to do with resetting the DefaultDepth option from 24 to 16, which didn't seem to have any affect (he had not yet upgraded to 8.04); I asked Jack for some guidance, which he happily rendered, only I couldn't get any of his suggestions to work either. Here, I was hampered, no doubt, by my complete lack of background knowledge -- I didn't understand what I was trying to accomplish with the commands he was suggesting, and I was probably not giving him all the info he needed to diagnose my problem.

When I had sunk sufficiently low, I decided to roll the dice again, and go back in to the daunting xorg.conf file and select one of the many editing suggestions out there, and just try it. So, I settled on a solution from our dear friends at Arcane Code -- from poster pb (april 27). I decided that come hell or high water, I was just going to edit my file to look exactly like this one, so starting with the Device section, I meticulously typed in this replacement file, which is only part of pb's post, but I figured I didn't need to change the InputDevice sections, since that seemed beside the point. This is exactly what I entered after I opened a terminal with sudo nano /etc/X11/xorg.conf :

Section “Device”

Identifier “Generic Video Card”

Driver “vesa”

BusID “PCI:0:8:0?

EndSection

Section “Monitor”

Identifier “Generic Monitor”

Option “DPMS”

HorizSync 30-70

VertRefresh 50-160

EndSection

Section “Screen”

Identifier “Default Screen”

Device “Generic Video Card”

Monitor “Generic Monitor”

DefaultDepth 16

SubSection “Display”

Depth 16

Modes “1280×1024? “1024×768? “800×600?

EndSubSection

EndSection

Section “ServerLayout”

Identifier “Default Layout”

Screen “Default Screen”

InputDevice “Generic Keyboard”

InputDevice “Configured Mouse”

# Uncomment if you have a wacom tablet

# InputDevice “stylus” “SendCoreEvents”

# InputDevice “cursor” “SendCoreEvents”

# InputDevice “eraser” “SendCoreEvents”

EndSection

Very little of this existed prior to editing the existing file, so it was nerve-wracking, to say the least. (Especially when you haven't backed up anything, because when you tried -- heaven knows why -- you got a freaking error, cursed and gave up). After pressing [Ctrl] + [O] and [Ctrl] + [X] and exiting terminal, I rebooted. Lo and behold...it worked! I now have a 1280x1024 screen resolution (61 Hz). I don't know what all that stuff means, and at this point, I don't really care. Jack says I'm "climbing the nerd ladder." I have a feeling that it will be slow progress, indeed. Now that it's just a VPC away, though, I can start seeing what Ubuntu and other open source apps are all about.


		

About

Selena has been at TechRepublic since 2002. She is currently a Senior Editor with a background in technical writing, editing, and research. She edits Data Center, Linux and Open Source, Apple in the Enterprise, The Enterprise Cloud, Web Designer, and...

26 comments
pfaulds
pfaulds

I found that Ubuntu 9.10 installed perfectly with Sun VirtualBox. I had to make the following minimal changes to xorg.conf to get full-screen mode _only_ on my Windows 7 Pro laptop. I think this should work with VirtualPC as well.

gd_syko_guy
gd_syko_guy

Woohoo, I've got Ubuntu running in a virtual PC! It's slow, clunky, and has no sound or network connectivity. Fan-flipping-dabby-dosey.

gnirojan
gnirojan

When i try to edit the boot it says sudo: nano/boot/grub/menu.lst: command not found. Then when i try to change the screen resolution it says sudo: nano/etc/X11/xorg.conf can anyone please help me. I installed Ubuntu 8.04 in Virtal PC 2007 SP1. Please help me as soon as possible since i need for my project at school

seanferd
seanferd

Ain't it just like the world of computers. I have to say that all that work is quite impressive.

Neon Samurai
Neon Samurai

As you start by mentioning, VMware Server would porbably have been your best bet to start with. version 1 is a good introduction and version 2 (in beta) is a great evolutionary step. You may also want to consider cutting a second VM and installing Mandriva Free or Mandriva One LiveCD. It's usually the distrobution I recommend but in this case, it would have fixed your X issues during install; it detects your video card, suggest the correct X server for it then gives you a nice graphic resolution and screen settings form. Draketools are great. Welcome though; it's a brave libre world you've dipped your toes in.

jlwallen
jlwallen

to be honest, what she was dealing with (and ultimately the big problem) was using an on-board intel graphics chip being used in a Virtual PC. the fact that she managed to get it running at a workable resolution steps her up the nerd ladder a few rungs in my book. but i will say that i have also had issues with video - but again it's all about the video card used. i will NEVER use an NVIDIA card again without the help of Envy.

n.moshiri
n.moshiri

Also... Ubuntu provides VMWare images that you can download.... and then upgrade to the latest version. You don't need to "install" anything but the pre-provided image. http://isv-image.ubuntu.com/vmware/

Elmo468
Elmo468

I suspect that if she were to try to install ubunto on VMWare from scratch that she would have run into similar types of problems so I wouldn't be too quick to judge VirtualPC for failing on this. One thing VMWare did that was smart was to provide image that people can just download and use. The trouble is, they've done it through bittorrent which might be fine for students and home users but most corporate IT policies have definitely banned the use of this. This makes the VMWare images useless in most corporate environments sadly.

DomBenson
DomBenson

It looks like you typed 'sudo nano/boot/grub/menu.lst' - you're missing the space between 'nano' and '/boot'

Neon Samurai
Neon Samurai

Ubuntu seems to install farly painlessly by general experience though there will always be anomalies. In this case, it sounds like VirtualPC has a ways to go before it properly supports a variety of operating systems. As she mentiones at the start; VirtualBox or VMware and it would have been painless. The developer of VirtualPC may need to invest some time on compatability and standards. :)

psullivan
psullivan

After two long days googling and trying all suggestions I could not get any flavor of nVidia drivers and xorg.conf hacks to produce reasonable video (1400x1050) on a Toshiba Satellite Pro 6100 laptop. The only way I could get Google Earth to work (with a frame rate faster than about one frame per second) was to give up and drop back to W2K (;-{. Does 8.0.4 really work with nVidia drivers and old cards?!? If so, is there a detailed wiki that really explains how to make it really work?!? Thanks!

DomBenson
DomBenson

Under Ubuntu, Envy shouldn't be necessary: the linux-restricted-modules package provides a host of drivers for assorted hardware; including NVidia and ATI graphics cards. Unless you run a kernel without the Ubuntu modifications, this package should work. If for some reason you can't, then it is going to be a lot easier to use Envy than to try to compile the lrm package. Ubuntu certainly doesn't generally pick up modes available for virtual graphics adapters very well, but this can be fixed by manually entering the screen modes in xorg.conf. More complex modifications certainly aren't necessary under VMWare.

Neon Samurai
Neon Samurai

I just finished a major upgrade and switched to nVidia after a lifetime of ATI graphics boards due to the ongoing issues I've had with my AIW 9600. What nVidia gave you grief and why? It may be handy to keep in mind if mine causes similar grief.

CharlieSpencer
CharlieSpencer

Specifically VMware Server, a free misnamed product designed not as a production virtual machine server (that's VM's ESX product), but as a host for virtual machines on desktop environments like yours. I had multiple video problems last year when I tried Fedora with VirtualPC. Unlike you, I quickly abandoned VPC and switched to VMware. The problems immediately went away. If you go through this exercise again, you may want to switch virtualization software.

Neon Samurai
Neon Samurai

In a business environment IT should be involved in the installation of a VMware appliance image. IT should also have access to unfiltered internet feeds; testing VPN connectivity being only one example. Also, unless bittorent is blocked by the firewall rather than just banned by policy, IT are the people who can give themselves permission for the temporary exception (it may have to go up to CIO but still). If obtaining the image is useless only because of bittorent availability; I'd suggest that's more an indication about your IT department. Personally, I'd rather just get the standard install disk and select "Ubuntu Linux" from the VMware supported OS list. In reality, I wouldn't get it at all with other preferable distributions available. I'm also partial to a true install versus a liveCD stamped image so I can select what is installed.

Dumphrey
Dumphrey

is VMware server provides USB services to a virtual machine. Always nice for the occasional data pass or print job.

psuptic
psuptic

Neon Samurai -- glad you put the smiley there or I might have thought you were serious! Long ago in an earlier version of VirtualPC, it was possible (and easy!) to install Linux or even BeOS. Once they were bought out, the 'alternative' OS's became much harder to deal with. I just use VirtualBox now, serves every purpose for me.

santeewelding
santeewelding

Them is what get me. Last time almost made the evening news, what with all the gunfire.

jlwallen
jlwallen

my main machine is a small form factor and uses PCIe slots. i have yet to break down and purchase a new card to replace the onboard graphics.

boxfiddler
boxfiddler

I've been running strictly nVidia from day 1. As yet I've had no troubles with it in Ubuntu 7.10, and I have been playing (badly!) with the virtual machine that comes with it (Innotek). edit the usual

Selena Frye
Selena Frye

Yes, it seems I picked the one virtualization route that was, of course, the most difficult! Yet, in a twisted kind of way, I'm kind of glad that I did, because it forced me to go in there and get my hands dirty right away. I feel like I learned a few things by mistake in the process of wrestling it into submission.

Neon Samurai
Neon Samurai

When it came time to shop for a new mobo, I couldn't find anythign that simply offered a load of pci slots. In the end, I used one pcie for GPU, one pci for hauppauge and dumped adding a XFI soundcard in favour of widder airways and onboard sound. I did finally get to start pushing my GPU. I know the game is old but I just can't get used to having all settings in Neverwinter Nights cranked and still having the game far over powered by my hardware. :D

lastchip
lastchip

It's nice to see a Windows user at least attempting the (almost) impossible. As others have said (or hinted) Virtual PC's crapware; VMware Server *is* the one! Edited for minor error.

Editor's Picks