Understanding Virtualbox network interfaces

To create and experiment with all kinds of networks without the risk (or taking the trouble) of creating an actual one. And here is where VirtualBox excels by providing several options for networking out of the box. VirtualBox installs an additional NIC (Network Interface Card) on your host computer to identify itself while communicating with the guest. By default the host gets an IP address of You can change the network modes, IP and other network settings by right-clicking your virtual machine on the left and clicking Settings. These are the networking modes that work with VirtualBox guest computers:

NAT (Default)
Host-only Network (Most secure)
Bridged Network (Least secure)
Internal-Network (Betweeen guests only)
Not Attached (No connectivity, guest isolated)
NAT: By default, the networking mode for your virtual machine is NAT (Network Address Translation) mode. This works something like this: Continue reading “Understanding Virtualbox network interfaces” »


Virtualbox Disk Reduce or Disk Compact

You have to do the following steps:

1. Run defrag in the guest (Windows only)

Nullify free space: With a Linux Guest run this:

sudo dd if=/dev/zero of=/bigemptyfile bs=4096k
sudo rm -rf /bigemptyfile


telinit 1
mount -o remount,ro /dev/sda1
zerofree -v /dev/sda1


sudo apt-get install secure-delete
sfill -f -z -l -l -I -v /

Continue reading “Virtualbox Disk Reduce or Disk Compact” »


VBoxHeadless Running Virtual Machines With VirtualBox On A Headless CentOS 6x Server


Preliminary Note
I have tested this on a CentOS 6.2 server (host system) with the IP address where I’m logged in as a normal user (user name vbox in this example) instead of as root.
If you only have a root account, but no normal user account, create one as follows (user admin, group admin)…
# groupadd vbox
# useradd -d /home/vbox -m -g vbox -s /bin/bash vbox
… create a password for the new user…
# passwd admin

VBoxHeadless Running Virtual Machines With VirtualBox On A Headless Debian/ubuntu Server

I have implemented this on Debian 6 (Squeeze system) with the IP address where I’m logged in as root.

Installing VirtualBox To install VirtualBox 4.1 on our Debian server, we open /etc/apt/sources.list… added this line-

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free

Use appropriate OS source list from https://www.virtualbox.org/wiki/Linux_Downloads

Then we download the VirtualBox public key…

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add -

… and update our package database: sudo apt-get update

Afterwards, we install VirtualBox 4.1 as follows:

apt-get install linux-headers-$(uname -r) build-essential virtualbox-4.1 dkms

(The dkms package ensures that the VirtualBox host kernel modules are properly updated if the Linux kernel version changes.) Starting with version 4.0, VirtualBox has introduced so called “extension packs” and has outsourced some functionality like remote desktop connection support (VRDP) that was part of VirtualBox packages before version 4.0 into these extension packs. Because we need remote desktop connections to control our virtual machines, we need to install the appropriate extension pack now. Go to http://www.virtualbox.org/wiki/Downloads, and you will find a link to the following extension pack: VirtualBox 4.1.18 Oracle VM VirtualBox Extension Pack Support for USB 2.0 devices, VirtualBox RDP and PXE boot for Intel cards. Download and install the extension pack as follows:

cd /tmp
wget http://download.virtualbox.org/virtualbox/4.1.18/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack

(Make sure you grab the latest version from the VirtualBox web site.) Restart the Server at this stage to update the kernel with virtualbox optimized. Installing phpvirtualbox First create a system user called vbox and add it to the vboxusers group:

useradd -m vbox -G vboxusers

Create a password for the vbox user:

passwd vbox

Create the file /etc/default/virtualbox and put the line


in it (so that the VirtualBox SOAP API which is called vboxwebsrv runs as the user vbox): vi /etc/default/virtualbox VBOXWEB_USER=vbox Next create the system startup links for vboxwebsrv and start it:

update-rc.d vboxweb-service defaults
/etc/init.d/vboxweb-service start

Now, run the following command to check if virtualbox kernel modules are loaded or not.

sudo systemctl status vboxdrv


sudo /etc/init.d/vboxdrv status

Sample output:

vboxdrv.service - VirtualBox Linux kernel module
Loaded: loaded (/usr/lib/virtualbox/vboxdrv.sh; enabled; vendor preset: enabled)
Active: active (exited) since Thu 2015-11-26 16:38:30 IST; 42s ago

