一、 检查运行环境
运行环境:主板已开启VT虚拟化功能,ESXI8中安装win10虚拟机,直通了2个显卡和1个PCI的USB扩展卡
检查物理机主板是否开启虚拟化
# 任意命令查看是否开启虚拟化
# 查看HV state后的数字
vsish -e cat /hardware/cpu/cpuInfo
# 查看HV Support后的数字
esxcfg-info -w | grep "HV Support"
# 数字含义
# 0 - VT/AMD-V indicates that support is not available for this hardware.
# 1 - VT/AMD-V indicates that VT or AMD-V might be available but it is not supported for this hardware.
# 2 - VT/AMD-V indicates that VT or AMD-V is available but is currently not enabled in the BIOS.
# 3 - VT/AMD-V indicates that VT or AMD-V is enabled in the BIOS and can be used.
二、配置虚拟机参数
1. 为显卡增加的虚拟机参数:
hypervisor.cpuid.v0 = "FALSE"
pciPassthru.use64bitMMIO = "TRUE"
pciPassthru.64bitMMIOSizeGB = 64
2.增加虚拟机vmx中的参数
开启ESXI的SSH功能,登录服务器,找到该虚拟机的vmx文件,文件最后追加开启虚拟化的参数
# 查看存储挂载点,在/vmfs/volumes下
df -h
# 进入虚拟机目录
cd /vmfs/volumes/nvme-disk-1/Win64/
# 编辑vmx文件
vi Win64.vmx
# 增加参数
vhv.enable = "TRUE"
vhv.allowPassthru = "TRUE"
3. 注意事项
3.1 不要勾选硬件虚拟化,否则会提示:
无法重新配置虚拟机 Win64-Work。具有 PCI 直通设备的虚拟机不支持嵌套硬件辅助虚拟化。
3.2 不要勾选IOMMU
否则运行后hyper-V会无法正常工作,提示
错误31:连到系统上的设备没有发挥作用
WSL打开会提示错误
当前计算机配置不支持 WSL2。
请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。
通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution
有关信息,请访问 https://aka.ms/enablevirtualization
错误代码: Wsl/Service/CreateInstance/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED
三、启动虚拟机,检查状态
启动虚拟机后再观察配置,硬件虚拟化会被自动勾选
注意:如需虚拟机配置,在页面先取消硬件虚拟化,当其他参数修改完成后,再SSH登录服务器,修改该虚拟机的vmx参数,补上vhv.enable参数。
windows启动完成后,查看任务管理器中,虚拟化的状态。
打开服务查看HV主机服务运行是否正常
查看系统信息
#查看系统信息,注意最后几行
systeminfo
# 虚拟机监控程序启动正常会显示
# Hyper-V 要求: 已检测到虚拟机监控程序。将不显示 Hyper-V 所需的功能。
# 虚拟机监控程序未启动,会显示要求
# Hyper-V 要求: 虚拟机监视器模式扩展: 是
# 固件中已启用虚拟化: 是
# 二级地址转换: 是
# 数据执行保护可用: 是
检查Linux子系统运行
# 查看WSL版本
wsl -l -v
# 手动打开Ubuntu或其他安装的Linux,查看是否可正常进入
四、 启动其他程序检查是否正常运行
可以分别启动需要虚拟化支持的应用,如Hyper-V、Linux子系统、Docker等软件验证是否可以正常启动。