故事:
我在电脑上安装了 Docker Desktop。运行它时出现错误:
“...请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用了虚拟化功能。...”
但是,在 Windows 中会检查以下功能:
Windows Machine Platform
Windows Subsystem for Linux
Windows Hypervisor Platform
我的操作系统:
Windows 10 Pro 10.0.19044
我的硬件:
Asus Z97 Pro Gamer
i7-4790K 4GHz
BIOS: American Megatrends Inc. 2203, 26 February 2016
在 BIOS 中有“系统代理配置”选项 - 进入后有:
System Agent Bridge Name: Haswell
VT-d Capability: Supported
VT-d: Enabled
当我在 PowerShel 中运行 systeminfo 时,我得到:
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: No
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
问题:
我的硬件是否支持虚拟化?
如果是“是”为什么 Windows/Docker 声称它未启用?
英特尔虚拟化技术 (VT-x) 是一个与虚拟化可信 I/O (VT-d) 单独启用的功能。
微软什么是嵌套虚拟化?说:
问题说 VT-d 已在系统代理配置的 BIOS 设置中启用
Z97 -PRO GAMER 用户手册(英文)包含以下内容:
上述用户手册中的 BIOS 屏幕截图显示了高级模式下英特尔虚拟化技术选项的菜单位置:
尝试在 BIOS 中启用英特尔虚拟化技术,因为用户手册建议该选项默认是禁用的。
请注意,我没有华硕 Z97 Pro Gamer 来测试这一点,但已成功在其他基于英特尔的主板上启用 VT-x,以允许启用 Hyper-V - 例如参见4. 启用其他安全/虚拟化选项。