Nov 26 16:38:29 server systemd[1]: Starting VirtualBox Linux kernel module...
Nov 26 16:38:30 server systemd[1]: Started VirtualBox Linux kernel module.
Nov 26 16:38:30 server vboxdrv.sh[15008]: Starting VirtualBox kernel modules....
Hint: Some lines were ellipsized, use -l to show in full.

If it, not loaded, run the following command to load them:

sudo /etc/init.d/vboxdrv setup

We need a web server with PHP support to serve phpvirtualbox – I’m using Apache2 here. Install Apache2 and PHP5 as follows:

apt-get install apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common apache2 apache2-doc apache2-suexec libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libapr1 php5-common php5-mysql php5-suhosin php-pear wget

for Ubuntu you may install Apache-PHP with folliwng packages-

apt-get -y install apache2 php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5 libapache2-mod-php5

Restart Apache2:

/etc/init.d/apache2 restart

Now, start vboxweb-service, and make it to start automatically on every reboot.

sudo systemctl status vboxweb-service


sudo /etc/init.d/vboxweb-service start

Sample output:

Starting VirtualBox web service ...done.

I want to serve phpvirtualbox from Apache’s default virtual host with the document root /var/www (I will install it in /var/www/phpvirtualbox) – if you have a different document root, you must adjust the following steps: cd /var/www wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1-7.zip Unzip phpvirtualbox and rename the phpvirtualbox-4.1-7 to phpvirtualbox for ease of use: unzip phpvirtualbox-4.1-7.zip mv phpvirtualbox-4.1-7 phpvirtualbox Next go to the /var/www/phpvirtualbox/ directory… cd /var/www/phpvirtualbox/ … and create the file config.php by copying it from config.php-example: cp config.php-example config.php Open config.php and fill in the password you created earlier for the vbox system user: vi config.php […] /* Username / Password for system user that runs VirtualBox */ var $username = ‘vbox’; var $password = ‘secret’; […] That’s it already – you can now open a browser and access phpvirtualbox as follows:


Optional Task

Removing & updating Virtualbox Extension Pack:

For example removing virtualbox extension pack 4.3 to 5.1 version, do the following things-

$ VBoxManage list extpacks
Extension Packs: 1
Pack no. 0: Oracle VM VirtualBox Extension Pack
Version: 4.1.12
Revision: 77218
Description: USB 2.0 Host Controller, VirtualBox RDP, PXE ROM with E1000 support.
Usable: true
Why unusable:

How to remove an extension pack:

$ VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"
Successfully uninstalled "Oracle VM VirtualBox Extension Pack".



http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-4.1-on-a-headless-ubuntu-12.04-server https://www.virtualbox.org/wiki/Linux_Downloads



Virtual USB and VBoxusergroup Troubleshoot on Linux Host

I faced USB issues on both Virtualbox installation on both Debian and CentOS linux host. I really didn't notice the urgency of vboxusers group in running VBox in headless mode!

Anyway, following snippets of texts really did help me out solving my USB problems. All credits goes to the VBox manual documents. The manual page links are provided below for future refences- Continue reading “Virtual USB and VBoxusergroup Troubleshoot on Linux Host” »


VBoxHeadless – Running Virtual Machines With VirtualBox 4.0 On A Headless CentOS 5.6 Server

This guide explains how you can run virtual machines with VirtualBox 4.0 on a headless CentOS 5.6 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.

I do not issue any guarantee that this will work for you!


1 Preliminary Note

I have tested this on a CentOS 5.6 server (host system) with the IP address where I'm logged in as a normal user (user name admin in this example) instead of as root.

If you only have a root account, but no normal user account, create one as follows (user admin, group admin)…

# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash admin

… create a password for the new user…

# passwd admin

… and log in as that user. Continue reading “VBoxHeadless – Running Virtual Machines With VirtualBox 4.0 On A Headless CentOS 5.6 Server” »


Install Virtualbox Extension pack in command line

– Open a command prompt as Administrator : Right-click on “Accessories\Command Prompt” and choose : Run As Administrator.
– CD C:\Program Files\Oracle\VirtualBox
– Make sure the ExtensionPack is located in the same directory
– C:\Program Files\Oracle\VirtualBox>VBoxManage.exe extpack install Oracle_VM_Virt

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe extpack install Oracle_VM_VirtualBox_Extension_Pack-4.0.4-70112.vbox-extpack
Successfully installed “Oracle VM VirtualBox Extension Pack”.