Nano Posted May 13, 2023 Share Posted May 13, 2023 Hi, I followed spaceinvaders Ilkley old guide and the user scripts enabling and disabling nested virtualisation definitively work but weirdly my window VM just go to a recovery screen when it’s on until I disable it again via the NV disable script. do I have to do a fresh install with VT-x on (fyi I have an Intel CPU) Very strange stuff. anyone got VT_X working nicely with window that can share an xml. I assume host pass through is also needed? Quote Link to comment
Kilrah Posted May 13, 2023 Share Posted May 13, 2023 Nested virtualization is basically not possible with Windows at this point, AFAIK it requires upcoming fixes to the Linux kernel. Quote Link to comment
SimonF Posted May 13, 2023 Share Posted May 13, 2023 2 hours ago, Nano said: Hi, I followed spaceinvaders Ilkley old guide and the user scripts enabling and disabling nested virtualisation definitively work but weirdly my window VM just go to a recovery screen when it’s on until I disable it again via the NV disable script. do I have to do a fresh install with VT-x on (fyi I have an Intel CPU) Very strange stuff. anyone got VT_X working nicely with window that can share an xml. I assume host pass through is also needed? Are you looking to run WSL or HyberV? Quote Link to comment
Nano Posted May 13, 2023 Author Share Posted May 13, 2023 1 hour ago, SimonF said: Are you looking to run WSL or HyberV? Hyper-V, Or virtual box within the OS for example. Quote Link to comment
SimonF Posted May 14, 2023 Share Posted May 14, 2023 18 hours ago, Nano said: Hyper-V, Or virtual box within the OS for example. I set this option in my syslinix kvm-intel.nested=1 and can run an unraid test server with a VM on it. Try removing HyperV settings. I know this is for AMD but maybe some hints. Quote Link to comment
Nano Posted May 17, 2023 Author Share Posted May 17, 2023 On 5/14/2023 at 11:41 AM, SimonF said: I set this option in my syslinix kvm-intel.nested=1 and can run an unraid test server with a VM on it. Try removing HyperV settings. I know this is for AMD but maybe some hints. So even with a fresh install, windows goes to a recovery screen when on. 13th Gen I5 for reference Quote Link to comment
Nano Posted May 17, 2023 Author Share Posted May 17, 2023 On 5/14/2023 at 11:41 AM, SimonF said: I set this option in my syslinix kvm-intel.nested=1 and can run an unraid test server with a VM on it. Try removing HyperV settings. I know this is for AMD but maybe some hints. So even with a fresh install, windows goes to a recovery screen when on. 13th Gen I5 for reference Quote Link to comment
Solution Kilrah Posted May 17, 2023 Solution Share Posted May 17, 2023 (edited) Yeah, just not possible on Intel at this point, seems AMD is fine. Edited May 17, 2023 by Kilrah Quote Link to comment
Nano Posted May 17, 2023 Author Share Posted May 17, 2023 26 minutes ago, Kilrah said: Yeah, just not possible on Intel at this point, seems AMD is fine. Thanks it’s really hard to find info on this. I assume if the host was windows server for example it would work? Quote Link to comment
Kilrah Posted May 17, 2023 Share Posted May 17, 2023 Probably, but then Hyper-V VMs are pretty unfriendly for local access... Quote Link to comment
Nano Posted May 18, 2023 Author Share Posted May 18, 2023 (edited) I found this works if you go Linux Linux windows - Unraid > Ubuntu > virtual box > windows although slow does work but it took like 20 minutes to even boot to the windows login page so it’s not really usable Edited May 20, 2023 by Nano Quote Link to comment
gregor160300 Posted September 21, 2023 Share Posted September 21, 2023 For Intel I found this proxmox discussion: I tried it with proxmox as a VM on unraid and windows as a VM inside that and WSL inside that Windows VM. It worked (although very slow). However proxmox uses qemu instead of libvirt. So I think we just need to figure out how to correctly get these changes to work with libvirt: args: -cpu Cooperlake,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,+vmx cpu: host Quote Link to comment
mackid1993 Posted September 21, 2023 Share Posted September 21, 2023 (edited) OK so you can change your CPU to this emulated one and everything will work but there is a performance hit from it: Here is the XML. You just have to edit the topology for your cores. I did this on 12700k so I gave it 20 cores. I no longer run this due to the performance issues. <cpu mode='custom' match='exact' check='partial'> <model fallback='allow'>Skylake-Client-noTSX-IBRS</model> <topology sockets='1' dies='1' cores='20' threads='1'/> <feature policy='disable' name='hypervisor'/> <feature policy='require' name='vmx'/> <feature policy='disable' name='mpx'/> </cpu> Edited September 21, 2023 by mackid1993 1 Quote Link to comment
sillstrybarn Posted December 27, 2023 Share Posted December 27, 2023 So this is not fixed in latest unraid version? Quote Link to comment
ArchonX Posted January 31 Share Posted January 31 On 2023/12/27 at PM4点14分, sillstrybarn said: 那么最新的 unraid 版本中没有修复这个问题吗? 截止到24年1月31日,该问题仍没有被解决,13900K仍然无法在windows上运行嵌套虚拟化 Quote Link to comment
nyavana Posted February 7 Share Posted February 7 Can confirm it is still not working, Hyper-v only works with CPU passthrough even the Hyper-V option is enabled in vm setting. Quote Link to comment
feraay Posted August 28 Share Posted August 28 I try to run docker with wsl2 on windows server 2022 vm. when I modify the cpu part the vm does boot with cpu passtrough it only boots into recovery. But even with modified xml docker doesn’t work. so it’s a Linux kernel thing? Intel 13900 no gpu passtrugh Quote Link to comment
feraay Posted Wednesday at 07:21 AM Share Posted Wednesday at 07:21 AM Adding the following to XML seems to work. Cpu is set to host-passthrough <qemu:commandline> <qemu:arg value='-cpu'/> <qemu:arg value='host,level=30,-waitpkg'/> </qemu:commandline> Source Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.