Hacker News new | ask | show | jobs
by jeroenhd 380 days ago
Is nested virtualisation still a problem on Windows? Intel and AMD have supported it for so long I don't think I still own hardware that lacks it.

It's a pain when renting a VPS sometimes, but on Windows I don't think that's a common problem.

2 comments

It's not a problem for Windows, it's a problem for AWS: only metal instances support nested virtualization. To this very day you can't use WSL2 on most EC2 instances.

It's also a problem for Microsoft's new ARM64-based Surface devices: Snapdragon X doesn't support nested virtualization, even though Windows does.

> It's also a problem for Microsoft's new ARM64-based Surface devices: Snapdragon X doesn't support nested virtualization, even though Windows does.

Snapdragon X does support nested virtualisation - it's Windows that doesn't support it on arm64 yet

Thank you for this correction. That gives me some hope, then, that maybe we'll get it fixed. I didn't realize this limitation before I bought the device and had to find out when I got the Hyper-V error message :/
iirc they took quite a while to enable it on AMD after Intel, so maybe the wait will be quite significant...
Why would you?

If I have access to AWS, I will be spinning up Linux VMs for GNU/Linux workloads.

AWS has a service providing license-included Visual Studio development VMs for enterprises. These run on EC2 but the users don't have access to AWS services in that sense. These VMs can't run WSL2 because of the lack of nested virtualization. This ends up being fairly painful for Windows-based development; WSL is used for lots of things, integrated with our Windows environment, and WSL1 is much slower.
I guess it is a business decision then, I never been in such situation, it was always rather easy to have a few EC2 GNU/Linux VMs around.
It's not really conducive to use a separate machine for these development use cases; WSL is integrated to the Windows side more tightly than a separate VM is. For instance, you can launch Windows EXEs directly from the Linux side as if they were native, so you can have a single script that runs tools from both sides natively, on the same computer, without remoting or SSH or anything like that. This all works with WSL1 too (which doesn't use virtualization), it's just a lot slower.
Hyper-V has supported nested virtualization since Server 2016/Win 10. It is also supported to run WSLv2 in a nested VM.