How to enable nested virtualization in ubuntu

KVM requires VT-X/AMD-V, but VirtualBox does not pass VT-X/AMD-V to the guest operating system.

Therefore, KVM can't run in VirtualBox (yet). Please track bug ticket #4032.

VT-X and AMD-V (so-called virtualization extensions) run the guest operating system natively in the CPU. Without them, the virtualization software must interpret the operating system opcodes in software, which is very slow.

For now, you can either

  • run KVM inside a hypervisor which passes virtualization extensions to the guest (e.g. KVM inside VMware Workstation 8), or
  • run another hypervisor inside VirtualBox (e.g. VirtualBox inside VirtualBox). This option will be very slow, because the guest will miss VT-X/AMD-V.

Virtualbox just released (12/18/2018) version 6 in which is expected to have nested virtualization. However, at this moment it seems is still unavailable on Intel procs. https://www.virtualbox.org/wiki/Downloads

Regarding the main question (Enable nested virtualization in Ubuntu) - KVM module is supporting nested virtualization on Ubuntu 16 and above (maybe lower versions too). Not sure about using XEN on host, but you can nest XEN in KVM for sure.