VirtualBox 6.0.x CentOS Kernel Panic

Posted by

Recently, my work computer bit the dust. It was a minor issue, just a bad output on the GPU, but my boss decided it was time to just replace it. The new computer came in, I reinstalled my programs, and everything continued on.

The issue came while trying to set up a CentOS virtual machine using VirtualBox. I grabbed a fresh ISO from their website, loaded it into my virtual machine, and was promptly met with a kernel panic.

Kernel panic - not syncing: Fatal exception

Interestingly, this issue seems to only affect CentOS based distributions, such as FreePBX and ClearOS. Red Hat, Debian, and Arch-based operating systems don’t do this.

I tried changing every setting I could find, before finally giving up and consulting the Internet, which was appropriately unhelpful. While I didn’t find anything directly related, I found a different issue and, on a whim, decided to try the troubleshooting in that post.

The issue seems to be that VirtualBox does not expose a specific CPU instruction (SPEC_CTRL MSR) to the virtual machine. Presumably this wasn’t an issue on older hardware, because I never ran into the issue on my old computer (running a Core i7-4770), but the OS is expecting that instruction on more modern processors (my new computer has the i7-9700, and the thread linked above was running the i7-8565U).

Until Oracle fixes the issue, there is a workaround to get your virtual machine booting.

  1. Open the command line for your host, and navigate to the folder containing the “VBoxManage” binary (on Windows this is usually “C:\Program Files\Oracle\VirtualBox”)
  2. Run the command VBoxManage modifyvm "VM Name" --spec-ctrl on where “VM Name” is the name of your virtual machine.

Now you should be able to boot your virtual machine. This is an extra unnecessary step, so I hope Oracle can figure out a proper fix for it in a future update.

One comment

Leave a Reply