Can Hyper-V run on AMD Ryzen processors?
I'm using a Gigabyte AX370 board, which probably isn't the prime choice for virtualisation, but it does work.
Hyper-V would not install until I enabled virtualisation in the BIOS. At this point I was able to install the feature but not start a virtual machine, receiving the error as in my original question.
Turns out there's an additional option in the BIOS to turn on SVM hidden away under "Advanced Frequency Settings", then "Advanced CPU Core Settings". Not sure why it's under frequency settings rather than in the main CPU features list with the other virtualisation option, but everything works fine once they're both enabled.
There are two aspects to consider here:
CPU Virtualization. Ryzen chips absolutely support this, and in fact I don't know of any modern AMD chips that don't except for the absolute cheapest APU's. I've been running VM's utilizing this (QEMU+KVM for those who may care) with no issues for quite some time. This can however be disabled in the system firmware, and most systems have it disabled by default (the same is true on Intel) for security reasons.
IOMMU support. I'm not sure if Hyper-V needs this or not, but every other type-1 Hypervisor I know of does, so I assume Hyper-V does as well. This is a property of the chipset. I know that the X370 chipset has an IOMMU, and I think that the X300 chipset does too, but I'm not sure about the A or B series chipsets. Just like CPU Virtualization, this can usually be disabled in the BIOS, and usually is by default.
Sounds like you have the Hyper-V management software running, but the underlying Hyper-V infrastructure is not running. Hyper-V is a type-1 hypervisor, so the software that you're using in Windows is just a console; the actual Hyper-V important stuff is loaded before your OS loads.
- Be sure SVM is enabled in BIOS. You should verify it is on in BIOS, but also in Task Manager ... click the Performance tab, click the CPU, and in the bottom-right area, you'll see "Virtualization:" ... make sure it says "Enabled". If it says "Disabled", and you have SVM enabled in BIOS, then I'm not sure what your issue is.
- If virtualization wasn't enabled, or it disabled itself somewhere along the way, you might have to uninstall Hyper-V and reinstall it. This I'm not sure about, but if you turn off SVM and try to boot to a virtualized system, Windows PROBABLY uninstalls it and makes the host OS just a simple installation of Windows. I'd doubt it will re-enable it acutomatically, which might be the situation you're in.
I've been running Hyper-V on my Ryzen system (Gigabtye B350 board) for about 3 months. Everything works awesome EXCEPT you can't run x86 versions of Windows in virtual machines; there is a VME bug that AMD claims to have fixed, but they didn't.
Edit: As well, make sure you don't have any other virtualization software running on your system; these can create a litany of weird issues.