This is a problem I came about recently while installing VirtualBox on my home server so I could have a play about with some VM’s. Apparently it’s quite a common problem but I couldn’t find too much on it so I thought I’d go through a few steps you can take in order to get this working.
Firstly, the problem we have is shown below.
So, let’s get into it.
Update your BIOS
Firstly, before jumping into the next topic, please ensure your BIOS is up-to-date. You can get the latest version from your manufacturers website.
Enable Hardware Virtualization
In your BIOS of your machine or server, you will have an option to enable hardware virtualization. The server I have at home is a Dell T20 which has an Intel BIOS, so the example below will be on that.
You will need to reboot your machine and hit the key required to access your BIOS, mine was F2 but yours may be DEL for example. Once inside you will need to navigate around the environment a bit and look for an option to enable Intel Virtualization Technology and Intel VT-d.
If you’re in an AMD environment the setting you should look for is AMD-Vi.
As a said before, this will differ from motherboard to motherboard but here is an example of the options as I saw them.
Once you’ve done this, boot your machine back up again and give it another go! Don’t worry if it’s still the same; we’ve got a few more tricks!
I would like to stick my neck out at this point and assume that this probably isn’t your first dive into the world of virtualization. If this is the case then you may have come across Hyper-V at some point, which is Microsoft’s virtualization product, you may have enabled this on your own PC or server in order to have a play around in the past.
When installing Hyper-V either on a PC or a server, the operating system you are using (in a way) becomes virtualized, it has a type 1 hypervisor wrapped around it, becoming part of the virtual environment of sorts.
Now, I’m going to gloss over this a little bit, but IVT and VT-d that we have just turned on can only be seen by one hypervisor which is the previously installed Hyper-V, meaning that it is not available to VirtualBox. So, we need to remove Hyper-V!
The method you are probably expecting, go into the Add/Remove Windows features (if using Windows) or Server Manager (if using Windows Server) and ensure Hyper-V is deselected.
Ensure that this option is deselected and you have performed any reboots required thereafter.
Secondly, and this is the part that I don’t see mentioned very often, you will need to follow this up with a couple of command-line commands to really make sure that Hyper-V is disabled.
Open a command prompt, running under administrative privileges and enter the following commands.
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V bcdedit /set hypervisorlaunchtype off
You will need to reboot your machine again after this so go ahead and do that. Once your machine is back up and running, launch VirtualBox and give it another try, you should be greeted with what you were expecting all along, which should look like this:
There we have it! That should hopefully solve your problem!
There are additional steps you can take if these steps don’t work for you including Disabling DeviceGuard and CredentialGuard, which some users have reported some success with. I’m not going to go through that here, as they are security features and I can’t really suggest you disable them, especially considering that I didn’t need to do it in this demo.
If you do wish to pursue this however, you can find it pretty easily on Google.
Take it easy!