HQY

×

创建远程游戏虚拟机全流程方案(GPU-PV)

hqy hqy 发表于2026-07-05 23:24:47 浏览3 评论0

抢沙发发表评论

前言

本文的显卡虚拟化技术使用 Windows 的 GPU-PV ,B站上这方面的教程已经有很多,不过装上 GPU-PV 的虚拟机后,还有几个细节,本文将重点说明以下几点内容:

  • 嵌套虚拟化——如果你需要使用安卓模拟器

  • 虚拟声卡——使虚拟机的声音能通过串流软件传递到控制端

  • 虚拟显示器——如果你想让虚拟机完全在后台运行(顺便还有禁止宿主查看虚拟机画面的功能)

  • 桥接设置及IPv6配置——极大提高 Parsec 在互联网上的连通成功率

  • 共享宿主机游戏目录——免去重复下载游戏节省硬盘空间

  • 开机自启动虚拟机

另外关于该技术的使用场景,这里提几个想法

  • 如果是在一个房间内,常态的多人共用一个主机,或许考虑使用Aster会更好

  • 本方案可以家人使用电脑的同时,自己可以在后台玩游戏而不影响家人。适合家里电脑就是性能最好的电脑,或者使用平板或Mac等远程玩 Gal 等游戏时使画面不会在宿主机电脑上显示。

几个需要注意的点:

  • 如果需要在虚拟机内使用安卓虚拟机则需要启用嵌套虚拟化,Windows 平台的 AMD 嵌套虚拟化是最近才更新的,要求系统版本 19636 以上,虚拟机版本需要 9.3 以上,这个版本要求在正式版里面需要升级到 Windows 11。

  • 该方案依赖于 HyperV, 这会导致传统的安卓模拟器无法使用,你需要替换成兼容HyperV的蓝叠模拟器,VMWare虚拟引擎相关设置不能开启。不过能换来 Windows沙盒、WSL2 以及 安卓子系统(Window11)。

  • 本文使用 AMD 5600G 操作并成功,别问为啥没独显,问就是想看奸商空中飞人()。所以如果你有独显的话那就更好了 (・ω< )★


教程开始

前置准备

BIOS开启虚拟化支持( AMD 为 SVM,Intel 为 VT-x ),具体操作请根据相应主板品牌进行百度。

Windows不能为家庭版,需要为专业版、企业版或更高版本,并开启 HyperV 支持。


创建 GPU-PV 虚拟机

