在Windows Hyper-V中,Ubuntu虚拟机默认无法直接使用主机的NVIDIA显卡,因为Hyper-V的虚拟化技术会独占GPU资源。不过,你可以通过以下方法实现GPU直通(GPU Passthrough)或使用远程GPU加速。
方法 1:GPU 直通(GPU Passthrough)
GPU直通允许虚拟机直接访问主机的物理GPU。不过,这种方法需要满足以下条件:
-
主机支持 IOMMU(Intel VT-d 或 AMD-Vi)。
-
主机支持 GPU直通。
-
你使用的是 Hyper-V 2016 或更高版本。
方法 2:使用远程GPU加速(Windows GPU + Ubuntu 远程访问)
如果GPU直通不可行,可以通过远程GPU加速的方式,让Ubuntu虚拟机使用主机的NVIDIA GPU。
步骤
-
在Windows主机上安装NVIDIA驱动和CUDA工具包:
-
下载并安装最新的NVIDIA驱动和CUDA工具包。
-
-
安装NVIDIA GRID驱动(可选):
-
如果使用的是NVIDIA GRID GPU,可以安装GRID驱动以支持虚拟化。
-
-
在Ubuntu虚拟机中安装远程GPU客户端:
-
安装NVIDIA的远程GPU客户端工具:
-
sudo apt update
sudo apt install nvidia-driver-<版本号>
4.配置远程GPU访问:
-
在Windows主机上,启用远程GPU访问功能。
-
在Ubuntu虚拟机中,配置远程GPU连接。
5.验证远程GPU加速:
-
在Ubuntu中运行以下命令,检查GPU是否可用:
nvidia-smi
方法 3:使用Windows Subsystem for Linux (WSL 2)
如果你不需要完整的虚拟机,可以考虑使用WSL 2,它支持直接调用Windows主机的NVIDIA GPU。
总结
-
GPU直通:适用于需要直接访问GPU的场景,但配置复杂且对硬件有要求。
-
远程GPU加速:适用于无法直通的场景,通过远程访问使用GPU。
-
WSL 2:适用于轻量级GPU加速需求,配置简单且性能较好。
根据你的需求选择合适的方法。如果只是开发或测试,推荐使用WSL 2;如果需要完整的虚拟机环境,可以尝试GPU直通或远程GPU加速。