跳至主要內容

HyperV实战

LincZero大约 3 分钟

HyperV实战

Vagrant Ubuntu20.04

最新版的还得去翻Vagrant笔记

  1. 然后把里面的 config.vm.provider 修改一下 可能有其他要改的配置,见:https://developer.hashicorp.com/vagrant/docs/providers/hyperv/configuration
  2. 注意box镜像,ubuntu/jammy64 是仅virtualBox的,不是给HyperV用的,要换成其他的 generic/ubuntu2004selva/ubuntu-hyperv 参考:https://gist.github.com/ghusta/6256e47f65b9588fc6b7ce91496f18e7 (但问题是这里没有提供镜像,就不用镜像了)
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  # 镜像设置。这里使用了镜像。若链接失效则到该链接更新:
  # https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/jammy/
  config.vm.box = "generic/ubuntu2004"
  # config.vm.box_url = ""

  # 设置内存和CPU数量等
  config.vm.network "private_network", ip: "192.168.56.3"
  config.vm.provider "hyperv" do |hv|
    hv.memory = "2048"
    hv.cpus = 2
  end

  。。。
  。。。
end

启动也换一下:

vagrant up --provider=hyperv

没镜像非常慢,两个多小时

最后安装成功了,但还没研究怎么弄显卡直通(不确定跨系统还能不能直通) (非跨系统那个成功了,但流程也是非常复杂。感觉跨系统弄不了……)

非Vagrant、直接部署Windows

参考:见: https://www.bilibili.com/video/BV1Fu41177Xj

系统安装

这里我用的镜像: Win11_23H2_Chinese_Simplified_x64.iso、后来换成了 Win10_22H2_Chinese_Simplified_x64v1.iso

Windows 就手动安装了,不用Vagrant了。

一开始我装不上,后来发现需要额外注意下那个安全选项好像好开一下,并且连接启动时需要疯狂按空格/F2/Delete(这个设计好奇怪)。

许可:TW9DD-83NPF-XDWHW-TWQD2-V8RB3

显卡直通

检查

桌面电脑图标右键 > 管理 > 计算机管理面板 > 设备管理器 > 显示适配器 > 可以看到有两个选项:

  • Microsoft Hyper-V视频
  • Microsoft Remote Display Adapter

可以看到没有识别到显卡,我们可以拿主机的来对比下,有两个选项:

  • Inter(R) UHD Graphics 770
  • NVIDIA GeForce RTX 3070

然后我们来进行设置:

  1. 关闭虚拟机,设置中将检查点复选框取消勾选,然后管理员身份打开PowerShell

  2. 根据帖子: freedidi.com/9857.html 的内容来输入一些命令 (5条):

$vm = "虚拟机的名字"

Add-VMGpuPartitionAdapter -VMName $vm

Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionVRAM 80000000 -MaxPartitionVRAM 100000000 -OptimalPartitionVRAM 100000000 -MinPartitionEncode 80000000 -MaxPartitionEncode 100000000 -OptimalPartitionEncode 100000000 -MinPartitionDecode 80000000 -MaxPartitionDecode 100000000 -OptimalPartitionDecode 100000000 -MinPartitionCompute 80000000 -MaxPartitionCompute 100000000 -OptimalPartitionCompute 100000000

Set-VM -GuestControlledCacheTypes $true -VMName $vm

Set-VM -LowMemoryMappedIoSpace 1Gb -VMName $vm

Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vm
  1. 驱动拷贝目录

拷贝不成功的话,倒数第二个图标切换到 “增强会话”

宿主机驱动路径:C:\Windows\System32\DriverStore\FileRepository\路径A 虚拟机拷贝路径:C:\Windows\System32\HostDriverStore\FileRepository\

路径A 的位置在 计算机管理>设备管理器>显卡适配器>(对应的GPU显卡)>双击>驱动程序>驱动程序详细信息>然后在里面找到大量 nv 开头的,会发现都是在同一个路径下,就是那个文件夹。我的是 nvmdi.inf_amd64_33559cc6c2fd215a

②其他

  • N卡操作 宿主机文件路径:C:\Windows\System32\nvapi64.dll 虚拟机拷贝路径:C:\Windows\System32\nvapi64.dll
  • A卡操作 所有宿主机,驱动管理器,显卡驱动信息里的文件都必须全部拷贝到虚拟机里(路径和宿主机相同)
  1. 检查

都弄完了,就重启虚拟机,再去设备管理器检查下是否弄成功了

也可以用 DXdiag诊断工具 来看一下是不是真的正常

弄完这步后,虚拟机的缩放也可以弄大点了(显卡直通前不建议)

实战检验:Youtube看4K视频、打个Game