This is an old revision of the document!
Table of Contents
VirtualBox tips/tricks
Commonly-used commands
To change between "not attached", NAT,Bridged,internal network and host olny adapter:
VBoxManage modifyvm <uuid|name> [--nic<1-N> none|null|nat|bridged|intnet|hostonly]
Set the boot order:
VBoxManage modifyvm <uuid|name> [--boot<1-4> none|floppy|dvd|disk|net>]
Add a shared folder:
VBoxManage sharedfolder add <vmname>|<uuid> --name <name> --hostpath <hostpath> [--transient] [--readonly]
Acpi Vm:
VBoxManage controlvm <uuid>|<name>pause|resume|reset|poweroff|savestate|acpipowerbutton|acpisleepbutton|
Change rdp address:
VBoxManage modifyvm <uuid|name> [--vrdpaddress <host>]
Change the Authentication type:
VBoxManage modifyvm <uuid|name> [--vrdpauthtype null|external|guest]
Note: option "external" will limit access to individual users, The user will be required to use rdesktop-vrdp with username and password:
rdesktop-vrdp -u <username> -p - <host ip address>:<vrdp port>
Change rdp port:
VBoxManage modifyvm <uuid|name> [--vrdpport <port>]
List all VMs in the server:
VBoxManage list vms
List all running VMs:
VBoxManage list runningvms
List guest properties:
VBoxManage list -l vms
Note: All the guest parameters(configuration) are in <guestname>.xml
Create a VM
Copy an ISO to your home directory:
$scp <dist>.iso <username>@172.26.0.205:~/
- SSH to VM server: 172.26.0.205
$ ssh <username>@172.26.0.205
- start the virtualbox application
$ VirtualBox
- Follow the wizzard to create a VM with the following properties:
- Base Memory: less than 512 MB
- Network : NAT
- Harddisk size: less than 30Gb
Port Forwarding
If your guest OS is using NAT for networking you will need to enable port forwarding. There is no GUI for this in VirtualBox, but you can use VBoxManage setextradata
to make the required changes. If you want to SSH to your VM, for example:
$ VBoxManage setextradata Ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2223 $ VBoxManage setextradata Ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22 $ VBoxManage setextradata Ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP Then you can log in to the VM from your own computer using the port you've forwarded above: <code>$ ssh -p 2223 username@172.26.0.205
Upgrading VirtualBox
[jmagochi@biovbox ~]$ VBoxManage controlvm CentOS savestate VirtualBox Command Line Management Interface Version 3.0.8 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% [jmagochi@biovbox ~]$ sudo /etc/init.d/vboxdrv stop $ yum install virtualbox-3.1
Expanding a Virtual Disk
There is no way to expand a VDI. What you have to do is create a new VDI, boot the virtual machine to a live cd, and copy over the filesystem (either via dd
, rsync, etc).
Create new VDI
Attach to virtual machine and boot with System Rescue CD
Create two partitions with fdisk/cfdisk/parted, whatever:
- 1: 100 MB, boot, type "Linux" (83)
- 2: 30 GB, type "Linux LVM" (8E)
Format the boot partition as ext3
LVM setup
Create Physical Volume from device:
pvcreate /dev/sdb2
Create Volume Group from PV:
vgcreate VolGroup01 /dev/sdb2
Create Logical Volumes in VG:
lvcreate -L29G -nLogVol00 VolGroup01 lvcreate -L512M -nLogVol01 VolGroup01
Format the new partitions:
mkfs.ext3 /dev/VolGroup01/LogVol00 <code>mkswap /dev/VolGroup01/LogVol01
Mount both root partitions:
mount /dev/VolGroup01/LogVol00 /mnt/newroot mount /dev/VolGroup00/LogVol00 /mnt/oldroot
Copy everything over:
rsync -xrlptgoEv --delete /mnt/oldroot/ /mnt/newroot/
Mount both boot partitions:
mount /dev/sdb1 /mnt/newboot mount /dev/sda1 /mnt/oldboot
Copy everything over:
rsync -xrlptgoEv --delete /mnt/oldboot/ /mnt/newboot/
Force SElinux to relabel all files on boot (or else SElinux will deny you to log in)
touch /mnt/newroot/.autorelabel
Unmount all mounted logical volumes
Install GRUB on the new VDI
grub > root (hd0,0) > setup (hd0)
Renaming the new volume group
Deativate all logical volumes
lvchange -an /dev/mapper/VolGroup*
Rename old volume group
vgrename VolGroup00 VolGroupOld
Rename new volume group
vgrename VolGroup01 VolGroup00
Now shutdown the machine and remove the old VDI.