Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VT-X nested virtualisation 6.12

Featured Replies

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?

 

Solved by Kilrah

Nested virtualization is basically not possible with Windows at this point, AFAIK it requires upcoming fixes to the Linux kernel. 

  • Community Expert
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?

  • Author
1 hour ago, SimonF said:

Are you looking to run WSL or HyberV?

Hyper-V, Or virtual box within the OS for example.

  • Community Expert
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.

 

 

  • Author

 

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

  • Author

 

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

  • Solution

Yeah, just not possible on Intel at this point, seems AMD is fine.

 

Edited by Kilrah

  • Author
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?

Probably, but then Hyper-V VMs are pretty unfriendly for local access...

  • Author

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 by Nano

  • 4 months later...

For Intel I found this proxmox discussion: #post-581185 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

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 by mackid1993

  • 3 months later...

So this is not fixed in latest unraid version?

  • 1 month later...
On 2023/12/27 at PM4点14分, sillstrybarn said:

那么最新的 unraid 版本中没有修复这个问题吗?

截止到24年1月31日,该问题仍没有被解决,13900K仍然无法在windows上运行嵌套虚拟化

 

Can confirm it is still not working, Hyper-v only works with CPU passthrough even the Hyper-V option is enabled in vm setting.

  • 6 months later...

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 

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

  • 3 months later...
On 9/4/2024 at 7:21 PM, feraay said:

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

I can also confirm this works. After installing Docker, my VM wouldn't boot, added this just above the final line (</domain>) and booted up as normal

  • 4 months later...
On 9/4/2024 at 12:21 AM, feraay said:

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

I've had something similar like this working but sometime within the last month it stopped working and gives me an Execution error "unsupported configuration: host doesn't support hyperv 'vpindex' feature"...strange! Now if I try to enable hyper-v in windows it goes into a boot loop.

  • 2 weeks later...

I tested successfully with modified command line, here share for you:

<qemu:commandline>
<qemu:arg value="-cpu"/>
<qemu:arg value="host,level=30,migratable=on,hv-time=on,hv-relaxed=on,hv-vapic=on,hv-spinlocks=0x1fff,hv-vpindex=on,hv-runtime=on,hv-synic=on,hv-stimer=on,hv-stimer-direct=on,hv-reset=on,hv-vendor-id=whatever,hv-frequencies=on,hv-reenlightenment=on,hv-tlbflush=on,hv-ipi=on,hv-evmcs=on"/>
</qemu:commandline>

put it in VM setting, QEMU command line, update then hyper-v can be started.

 

Sourcing from: https://gitlab.com/qemu-project/qemu/-/issues/1031

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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.