Solved Don't mix VirtualBox and bhyve and then not clean up

tl;dr - Don't add vmm_load="YES" to /boot/loader.conf when trying to play with bhyve on a server using VirtualBox and then forget about it...


I'm posting this partly in public celebration of my own stupidity o_O, but mostly because I found a lack of pertinent results when searching the web for answers for the following issue on a FreeBSD host.

I've been running a few low-load VMs on my FreeBSD house server for many years. Life is annoying if they aren't running - I'm short a public nameserver, can't work up alternate software stacks,etc.

Earlier this year I upgraded from the 10.2 line to 10.3 via freebsd-upgrade(8). I don't generally do this sort of thing, I normally wait and build a new mirror of system disks on a spare machine and then swap, but I was between jobs at the time and thought I'd have plenty of time to rebuild it if I had to...

The upgrade when smoothly, but the next morning (naturally this was done late at night for maximum #winning) I realized the VirtualBox VMs hadn't started. Eventually I found the following error message:

Code:
VT-x is being used by another hypervisor.
(VERR_VMX_IN_VMX_ROOT_MODE)

Well that was bizarre - I wasn't using any other hypervisor. And since I'd just upgraded from 10.2 to 10.3, I assumed it was related to that change. Something in the packages, or the kernel/drivers, or... And when I searched the web, every thread I found with various keywords referenced a Windows host with FreeBSD as the guest - nothing about seeing this when FreeBSD is the host.

Then rather suddenly, I acquired a new job. One that involves commuting for 3-4 hours each day. Now I had no VMs, and no free time to do anything about it...

Many weeks later, turning this problem over again and thinking I might just try to migrate to bhyve, I checked the bhyve section of the FreeBSD docs and noticed the step to add the entry vmm_load="YES" to /boot/loader.conf. "Wait a minute..." Sure enough, I had apparently started down the path of enabling bhyve on that server, realized it wouldn't work with VirtualBox running, and had not backed out my changes.

Hopefully nobody else does this, but if they do I hope there are enough keywords here that they can find the solution a little more quickly than I did...


PS - Hey, at least I had the sense not to do something like this to one of the colo servers... :D
 
Is there any way to "unload" vmm without rebooting? I would sometimes like to run a VirtualBox VM, after I'm done working with a bhyve VM.
 
Back
Top