Page 1 of 1

Win10 VMs with Virtualbox very slow on AMD Ryzen 9 3900X

Posted: 28. Mar 2020, 19:17
by imcono
Virtualbox image downloaded from microsoft

My HOST machine windows version: 1909 (build 18363.752)

SVM enabled in BIOS. Tried with enabled and disabled Hyper-V feature - same effect

This is probably becasue "Enable Nested VT-x/AMD-v" is not enabled. But it's actually greyed out. And if I turn it on via command line it gives me error, that it can't start VM at all:

Code: Select all

Failed to open a session for the virtual machine WinDev2003Eval. Cannot enable nested VT-x/AMD-V without nested-paging and unresricted guest execution! (VERR_CPUM_INVALID_HWVIRT_CONFIG). Result Code: E_FAIL (0x80004005) Component: ConsoleWrap Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

Attaching logs, w/o this checkbox and when VM is unbelievably slow. I was not even able to wait until it shows me login screen.

Re: Win10 VMs with Virtualbox very slow on AMD Ryzen 9 3900X

Posted: 28. Mar 2020, 19:55
by mpack
imcono wrote: This is probably becasue "Enable Nested VT-x/AMD-v" is not enabled.
No. Unless you're trying to run a VM inside a VM, you don't care about nested VT-x/AMD-v. VirtualBox 6.1.4 no longer gives you an option to run the host VM without VT-x.
00:00:01.393204 HM: HMR3Init: Attempting fall back to NEM: AMD-V is not available
00:00:01.402324 NEM: WHvCapabilityCodeHypervisorPresent is TRUE, so this might work...
00:00:01.402331 NEM: WHvCapabilityCodeExtendedVmExits = 0x0000000000000007
This is your actual problem: Hyper-v is running on the host, and makes the VirtualBox VM run very slowly, if at all.

Related FAQ: I have a 64bit host, but can't install 64bit guests, especially posts #2 and beyond.

Re: Win10 VMs with Virtualbox very slow on AMD Ryzen 9 3900X

Posted: 28. Mar 2020, 20:50
by imcono
Thank you!
This tip helped:

Code: Select all

On some Windows hosts with an EFI BIOS, DeviceGuard or CredentialGuard may be active by default, and interferes with OS level virtualization apps in the same way that Hyper-v does. These features need to be disabled. On Pro versions of Windows you can do this using gpedit.msc (set Local Computer Policy > Computer Configuration > Administrative Templates > System > Device Guard > Turn on Virtualization Based Security to Disabled. CredentialGuard is a subset of DeviceGuard, so disabling the former should be enough. If you cannot use gpedit for some reason then the equivalent registry hack is to find the key HKLM|SYSTEM|CurrentControlSet|Control|DeviceGuard|EnableVirtualizationBasedSecurity|Enabled and set it to 0.