VirtualBox is packed with features that you may have never used, even if you frequently use it to run virtual machines. VMware keeps many of its best features to its paid versions, but all of VirtualBox’s features are completely free.
Many of the features here require Guest Additions installed in your virtual machine. This is good to do anyway, as installing the Guest Additions package will speed up your virtual machines.
VirtualBox can create snapshots that save a virtual machine’s state. You can revert to the saved state at any time by restoring a snapshot. Snapshots are similar to leaving a virtual machine in a saved state, but you can have multiple saved states and restore from them at any time.
To create a snapshot, click the Machine menu while the virtual machine is running and select Take snapshot or use the Snapshots panel. You can restore snapshots from this interface later.
Snapshots are particularly useful if you want to do something to a virtual machine and then erase your changes. For example, if you use a virtual machine to test software, you can create a snapshot of a clean Windows system, then install the software and play with it. When you’re done, you can restore the original snapshot and all traces of the software will be erased. You don’t have to reinstall your guest operating system or manually back up and restore a virtual machine’s files.
Seamless mode allows you to break windows out of your guest operating system window and place them on your host operating system’s desktop. For example, if you use VirtualBox to run an important Windows program on your Linux desktop, you can use Seamless mode to have that Windows program be present on your Linux desktop.
To use this feature, install VirtualBox’s Guest Additions package inside the virtual machine, select the View menu, and click Switch to Seamless Mode.
VirtualBox has basic support for 3D graphics. You’ll have to go out of your way to enable this — the appropriate drivers aren’t installed by default when you install Guest Additions and you must manually enable these settings from the virtual machine’s settings window.
The 3D support won’t allow you to play the latest 3D games, but it does allow you to enable Windows Aero desktop effects in the virtual machine and play older 3D games that aren’t too demanding.
You can connect USB devices to your computer and expose them to the virtual machine as if they were connected directly. This feature can be used with USB drives and a variety of other devices. As long as USB support is enabled in the virtual machine’s settings window, you can click the Devices tab, point to USB Devices, and select the USB devices you want to connect.
VirtualBox allows you to set up “shared folders” that both the host operating system and guest operating system can access. To do this, VirtualBox essentially takes a folder on the host operating system and uses network file sharing to make it accessible inside the virtual machine. Configure shared folders from the virtual machine’s settings window and then access or mount them as you’d mount normal network shares.
Shared Clipboard and Drag and Drop
Copy and paste and drag and drop don’t work between the guest and host operating systems by default. However, VirtualBox allows you to share your clipboard between your guest operating system and host operating system, making copy-and-paste work properly. You can also use drag and drop to easily move files back and forth. Both of these features reduce the friction of using software inside a virtual machine, but they’re disabled by default.
Cloning Virtual Machines
VirtualBox allows you to clone a virtual machine, creating a copy of it. If you try to copy-paste the files manually, you’ll end up with problems because both virtual machines will use the same identifier number for their virtual disks. When you clone a virtual machine, VirtualBox will ensure they don’t conflict with each other.
Virtual machines are normally isolated from the network. If you’d like to run server software inside a virtual machine, you’ll probably want to set up port forwarding so the server software is reachable from outside of the virtual machine. You’ll find this option in the Network settings pane, under Advanced.
You could also opt to connect the virtual machine directly to the network instead of using NAT, but NAT with port forwarding may be a better way to only allow specific ports through without changing your network settings too much.
Importing and Exporting VM Appliances
Appliances are virtual machines with preinstalled operating systems. You can create your own appliances or download appliances in OVF format and import them into VirtualBox. This is particularly useful for Linux virtual machines and other systems that can be distributed freely, although you could also create your own appliances and distribute them throughout your organization.
VirtualBox allows you to enable remote display for a virtual machine, allowing you to run a virtual machine on a headless server or other remote system and access it from another computer. VirtualBox does this with “VRDP,” which is backwards compatible with Microsoft’s RDP protocol. This means you can use the Remote Desktop Connection program in Windows or any other RDP viewer to access your virtual machine remotely without the need for any VirtualBox-specific software.
You can also enlarge a virtual machine’s disks in VirtualBox. VirtualBox doesn’t expose this option in its interface, requiring you to use the VBoxManage command instead.