Page 1 of 1

[Solved] Virtual Box error (0x80004005) prevents me from running all VM'S

PostPosted: 4. Sep 2019, 20:13
by MANTECON
Hi,

I'm trying to understand the logs and troubleshoot myself but I've been unsuccessful so far. Hoping you guys can help me understand or fix this issue.
  • Bios Settings = Virtualization is ON
  • Hyper-V = Off
  • Windows Sandbox is OFF
  • Windows Subsystem for Linux is OFF
  • Windows antivirus is OFF
  • Windows > Security > Device Security > Core isolation is OFF
Attached file includes coreinfo.txt + VirtualBox Logs.

Thanks in advance,

Re: Virtual Box error (0x80004005) prevents me from running all VM'S

PostPosted: 4. Sep 2019, 20:17
by scottgus1
Good on you for trying to find the trouble yourself! Looks like you're on the right track.

The two guest run logs have this:
00:00:01.651718 HM: HMR3Init: Attempting fall back to NEM: VT-x is not available
00:00:01.698102 NEM: WHvCapabilityCodeHypervisorPresent is TRUE, so this might work...

This indicates something related to Hyper-V is still running. See I have a 64bit host, but can't install 64bit guests Carefully go through each command in the 2nd & 3rd posts. Based on my perusal of successful fixes for this problem, the silver bullet appears to be the "bcdedit" command & complete power-down in post 2 point 1.

Re: Virtual Box error (0x80004005) prevents me from running all VM'S

PostPosted: 4. Sep 2019, 20:30
by MANTECON
Hi @scottgus1, thank you for your reply. I did follow this guide verbatim with no results. I'm going to re-check the bios settings to check if I missed something.

Re: Virtual Box error (0x80004005) prevents me from running all VM'S

PostPosted: 4. Sep 2019, 20:39
by MANTECON
FOUND IT!!!
in my BIOS
Execute Disable Bit was ENABLED.

Now Execute Disable Bit is DISABLED and I'm able to run all my VM'S!

TL;DR = Solution* = disable Execute Disable Bit

* = this was the final thing I had to do in order to get it to work. Please follow the guide suggested on this post because I did.

Thank you all!

Re: [Solved] Virtual Box error (0x80004005) prevents me from running all VM'S

PostPosted: 5. Sep 2019, 10:27
by socratis
MANTECON wrote:Execute Disable Bit was ENABLED.
Correctamundo! :)

The "Execute Disable Bit" (or NX bit), must be disabled in order for the host to have NX-enabled, which is a requirement for some (almost all these days) VMs. See viewtopic.php?f=6&t=88942#p426401 and note that the last line in your VBox.log, right before the crash is:
00:00:01.464912 CPUM: SetGuestCpuIdFeature: Enabled NX
00:00:01.465534 VMSetError: F:\tinderbox\win-6.0\src\VBox\VMM\VMMR3\NEMR3Native-win.cpp(1463) int __cdecl nemR3NativeInitAfterCPUM(struct VM *); rc=VERR_NEM_VM_CREATE_FAILED

BTW, the "coreinfo.txt" wouldn't have helped. It shows you what the CPU is capable of, not if it's actually available to use, huge difference...

Thank you for the feedback and the solution, hope someone finds it useful in the future. And thank you for marking the topic as [Solved]... ;)

Re: [Solved] Virtual Box error (0x80004005) prevents me from running all VM'S

PostPosted: 6. Sep 2019, 02:08
by fth0
socratis wrote:(1) The "Execute Disable Bit" (or NX bit), must be disabled in order for the host to have NX-enabled [...]
(2) [...] the host to have NX-enabled, which is a requirement for some (almost all these days) VMs.
(3) See viewtopic.php?f=6&t=88942#p426401

While (2) and (3) are correct, IMHO I have to object to (1):

The page table entry bit called NX (No-eXecute) or XD (eXecute Disabled) has to be enabled in the BIOS. The corresponding BIOS setting may have a (double) negative designation/description that can be misunderstood, though, so one has to be careful with it. If the BIOS allows the CPU/OS to use the NX/XD bit (and Windows 10 requires using it), then everything is fine.

Regarding the VirtualBox default of the PAE/NX setting: For Windows 10 64-bit the default is off (doesn't matter), because the NX bit (bit 63 of page table entries) is available anyway, whereas for Windows 10 32-bit the default is on (and necessary), because the page table entries would have only 32 bits when not using PAE and wouldn't have the NX bit available then.

scottgus1 wrote:00:00:01.651718 HM: HMR3Init: Attempting fall back to NEM: VT-x is not available
00:00:01.698102 NEM: WHvCapabilityCodeHypervisorPresent is TRUE, so this might work...

I don't know how the NX/XD BIOS setting interacts with the fallback to NEM case of the OP, though. The OP's alleged solution seems to contradict my statements above, but may be attributed to a misunderstanding on either side.