Translation(s): English - ?Español - Русский
VirtualBox is an x86 emulator developed by innotek (bought by Sun, now Oracle) comparable to VMware. A version called VirtualBox Open Source Edition (OSE) is freely available as Open Source Software under the terms of the GNU General Public License (GPL). This page contains some how-to, tips and tricks when setting up and using VirtualBox.
Installation
VirtualBox 4.1.8 is packaged for Debian Wheezy. Please use the history of this wiki if you are looking for information before Wheezy.
Since version 4.0 the name suffix OSE became obsolete. All non-GPL parts are now packed in an additonal extension pack available from oracle.
Squeeze
Install the relevant linux-headers and virtualbox-ose packages:
# aptitude install linux-headers-2.6-$(uname -r|sed 's,[^-]*-[^-]*-,,') virtualbox-ose
This will also install virtualbox-ose-dkms and other recommended packages. DKMS will build the VirtualBox OSE modules for your system.
VirtualBox OSE can now be started.
To not load the VirtualBox OSE modules at system startup, edit /etc/default/virtualbox-ose and set LOAD_VBOXDRV_MODULE to 0.
Squeeze Backports
Add the Debian Backports repository to /etc/apt/sources.list. For example:
# Backported packages for Debian Squeeze deb http://backports.debian.org/debian-backports squeeze-backports main
Update the list of available packages:
# aptitude update
Install the relevant linux-headers package for your system, for example:
# aptitude install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')
Install the squeeze-backports/virtualbox package:
# aptitude -t squeeze-backports install virtualbox
This will also install squeeze-backports/virtualbox-dkms and other recommended packages. DKMS will build the VirtualBox modules for your system.
VirtualBox can now be started.
To not load the VirtualBox modules at system startup, edit /etc/default/virtualbox and set LOAD_VBOXDRV_MODULE to 0.
Starting
Desktop
In KDE, go to: KDE menu > System > VirtualBox OSE
In GNOME, go to: GNOME menu > Applications > System tools > VirtualBox OSE
From an X terminal:
$ virtualbox Or $ VirtualBox
Server
You can start VirtualBox in Headless mode using VBoxHeadless like this:
$ VBoxHeadless -startvm "VMName"
You should run this inside a screen instance and detach the screen after starting the VM with Ctrl+a d. At least in version 4.0.x you won't need to use screen. Just start the vm with:
$ VBoxManage startvm "VMName" --type headless
and a VBoxSVC process appears in the background. You can loggoff without problems.
Troubleshooting
The character device /dev/vboxdrv does not exist
When starting VirtualBox OSE, the following message is shown:
WARNING: The character device /dev/vboxdrv does not exist. Please install the virtualbox-ose-modules package for your kernel and load the module named vboxdrv into your system. You will not be able to start VMs until this problem is fixed.
Load the VirtualBox OSE kernel module (also load vboxnetflt in Debian Squeeze):
$ su # modprobe vboxdrv
If the module is not found, refer to Installation to provide a virtualbox-ose-modules-* package to your system. To load the module(s) at system startup, edit /etc/default/virtualbox-ose and set LOAD_VBOXDRV_MODULE to 1.
You are not a member of the "vboxusers" group
As stated by VirtualBox OSE:
WARNING: You are not a member of the "vboxusers" group. Please add yourself to this group before starting VirtualBox. You will not be able to start VMs until this problem is fixed.
Add your user account to the vboxusers group via adduser(8), as described in Installation:
$ su # adduser yourusername vboxusers
Log out and log back in to your system to apply the group membership change.
Kernel driver not installed (rc=-1908)
You receive the following message
The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing '/etc/init.d/vboxdrv setup' as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.
After running
$sudo /etc/init.d/vboxdrv setup
VirtualBox works fine until you reboot the system. This is because "vboxdrv" is not loaded during system boot.
Solution.
Make sure that you actually have these packages in your system
1) dkms;
2) build-essential;
3) linux-headers-$(uname -r)
Then, append the following line to /etc/modules
vboxdrv
-1909 VERR VM DRIVER NOT ACCESSIBLE
See You are not a member of the "vboxusers" group above.
RDP not working out of the box?
To get RDP working you need to install the VirtualBox Extensions Pack from the vendors website VirtualBox Downloads.
Simply download the extensions pack, click "File" => "Preferences" => "Extensions" => "Down arrow". Select the file you downloaded above. Click "OK". Restart VirtualBox.
Tips & Tricks
Switching consoles
The normal way to switch consoles in Linux is to use the ctrl-alt-Fx key combination. This does not work for a VirtualBox virtual machine (VM); it will switch consoles for the host system instead.
You should use <Host Key>-Fx instead, where <Host Key> is the key defined in File->Preferences->Input.
This also works for ctrl-alt-del and ctrl-alt-backspace
This is documented in the VirtualBox user manual in the section "Keyboard and mouse support in virtual machines", subsection "Typing special characters".
(An alternative method to switch between text consoles is to use alt-left and alt-right, but that does not work for graphical consoles like XOrg or DirectFB.)
How to remotely start virtual machines using VNC
Remote:
- log onto your remote box
install tightvncserver
- launch it (you don't need a display), pick a password
- determine which port it is using, a way to do so:
netstat -tap | grep vnc
- Let's say it's 5901
- unlog from there since the server forked in the background
Local:
install xtightvncviewer
- create a ssh tunnel to your box:
ssh -L 5901:localhost:5901 you@remote
- use it: (note there are two colons)
xtightvncviewer localhost::5901
then VBoxManage startvm $yourvm &
- and start as many virtual machines as wanted.
See Also
Alternative SystemVirtualization tools.
External Links
http://www.virtualbox.org/ - VirtualBox OSE homepage;
http://www.virtualbox.org/wiki/User_FAQ - Frequently Asked Questions
http://www.virtualbox.org/manual/UserManual.html (PDF) - Official User Manual
http://www.virtualbox.org/wiki/Linux_Downloads - Using upstream's binaries (repository).
ToDo:
- Eventually purge obsolete information from this page
Describe shared folders feature (user needs to be in vboxsf group)