Source
Running Virtual Machines With VirtualBox 4.1 On A Headless Ubuntu 11.10 Server
This guide explains how you can run virtual machines with
VirtualBox 4.1
on a headless Ubuntu 11.10 server. Normally you use the VirtualBox GUI
to manage your virtual machines, but a server does not have a desktop
environment. Fortunately, VirtualBox comes with a tool called
VBoxHeadless that allows you to connect to the virtual machines over a
remote desktop connection, so there's no need for the VirtualBox GUI.
[...]
Now we must add the user that will run VirtualBox (
administrator in this example) to the
vboxusers group:
sudo adduser administrator vboxusers
VirtualBox is now installed and ready to be used.
3 Using VirtualBox On The Command Line
3.1 Creating A VM
To create a VM on the command line, we can use the
VBoxManage command. See
VBoxManage --help
for a list of available switches and (highly recommended!) take a look at
http://www.virtualbox.org/manual/ch08.html.
I will now create an Ubuntu 11.10 Server VM with 512MB memory and a
10GB hard drive from the Ubuntu 11.10 Server iso image (which I have
stored in
/home/ubuntu-11.10-server-amd64.iso):
VBoxManage createvm --name "Ubuntu 11.10 Server" --register
VBoxManage modifyvm "Ubuntu 11.10 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
VBoxManage createhd --filename Ubuntu_11_10_Server.vdi --size 10000
VBoxManage storagectl "Ubuntu 11.10 Server" --name "IDE Controller" --add ide
VBoxManage storageattach "Ubuntu 11.10 Server" --storagectl "IDE
Controller" --port 0 --device 0 --type hdd --medium
Ubuntu_11_10_Server.vdi
VBoxManage storageattach "Ubuntu 11.10 Server" --storagectl "IDE
Controller" --port 1 --device 0 --type dvddrive --medium
/home/ubuntu-11.10-server-amd64.iso
3.2 Importing An Existing VM
Let's assume you have a VM called
examplevm that you want to reuse on this host. On the old host, you should have a directory
Machines/examplevm in the VirtualBox directory;
Machines/examplevm should contain the
examplevm.xml file. Copy the
examplevm directory (including the
examplevm.xml file) to your new
Machines directory (if your user name is administrator, this is
/home/administrator/.VirtualBox/Machines - the result should be
/home/administrator/.VirtualBox/Machines/examplevm/examplevm.xml).
In addition to that copy the
examplevm.vdi file from the old
VDI directory to the new one (e.g.
/home/administrator/.VirtualBox/VDI/examplevm.vdi).
Afterwards, you must register the imported VM:
VBoxManage registervm Machines/examplevm/examplevm.xml
3.3 Starting A VM With VBoxHeadlessRegardless of if you create a new VM or import an old one, you can start it with the command:
VBoxHeadless --startvm "Ubuntu 11.10 Server"
(Replace
Ubuntu 11.10 Server with the name of your VM.)
VBoxHeadless will start the VM and a VRDP (
VirtualBox Remote Desktop Protocol) server which allows you to see the VM's output remotely on another machine.
To stop a VM, run
VBoxManage controlvm "Ubuntu 11.10 Server" poweroff
To pause a VM, run
VBoxManage controlvm "Ubuntu 11.10 Server" pause
To reset a VM, run
VBoxManage controlvm "Ubuntu 11.10 Server" reset
To learn more about
VBoxHeadless, take a look at
VBoxHeadless --help
and at
http://www.virtualbox.org/manual/ch07.html#vboxheadless