I have been attempting to set up docker on a VM but have run into issues as soon as I run the powershell command to allow a VM to be able to have virtualization:
Set-VMProcessor <VMName> -ExposeVirtualizationExtensions $true
then whatever VM it is run against will fail to start and will provide the error message:
"The virtual machine could not be started because this platform does not support nested virtualization"
From what I am reading online the system should support this, the processor is fine, the OS version is higher than the recommended Windows 10 Anniversary Update.
I can also go into a VM and install WSL from the command line and it works although if I attempt to run the Unbuntu app downloaded from the store I get an error in the bash window saying:
Error: 0x80370102 The virtual machine could not be started because a required feature is not installed
Even though at the cli I am able to run wsl and its clearly a running linux distro.
Having reached out to other developers I know that people do have nested virtualization running on AMD Ryzen and it "just works" for them, I don't know why it doesn't work for me.
I'm at the end of my tether as I need to have docker installed on WSL in a VM for work purposes, any help or pointers would be gratefully received.
What I've tried:
create VM using Powershell, turn on virtualization extensions before installing OS, when starting VM to install OS it fails VM
use existing VM, try to turn on virtualization extensions, it fails to start VM
create new VM from ISO, install updates, try to turn on virtualization extensions, , it fails to start VM
turn off virtualization in BIOS, uninstall Hyper-V, Virtual Machine Platform, renable virtualization and reinstall Hyper-V, Virtual Machine Platform: no difference
create VM, install docker on VM - it complains of missing feature even with it turning on the features it needs
Some background:
My system (2 months old) is based off AMD Ryzen 9 5950X
OS is Win 10 21H1 (build 19043.1237)
Task Manager shows Virtualization Enabled
Hyper-V is installed and am able to create and run multiple VM's
Windows features - Virtual Machine Platform and Windows Hypervisior are on on the host
Turned off dynamic memory on VM's
Try the Cmdlet get-VMProcessor -VMName <name> to find the status of the current Vmprocessor. I turned everything to false, stopped getting the error and the machine starts but won't boot into ESXI. (Don't know the root cause yet. Maybe something with PowerCLI or net-tulip not being installed.
I ran into this problem trying to run ESXI through Hyper-V. I don't know if this will help you get closer to your end goal, but it may get you past the initial error. I run a
AMD Ryzen 5 2600 Six-Core Processor, 3400 Mhz, 6 Core(s), 12 Logical Processor(s)
No. I've tried the latest version of Win 10 as both host and guest but it simply will not work. I've heard from other people who have made it work and frustratiningly my setup mirrors their setup.
I thing I did find is that if I run up a linux VM I can use docker without any issues at all so it seems, for me at least, its just windows itself that I can't have nested virtualization working.
Latest info I could find from MS now says for Ryzen you need to have Win 11 installed but I've not upgraded as yet so I can't say if it would work or not.
"What I found out is that since I run this server on Win2012 server host, this host OS does not support nested virtualization. For this I need Win10/Serv2019 host."
Just gotta run it on 2019/2022.. it's worth it ;)