在 Ubuntu Hyper-V 客户端内配置 KVM

在 Ubuntu Hyper-V 客户端内配置 KVM

是否可以在 Windows 10 上的 Hyper-V 中在 Ubuntu 18.04 客户机上运行 KVM?或者客户机内的任何其他虚拟机管理程序?

安装 KVM 后我运行:

sudo kvm-确定

它告诉我我的 CPU 不支持 KVM 扩展。

并预示:“你为什么要尝试在虚拟机管理程序中运行虚拟机管理程序……我想玩一下https://hypercontainer.io并且没有裸机Linux机器可以玩。

答案1

文章 在 Microsoft Hyper-V 中嵌套运行 KVM 报告此过程:

  1. 下载 PowerShell 脚本 来自 Github(由微软编写)
  2. 将脚本复制到桌面
  3. 打开提升权限的 PowerShell 实例
  4. 将当前文件夹更改为 PowerShell 脚本的位置
  5. 运行以下命令以允许在 Powershell 中执行脚本

    Set-ExecutionPolicy Bypass
    
  6. 跑步.\nameofscript.ps1 name-of-linux-vm-in-hyper-v

  7. 如果一切顺利,系统会提示您是否要公开虚拟化扩展。回答是,还可以根据需要启用任何其他附加功能。
  8. 脚本完成后,在 Hyper-V 中启动 VM,现在您应该可以访问 KVM/XEN 所需的虚拟化扩展。

答案2

首先,很抱歉回答这个已有 6 年历史的问题。

在我看来,在虚拟机上切换 Hyper-V 嵌套虚拟化的方式已经有了很大的改进。

根据微软的文档https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/enable-nested-virtualization

  • 确保主机 CPU 是采用 VT-x 和 EPT 技术的英特尔处理器或者AMD EPYC / Ryzen 处理器或更高版本, 和
  • 电源外壳终端在特定虚拟机上打开 Hyper-V 的嵌套虚拟化:
    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
    
    其中,<VMName>是虚拟机的名称。

我刚刚在 Windows 10 的 Hyper-V 上设置了一个安装了 Debian 12 x64 的客户虚拟机,然后安装了 KVM,并打开了虚拟机的嵌套虚拟化。现在我正在使用座舱在写这个答案时设置 Debian 11 x64 KVM 客户机。

相关内容