10 Technical background 10.1.4 Summary of 4.0 configuration changes Before 4.0 4.0 or above Default machines folder $HOME/.VirtualBox/Machines $HOME/VirtualBox VMs Default disk image location $HOME/.VirtualBox/HardDisks In each machine’s folder Machine settings file extension .xml .vbox Media registry Global VirtualBox.xml file Each machine settings file Media registration Explicit open/close required Automatic on attach 10.1.5 VirtualBox XML files VirtualBox uses XML for both the machine settings files and the global configuration file, VirtualBox.xml. All VirtualBox XML files are versioned. When a new settings file is created (e.g. because a new virtual machine is created), VirtualBox automatically uses the settings format of the current VirtualBox version. These files may not be readable if you downgrade to an earlier version of VirtualBox. However, when VirtualBox encounters a settings file from an earlier version (e.g. after upgrading VirtualBox), it attempts to preserve the settings format as much as possible. It will only silently upgrade the settings format if the current settings cannot be expressed in the old format, for example because you enabled a feature that was not present in an earlier version of VirtualBox.1 In such cases, VirtualBox backs up the old settings file in the virtual machine’s configuration directory. If you need to go back to the earlier version of VirtualBox, then you will need to manually copy these backup files back. We intentionally do not document the specifications of the VirtualBox XML files, as we must reserve the right to modify them in the future. We therefore strongly suggest that you do not edit these files manually. VirtualBox provides complete access to its configuration data through its the VBoxManage command line tool (see chapter 8, VBoxManage, page 99) and its API (see chapter 11, VirtualBox programming interfaces, page 163). 10.2 VirtualBox executables and components VirtualBox was designed to be modular and flexible. When the VirtualBox graphical user inter- face (GUI) is opened and a VM is started, at least three processes are running: 1. VBoxSVC, the VirtualBox service process which always runs in the background. This pro- cess is started automatically by the first VirtualBox client process (the GUI, VBoxManage, VBoxHeadless, the web service or others) and exits a short time after the last client exits. The service is responsible for bookkeeping, maintaining the state of all VMs, and for provid- ing communication between VirtualBox components. This communication is implemented via COM/XPCOM. Note: When we refer to “clients” here, we mean the local clients of a particu- lar VBoxSVC server process, not clients in a network. VirtualBox employs its own client/server design to allow its processes to cooperate, but all these processes run un- der the same user account on the host operating system, and this is totally transparent to the user. 1As an example, before VirtualBox 3.1, it was only possible to enable or disable a single DVD drive in a virtual machine. If it was enabled, then it would always be visible as the secondary master of the IDE controller. With VirtualBox 3.1, DVD drives can be attached to arbitrary slots of arbitrary controllers, so they could be the secondary slave of an IDE controller or in a SATA slot. If you have a machine settings file from an earlier version and upgrade VirtualBox to 3.1 and then move the DVD drive from its default position, this cannot be expressed in the old settings format the XML machine file would get written in the new format, and a backup file of the old format would be kept. 155
Previous Page Next Page