erroneous "VT-x is disabled in BIOS" after upgrade. No guests work.

Discussions related to using VirtualBox on Linux hosts.
Post Reply
Hypnotist
Posts: 1
Joined: 9. Feb 2020, 12:30

erroneous "VT-x is disabled in BIOS" after upgrade. No guests work.

Post by Hypnotist »

Running Virtualbox 5.x on a Linux Mint 19.1 host worked fine, I upgraded to 19.3 and to Virtualbox 6.1.2.

Now, no guests work anymore.

It's all the same error message:

VT-x is disabled in the BIOS for all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED).

Result Code:
NS_ERROR_FAILURE (0x80004005)
Component:
ConsoleWrap
Interface:
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}


Virtualization is enabled in bios.
Googling gives another answer if you are running Windows as a host (to turn off hyper-v), but I can't find anything for a linux host.

When removing the tick in the Settings -> System -> Acceleration -> Hardware Virtualization (which is one of the suggestions google found for me), the OK-button is not active.

Any ideas? Thanks,
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: erroneous "VT-x is disabled in BIOS" after upgrade. No guests work.

Post by mpack »

It's not "erroneous".

In the past VirtualBox would silently ignore you if you enabled VT-x unnecessarily in a system that didn't support it. In v6 VT-x or AMD-v is always necessary, since the old recompiler feature has been discarded.
WINTHROM
Posts: 3
Joined: 17. Mar 2021, 00:38

Re: erroneous "VT-x is disabled in BIOS" after upgrade. No guests work.

Post by WINTHROM »

I have the same problem in Linux. I upgraded from VB 5.x to 6.1.16 when going from Linux 18 to 20. Nojoy. Same error you have. I upgraded to VB 6.1.18. Nojoy. Same error again.

My best explanation is that either VB-guest-additions or VB itself is reading the BIOS options incorrectly for the VT-x switch. I.e., some older PCs do not have a CPU capable of hardware virtualization but the BIOS will also support other CPUs that will provide hardware virtualization. The BIOS s/w will contain "VT-x" in the binary code, but will not present it to the user to choose if the CPU does not support the function. In the meantime VB scans the BIOS and finds ASCII "VT-x" and tests the VT-x function only to find the VT-x is not working, so we users are given an error and required to set a switch for a non-existant function.

The error is that the user cannot access the BIOS VT-x switch because VT-x is not there on older CPU computers. (see locked problem #p496331)

In my case, the Dell Inspiron 1545 CPU (Intel T4300) does not have VT-x.

The Dell BIOS will activate VT-x IF PRESENT, otherwise it will not mention it when editing preferences in the BIOS. This problem occurred when I updated the BIOS (per Dell instruction for this specific machine) to the latest version (2009) i.e., a BIOS that would support a variety of Intel CPUs in the CPU socket of this machine. Some of the supported CPUs do have VT-x, but the T4300 does not. VirtualBox/VirtualBox-extensions does not look at the BIOS as presented to the user. Instead it looks at the BIOS as seen at boot execution time, which has a switch for VT-x that is (since not present) - is off. That switch is then hidden from the user because the running factory installed CPU does not have the property. I have software for 32 bit WIN-XP that did run on VirtualBox 5.x. I upgraded VirtualBox to 6.1 and the BIOS at the same time. Since VirtualBox is complaining, the software is clearly not checking the actual CPU for this VT-x capability. I am not adverse to upgrading hardware, but a CPU is a major upgrade to this machine with very little upside other than satisfying an erroneous flag about missing hardware as a user error.
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: erroneous "VT-x is disabled in BIOS" after upgrade. No guests work.

Post by scottgus1 »

Both BIOS and CPU must support VT-x to have it available in Virtualbox. Actually it's more like the CPU must have it and the BIOS must support it. If your CPU doesn't have it, then your PC never had it and Virtualbox never could use it. Going to 6.1.anything will see that your PC doesn't have it and fail to run.

6.0.x & earlier could run limited VMs without VT-x on the host PC. Roll back to 6.0.something (6.0.14 was solid for a long time in the forum, as I read it then) and your VMs that used to run may come back. Or it's new computer time! Woohoo!

So far I don't see anything unusual in Virtualbox's operation here.
Post Reply