Virtualbox virtual machines keep aborting.

03 December 2015

If you've been experimenting with different operating systems for a while, or you have some need to run more than one OS on a particular desktop machine, chances are you've been playing around with Oracle Virtualbox due to its ease of use, popular set of features, flexibility, and cost. You've also probably run into the following syndrome (usually while trying to build a new virtual machine):

  • You configure a new virtual machine.
  • You associate a bootable optical disk image with the new VM (for the sake of argument, let's say you're experimenting with the 50 megabyte(!) distro Damn Small Linux).
  • You try to boot the VM.
  • The new VM just barely gets off the ground and crashes.

If you look in the kernel message buffer (dmesg | less) you might something that looks like the following message:

[285069.745248] EMT-1[17090]: segfault at 618 ip 00007fb2855323e1 sp 00007fb295581c40 error 4 in[7fb285483000+17d000]
[285095.055473] EMT-1[17214]: segfault at 618 ip 00007f6971e343e1 sp 00007f6981e83c40 error 4 in[7f6971d85000+17d000]
[285118.696835] EMT-1[17335]: segfault at 618 ip 00007f247f6b73e1 sp 00007f24a3486c40 error 4 in[7f247f608000+17d000]
[285159.558270] EMT-1[17464]: segfault at 618 ip 00007fc4ab5b53e1 sp 00007fc4d2d4ac40 error 4 in[7fc4ab506000+17d000]

Maybe you google it for a while, or you search through your notes in vain. If you go through the VM's logs (Oracle VM VirtualBox Manager -> Right-click on a VM -> Show Log) you'll be presented with one or more tabs, each containing logs for a boot attempt (likely, if you're reading this after a Google search you'll have three or four such logs).

I run into this every few months and promptly forget how to fix it, which is why I'm posting it here.

Access the virtual machine's properties (Oracle VM VirtualBox Manager -> Right-click on a VM -> Settings). Click on "USB" in the pane on the left-hand side of the " - Settings" window. Un-check "Enable USB 2.0 (EHCI) Controller". Leave "Enable USB Controller" checked. Click the "OK" button. Try booting the VM again.

That should do it.