The steps are not too difficult but I did have to find a few places for information. Search on the forum turn up nothing on this subject so hopefully this HOWTO would be helpful to someone out there.
Note: This is not using the OSE version.
VirtualBox has a very good GUI running on the host to manage guest OS. However when running a server, we typically do not want to run X on it. Fortunately VirtualBox has commandline tools to manage guest systems. It also provides the VirtualBox Remote Desktop Protocol (VRDP) to allow connection to the guest remotely.
Clarification of terms used:
Host - refers to the machine we are trying to install VirtualBox.
Guest - the VirtualBox guest system that is setup on the host.
Remote - the PC that we are working on to connect to the host via SSH.
This setup was done on a fresh install of Ubuntu Server 8.04 with openssh-server installed.
All the following steps are done by SSH into the host from a remote (I'm using Windows for now).
1. Get required packages
Download the Ubuntu package for VirtualBox from
We are using the non-OSE version here.
wget "download link here" -O virtualbox_1.6.2-31466_Ubuntu_hardy_i386.deb
The manual from http://www.virtualbox.org/wiki/Downloads is also very useful.
This will generate a bunch of dependencies. Fix them with
sudo dpkg -i virtualbox_1.6.2-31466_Ubuntu_hardy_i386.deb
3. Decide on user, disk files location
sudo apt-get -f upgrade
First decide which user you want to run VirtualBox. Add this user to the vboxusers group.
By default VirtualBox creates the directory .VirtualBox on the user home directory and put all the config and disk file there.
sudo usermod -a -G vboxusers vboxuser
In my setup I put the disk files in /var/vbox as I had created a large partition for this purpose.
4. Install a guest OS
You will need an iso for the guest OS install CD. Copy or download it to the host.
For example we will just use ubuntu-8.04-server-i386.iso
-create a vm
VBoxManage createvm -name ubuntu -register
-create a disk
VBoxManage modifyvm ubuntu -memory "256MB" -acpi on -boot1 dvd -nic1 nat
-add disk to vm
VBoxManage createvdi -filename "/var/vbox/ubuntu.vdi" -size 5000 -register
-register an install iso
VBoxManage modifyvm ubuntu -hda "/var/vbox/ubuntu.vdi"
VBoxManage registerimage dvd /var/vbox/ubuntu-8.04-server-i38.iso
-mount iso on vm
-start the vm with port
VBoxManage modifyvm ubuntu -dvd /var/vbox/ubuntu-8.04-server-i38.iso
If you are running just 1 guest, the -p 3389 is optional. For more than 1 guest, it has to listen to different port.
VBoxHeadless -startvm ubuntu -p 3389 &
5 Connect from remote
Since my desktop is still Windows, I use Remote Desktop Connection. (On XP, Start>All Programs>Accessories>Communications)
For Mac, use http://www.microsoft.com/mac/products/remote-desktop/
Ubuntu, look at http://ubuntuforums.org/showthread.php?t=824710
Just fill in the IP of your host (or IP:port if not the default) and you should see the Ubuntu installation waiting for you.
Other useful commands:
Getting Ubuntu Server to run in VirtualBox
VBoxManage controlvm ubuntu poweroff
VBoxManage controlvm ubuntu reset
After installation and restarting, you may find that the boot up hang with this error
This kernel requires the following features not present on the CPU: 0:6
To fix this, do the following:
1. Reset the guest
2. Hit F12 to choose to boot from the CD. (It goes by pretty quickly, reset again if you miss it.)
3. Select Rescue a broken system
4. After going through the install screens you will get a command prompt. Select to run it on the root system.
5. Install the virtual linux-virtual kernel
6. Reboot and this should fix the restart.
apt-get install linux-virtual
If the kernel on the host is upgraded, the VirtualBox kernel module need to be re-compiled. Do the following steps:
1. apt-get install make gcc linux-headers-2.6.24-19-server (other kernel header, check uname -a)
2. /etc/init.d/vboxdrv setup
It should recompile the VirtualBox module and everything should be working again.