站内已经有很多详细的教程,这里就不作赘述,左边的视频教程操作较为简单快速,本人也是使用 Easy-GPU-PV 项目(地址:https://github.com/jamesstringerparsec/Easy-GPU-PV)创建的 GPU-PV 虚拟机。右边的操作手动步骤更多,对于学习挺有帮助的。然后下面是几个注意点。

【记得虚拟机的系统账户密码】

记住脚本中设定的系统账户密码(当然你可以自己设置),这在后续的添加任务计划中会使用到。

【禁用 Hyper V 视频驱动】

在安装完虚拟机后,记得禁用 Hyper V 视频驱动,否则 Parsec 无法在虚拟机后台运行的情况下串流。

【关于驱动升级】

还有一件事,如果宿主机的显卡驱动升级了,需要将宿主的显卡拷贝到虚拟机中去,否则虚拟机中的显卡无法驱动,Parsec 也无法连接。因此在宿主机升级驱动后要记得将新驱动注入虚拟机。同样是使用 Easy-GPU-PV 提供的脚本,启动 Powershell 进入项目目录下,执行下面的命令即可:

代码块
Shell
自动换行
复制代码
.\Update-VMGpuPartitionDriver.ps1 -VMName "【你的虚拟机名称】" -GPUName "AUTO"
复制成功

【关于脚本漏装了一些东西】

另外根据这个项目的说明文档,安装脚本理应会自动安装 Parsec、虚拟声卡(VB Cable)、虚拟显示器(Parsec Virtual Displays),但是不知道为什么,我的实际上都没有看到这三个软件自动安装(等了好久也没有),都是后期自己手动安装的。

不过按照 Parsec 的说明,其自带的虚拟显示器在断开连接时不工作,这可能会影响到模拟器挂机的正常运行,如果你成功的被安装了 Parsec 的虚拟显示器,在挂机游戏时发生异常(比如隔段时间重连上去看发现安卓模拟器没有画面),可以关闭或卸载换成下文提到的虚拟显示器。

https://support.parsec.app/hc/en-us/articles/360054478211-Parsec-Virtual-Displays

【更改系统区域】

使用 Easy-GPU-PV 脚本自动安装的系统,系统区域会设定在澳大利亚,这会导致部分软件打开乱码(比如图吧工具箱),如果你遇到了程序乱码问题,请在系统设置中如图操作更改区域并重启系统。



启用嵌套虚拟化(可选,比如想用安卓模拟器)

如果需要在虚拟机中再使用虚拟机(如安卓模拟器),则需要开启嵌套虚拟化,需要注意的是 AMD 平台的嵌套虚拟化需要升级到 WIndows 11 或者高版本的 Windows 10 测试版(即系统内部版本 19636 以上),HyperV 虚拟机版本在 9.3 以上。

关闭虚拟机,以管理员权限开启 Powershell ,输入以下命令:

代码块
Shell
自动换行
复制代码
# 查询当前的虚拟机(名称)
Get-VM# 检查当前是否开启嵌套虚拟化
Get-VMProcessor -VMName 【主机名称】 | fl | findstr Virtualization# 启用嵌套虚拟化
Set-VMProcessor -ExposeVirtualizationExtensions $true -VMName 【主机名称】# 检查设置是否生效
Get-VMProcessor -VMName 【主机名称】 | fl | findstr Virtualization
复制成功


AMD平台为了使用嵌套虚拟化特地升级到Win11……

HyperV开启嵌套虚拟化,可以允许 HyperV 虚拟机中再启动 HyperV 虚拟机,但是难以支持在虚机使用其他虚拟化的软件。具体来说,如果想用安卓模拟器,那么最好选择支持 HyperV 的蓝叠模拟器,而雷电模拟器会提示未开启VT会非常卡(其他模拟器可以自行尝试)。

如果需要使用安卓模拟器,需要在 控制面板 > 程序和功能 > 启用或关闭 Windows 功能 > 勾选 HyperV 相关选项 和底部的 虚拟机平台重启电脑,然后去蓝叠官网下载安装蓝叠模拟器(建议使用国际版)

在虚拟机中启用 HyperV

蓝叠国际版下载地址:https://www.bluestacks.com/tw/index.html  (注意下载 BlueStack 5)

拿来挂机也不是不错的,同时家人使用宿主机是无感知的

关于在虚拟机中使用模拟器的体验,流畅性远不如在宿主机运行,蓝叠的图形渲染器选择DirectX 会稍微改善一点,仅看 CPU 和 GPU 的资源占用还有大量空余,尚不清楚优化方法,考虑到 AMD 是最近才支持的嵌套虚拟化,不知道 Intel 的情况会不会好些,就我目前的体验来说,挂脚本还凑合,拿来做 “云安卓原神” 估计有点困难,欢迎大家在评论区实测反馈。


安装虚拟声卡(用于串流传声)

安装 VB-CABLE Virtual Audio Device 即可。官网:https://vb-audio.com/Cable/

虽然图标是打 X,不过声音是可以通过 Parsec 传递过来的。



安装虚拟显示器(使虚拟机在后台时能够串流)

不知道你们有没有发现上面分享的两个教程视频,宿主机都开着 HyperV 的虚拟机监视画面,本人实测如果关闭了这个窗口,Parsec 串流将会黑屏,如果我们希望让虚拟机完全运行在后台,那么则需要安装一个虚拟显示器,Amyuni USB Mobile Monitor,下载地址:https://www.amyuni.com/downloads/usbmmidd_v2.zip

解压后,首次运行可以直接以管理员运行批处理,会自动识别是系统是 64 位还是 32 位安装相应驱动,并自动添加一个虚拟显示器。但是不要重复运行多次,这个脚本运行一次就会装一次驱动。

接着再桌面右键 显示设置 ,显示方式如果选择 仅在2上显示,那么宿主机将无法看到虚拟机的画面,不过万一Parsec远程出问题了,处理也稍微麻烦点。如果想宿主机也能看到画面的话,选择 复制这些显示器 即可。


还在烦恼远程玩游戏被家人窥屏嘛(


不仅黑屏,也无法操作(除了传送 Ctrl Alt Del 以及开关机,但这也还是黑屏 )

虚拟显示器分辨率可选最高4K

如果你想要的分辨率不在这个列表当中,比如你想要 16:10 比例的分辨率,这里举例添加 2560 x 1600 分辨率。打开 注册表编辑器 ,在地址栏添加如下地址然后回车(地址栏开头的 “计算机” 不要删)

代码块
Shell
自动换行
复制代码
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WUDF\Services\usbmmIdd\Parameters\Monitors
复制成功

可以看到这里有一排顺序命名的分辨率,在右侧空白区域右键新建 > 选择 字符串值 > 命名接着顺序往下命名,这里就是 9 > 双击打开键值,填入所需的分辨率,这里我填 2560,1600 记得分隔使用的是英文逗号 > 点击确定 

重启虚拟机,你可以等下一部分做完自动启动虚拟屏后再重启,重启后在桌面右键显示设置,就可以选择自己添加的分辨率了。

自定义分辨率这部分设置文档在 usbmmidd_v2 文件夹中的 idd_instructions.txt 文件里面,上面的注册表地址也在里面,可以从这个文件里复制注册表地址。

要注意这个显示器在重启后就会丢失,所以我们需要加个任务计划,使得虚拟机开机时自动开启虚拟显示器

  1. 使用Windows搜索 任务计划程序,或者在 控制面板 > 管理工具 > 任务计划程序 打开

  2. 点击 创建任务

  3. 在弹出的窗口的 常规 选项卡中,设定任务 名称,安全选项 中选择 不管用户是否登陆都要运行 并勾选 使用最高权限运行 

  4. 切换到 触发器 选项卡 ,点击 新建 ,开始任务选择 启动时 ,然后点击 确定

  5. 切换到 操作 选项卡,点击 新建 , 操作选择 启动程序 ,程序或脚本选择刚下载 deviceinstaller64.exe 文件(如果是 32 位系统则选择 deviceinstaller.exe),添加参数填写 enableidd 1

  6. 之后点 两次确定,会弹出密码输入框,输入系统的账户密码(PS:密码在创建虚拟机的脚本中,写在 Password 那行)


选择仅在2上显示,设置自动启动虚拟屏后,就不用担心被窥屏了

如果选择仅在2上显示并做了自动启动虚拟显示器,不幸发生意外导致Parsec无法连上虚拟机,此时 HypeV 的监视器无法操作,也没有其他远程操作手段的话,发生这种情况可如下操作:关闭虚拟机 > 挂载虚拟机的虚拟磁盘 > 找到上面存放的 usbmmidd_v2 文件夹 > 改名后重启虚拟机 > 即可使用HyperV的监视器进行操作了。


桥接设置及IPv6配置

这部分设置能极大程度提高 Parsec 在外网连接虚拟机的成功概率,如果你需要在外网连接虚拟机,那么强烈建议配置 IPv6。

目前中国大陆家用宽带已经基本普及 IPv6,请先确定你的电脑能够获取到 IPv6,大多数获取不到 IPv6 的原因在 电脑没启用 IPv6 、路由器配置问题或不支持、光猫配置问题。

下文的前提是建立在宿主机能够获取 IPv6 的前提下进行的,如果宿主机自己就获取不到 IPv6,请另行百度解决。检查是否有 IPv6 可在控制面板 > 网络和共享中心查看,或者通过 ipconfig 命令检查是否有 IPv6 公网地址。

首先检查宿主机有没有 IPv6

首先先设置虚拟机桥接,使得虚拟机能直接从路由器获取地址。

在宿主机打开 HyperV 管理器 > 虚拟交换机管理器 > 新建虚拟网络交换机 > 虚拟交换机类型选择 外部 > 点击 创建虚拟交换机 > 设定名称,外部网络选择 当前上网所使用的网卡,然后点击 确定

接着让虚拟机使用刚创建的桥接网卡:虚拟机关机 > 点击 设置 > 网络适配器 > 虚拟交换机选择刚才创建的 桥接网卡 > 点击 确定

这样虚拟机能直接从路由器取得 IP,家中其他设备访问虚拟机也方便

然后虚拟机开机,等个几分钟后看能不能获取到 IPv6。

或许到 IPv6 后成功一半

获取到 IPv6 地址后,还需要在宿主机上设置允许转发,否则不能连上 IPv6 网络(可通过 ping -6 ipw.cn 命令来测试)

依照如下命令来配置转发

代码块
Shell
自动换行
复制代码
# 查看当前 IPv6 网卡,我们刚才命名的网卡会显示出来,记下这个名字
netsh int ipv6 show interfaces# 将上面查询的网卡名称填入下面的命令中
netsh interface ipv6 set interface "【网卡名称】" forwarding=enable# 检查转发是否已经成功开启(注意写“转发”的那一行)
netsh interface ipv6 show interface "【网卡名称】"# 进入虚拟机,测试 IPv6 是否连通
ping -6 ipw.cn
复制成功


以上操作在宿主机进行

以上在宿主机配置完成后,进入虚拟机检查 IPv6 是否连通。

进入虚拟机检查是否连上 IPv6 网络



共享宿主机游戏目录

主要用于解决游戏共享的问题,免去重复下载,所使用的方案是 Windows 的 SMB 共享(网上还有虚拟磁盘挂载方案和虚拟机启用来宾服务的方案,前者没法实时共享,后者与GPU-PV方案不兼容)

在宿主机上右键想要共享的文件夹 > 属性 > 选择 共享 选项卡 > 选择账户 > 点击 共享 >  记录下宿主机的局域网 IP 地址(宿主机建议设置固定的 IP,以防 IP 变动后虚拟机的目录映射要重新设置)

在宿主机上设置游戏文件夹共享

进入虚拟机,打开此电脑,将宿主机共享的目录映射为驱动器,地址为 \\宿主机局域网IP\你的共享文件夹名称,这里映射为D盘,添加时会提示输入宿主机的系统账号密码。

实测原神是可以直接打开,Steam的游戏库也可以设置到这个共享文件夹(注意是 Steam 文件夹不是 steamapps 文件夹)。

建议原神启动器和Steam本身是安装到虚拟机内部,设置游戏库设置到共享。

由于APU性能实在有限,放虚拟机里还有一层衰减,跑个原神已经十分勉强了,就不测试其他大型游戏了 orz

原神是从映射盘中启动的

 


开机自启动虚拟机

在宿主机的 HyperV 管理器中选中要开机自启的虚拟机 > 设置 > 自动启动操作 > 始终自动启动此虚拟机 (建议设置一下启动延时)就可以了。

虚拟机的自启动完全后台,不会有任何弹窗



结语

通过 Time Spy 跑个分测试下,这Vega7显卡虚拟化后在虚拟机中能使出9成性能有点意外。

上面的分数是虚拟机,下面的是宿主机

另外经过实测,除了Parsec,RDP也是可以正常工作的,他们甚至可以同时连接。就个人体验来说,Parsec 感觉会比 RDP 流畅点。

大家有兴趣也可以自己试试其他的串流软件,比如 Moonlight 等等。

大家有相关的经验、问题、意见,欢迎在评论区分享、提出、讨论,祝大家玩的开心 ~

(`・ω・´)

左Parsec,右 RDP,不过玩游戏是不建议同时开的




本文参考

  • 《Hyper-v 开启嵌套虚拟化的方法》https://blog.51cto.com/u_4746316/2334705

  • 《虚拟显示器终极解决方案 IndirectDisplay》https://qwq.moe/ultimate-virtual-monitor-solution-indirect-display/

  • 《Windows Server开启IPv6 Forwarding实现Hyper-V虚拟机分配IPv6公网地址》https://www.liujason.com/article/825.html

  • 《Activating a Secondary Display on Windows 10 when no Monitor is Connected》https://www.amyuni.com/forum/viewtopic.php?t=3030


打赏

本文链接:https://www.kinber.cn/post/6696.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客