VirtualBox

From OSDev Wiki
Jump to: navigation, search
Emulators
PC Emulators
PC Virtual Machine Monitors

KVM
Virtual PC
VirtualBox
VMware

PowerPC Emulators

VirtualBox is a virtual machine monitor produced by Oracle (previously Sun Microsystems). It is largely open-source (GPL) with a few feature packs that are closed source. It is very easy to use and has good support for many host and guest platforms.

Contents

Features

  • It has very good documentation so it is very easy to use out of the box.
  • VirtualBox supports booting from real media or images of floppies and CD/DVD-ROM's.
  • It also supports debugging.
  • The ability to access host USB drives.

You are able to also use features of the host operating system where applicable. Some features make using the guest OS easier. For example, "pointer integration" (which allows you to move the cursor between the host OS and certain guest OS's seamlessly).

64-bit guest

To run a 64-bit guest OS on a 32-bit or 64-bit host, the CPU must support virtualization (AMD-V or Intel VT-x) and nested paging (AMD RVI or Intel EPT), and must have these features enabled in the BIOS and the VirtualBox machine configuration. The VirtualBox developers didn't implement software virtualization for 64-bit hosts since most modern CPUs support hardware virtualization, and sofware virtualization would be too slow and memory consuming (especially on 32-bit hosts). If your CPU doesn't support virtualization or nested paging, then you can use QEMU, Bochs or VMware Player as these support 64-bit guests without hardware virtualization.

To see which virtualization features are present and enabled for VirtualBox, run your virtual machine and hover with the mouse over the V icon in the bottom bar.

Virtualized Hardware

VirtualBox supports the virtualization of the following hardware:

Audio

Chipset

  • Intel PIIX3
  • Intel ICH9

Networking

Guest Additions

Main article: VirtualBox_Guest_Additions

VirtualBox offers many features to integrate the user experience of the guest operating system more easily into the host operating system. These features include;

  • Shared drag and drop capability.
  • Mounting shared directories on the host in the client.
  • Seamless mouse pointer integration.
  • Seamless window blending.
  • Shared clipboard.
  • Detecting the size of the VirtualBox window.
  • 2D and 3D acceleration.

All of the official VirtualBox documentation either targets end-users installing guest operating systems or people developing VirtualBox. Documentation for people developing for VirtualBox's virtual hardware is virtually non existent. The best reference you have available is the source code for the guest additions for FreeBSD, Linux, OS2, Solaris, and Windows. The source code can be found on the VirtualBox SVN respository under /vbox/trunk/src/VBox/Additions.

The ability to enable certain guest features depends on the value of the "Guest OS" property. For example, the option to enable 3d acceleration doesn't become available unless the "Guest OS" property is set to Windows. Changing the "Guest OS" merely changes the recommended settings and what extended features are available; it does not change the behaviour of the virtual machine.

See Also

External Links

Issues

  • User turdus identified a bug in long mode
  • More recently, 9front users found strange behaviour: Some emulated hardware (e.g. NIC, important to 9front,) works in one revision, but not in the next. (E.g. it works in version X.Y.39 but not X.Y.87.) 9front works fine with real hardware of the same type.
Personal tools
Namespaces
Variants
Actions
Navigation
About
Toolbox
In other languages