ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Ubuntu下用VirtualBox跑Windows虚拟机畅玩公主连结的实操指南

2026/10/1 21:14:51 拓冰建站 浏览量
Ubuntu下用VirtualBox跑Windows虚拟机畅玩公主连结的实操指南 从Windows切到Ubuntu之后我大部分工作流都平滑迁移了唯独每天要刷的《公主连结! Re:Dive》一直是个坎。试过AnboxGoogle框架和服务装起来太费劲试过Waydroid内核和图形栈踩了一堆坑跑起来不是花屏就是闪退。最后绕了一大圈老老实实用VirtualBox开了一台Windows虚拟机在虚拟机里跑安卓模拟器才把这游戏稳稳跑起来。这听起来像套娃但在Ubuntu下想玩公主连结这条路反而是兼容性最好、最不折腾的。这篇就把我完整的配置过程、参数选择、踩过的坑和最终的优化方案都写出来给同样想在Linux桌面下继续清日常、打公会战的朋友一个可以直接抄作业的参考。1. 先想清楚为什么最终选择VirtualBox这条路1.1 几种方案的实际体验对比Ubuntu下玩安卓手游市面上能走的路其实就那么几条Anbox、Waydroid这类Linux容器方案Genymotion这种自带虚拟机的模拟器再就是标题里说的VirtualBox套Windows虚拟机方案。我逐个试过之后发现每条路的取舍差异比想象中大得多。我用一张表把这几个方案的核心差异列一下方案图形性能Google框架/Google Play公主连结兼容性折腾成本Anbox差基本没有硬件加速需要自行刷入镜像多数版本黑屏高Waydroid好走Wayland硬件加速需要手动配置内核版本要求高图形栈不稳定高Genymotion尚可自带部分游戏可跑但免费版限制多中VirtualBox Windows 安卓模拟器一般靠VirtualBox 3D转译Windows模拟器自带很好基本不掉链子中VirtualBox Windows DMM客户端较优原生Windows渲染不需要最好官方客户端低Anbox和Waydroid的问题在于它们本质上是在Linux内核上直接跑一个Android容器听起来很美实际用起来对内核版本、图形栈、驱动的要求非常苛刻。公主连结这种日系RPG对运行环境的检测比较严格容器方案很容易在登录或者启动阶段莫名其妙地崩掉。Waydroid如果宿主机是N卡还要额外处理驱动兼容问题折腾完还不一定稳。1.2 为什么模拟器加Windows虚拟机反而最省心说句实话VirtualBox套Windows虚拟机再套安卓模拟器是典型的俄罗斯套娃。每一层都有性能损耗但它的优势在于每层都是相对成熟、生态稳定的方案。VirtualBox在Linux下有十几年的积累Windows虚拟机里的安卓模拟器也是久经考验的成熟软件Cygames官方甚至还出了Windows版客户端。与其在Linux底层和Android容器搏斗不如把这些兼容性问题全部丢给Windows层去处理。我当时做过一个简单的性能估算。我的机器是i5-12400内存32GB。给虚拟机分配8GB内存、4个CPU核心之后公主连结的战斗画面、技能动画在模拟器里都能维持60帧只是偶尔在切场景时会有一瞬间的掉帧。这个表现已经足够应付日常清体和公会战了。VirtualBox不支持显卡直通3D全靠软件转译所以不要指望在这套方案里玩高配3D大作但公主连结这种以2D立绘和轻量3D技能动画为主的游戏优化后完全没有问题。2. 宿主机准备与VirtualBox安装配置2.1 安装VirtualBox及扩展包Ubuntu下安装VirtualBox有两条路。一条是直接用系统源里的包简单省事另一条是去virtualbox.org下载官方deb包版本通常更新。我建议如果只是玩个游戏系统源里的版本完全够用没必要追新。sudo apt update sudo apt install virtualbox virtualbox-ext-pack安装ext-pack的时候会有许可证提示按Tab键切到OK确认即可。这个扩展包主要提供USB 2.0/3.0直通支持后面如果想把手机通过USB接到虚拟机里必须装它。如果你选择从官网下载deb包装完记得需要手动安装依赖sudo apt install --fix-broken这个命令会把官网deb包缺失的依赖一次性补齐。另外VirtualBox有个常见的问题就是宿主机的内核升级之后VirtualBox的内核模块没跟着重建导致虚拟机打不开。遇到这种情况先跑一下sudo /sbin/vboxconfig让它重新编译内核模块就行。2.2 BIOS/系统级虚拟化检查与冲突排查在创建虚拟机之前先把宿主机环境检查一遍。第一步是确认CPU的虚拟化扩展已经开启。在终端里执行egrep -c (vmx|svm) /proc/cpuinfo返回的数字大于0说明VT-xIntel或AMD-VAMD已启用。如果返回0就要重启进BIOS在CPU设置里把Intel Virtualization Technology或SVM Mode打开。第二步是检查宿主机是否装了KVM/QEMU。这两个和VirtualBox共用虚拟化资源同时存在时可能导致虚拟机启动报错不能为虚拟机电脑打开一个新任务。我在安装后遇到过这个问题排查了一圈发现是之前装QEMU留下的内核模块在捣乱。解决办法是sudo apt remove qemu-system-x86然后重启宿主机让VirtualBox独占虚拟化资源。这种冲突非常典型尤其是长期在Linux上折腾各种虚拟化工具的人最容易踩这个坑。3. Windows虚拟机创建参数怎么给才不卡3.1 创建虚拟机时的核心参数VirtualBox里创建虚拟机的过程很直观唯一要注意的是参数别按默认来。我试过默认的1核CPU、128MB显存配置跑Windows进去光开机就要十分钟更别提玩游戏了。参数建议值理由内存8~16GB公主连结加模拟器大约占6~8GB留出Windows系统本身的空间CPU核心4核或以上游戏本体和模拟器都需要多核心调度显存128MB必须开到最高3D加速才能发挥磁盘动态分配上限80GB游戏数据包加模拟器本体很容易超过40GB存储控制器SATA默认的IDE接口读写速度太慢创建虚拟机时选专家模式直接把这些参数填进去。内存方面如果宿主机只有16GB给虚拟机分8GB如果有32GB直接给12到16GB。游戏加载时的流畅度很大程度上取决于内存给得够不够这也是我反复调整后最明显的一个提速点。3.2 安装Windows系统的几个注意事项Windows镜像我推荐直接用微软官方的Win10 22H2 ISO。不建议上Win11虚拟机里对TPM和安全启动的要求会让安装过程无谓地多出很多麻烦而且Win11占用系统资源明显更高对玩游戏没有任何帮助。系统装好后第一件事就是安装Guest Additions。在虚拟机菜单栏点设备→安装增强功能然后在Windows的此电脑里打开CD驱动器运行安装程序。Guest Additions的作用包括鼠标无缝切换、3D加速驱动、共享剪贴板和共享文件夹支持不装它整个体验会大打折扣。装完之后我建议做三个系统层面的瘦身操作。第一关闭Windows的视觉特效系统属性→高级→性能设置→调整为最佳性能。第二禁用Windows Update的自动重启防止后台更新把虚拟机卡死。第三关闭Windows Defender的实时保护减少后台扫描对CPU的占用。这几步做完虚拟机的响应速度会有肉眼可见的提升。3.3 共享文件夹与安装包传递虚拟机里装模拟器和游戏安装包怎么传进去是个问题。最省事的办法是用共享文件夹。在VirtualBox菜单栏打开设备→共享文件夹选择你宿主机上存放安装包的目录勾上自动挂载确定后Windows里就能直接访问了。具体来说Windows里可以在资源管理器地址栏输入\\VBOXSVR\Downloads就能看到宿主机上共享目录里的内容。APK安装包、DMM客户端安装器都从这里拷进去省去U盘或者网络传输的麻烦。如果你需要把手机接到虚拟机里比如模拟器要识别手机设备那就用设备→USB菜单选择对应的设备前提是前面说的virtualbox-ext-pack已经装好。4. 虚拟机内的两条路安卓模拟器还是DMM客户端4.1 路径A在虚拟机里装MuMu模拟器如果你习惯手机端的操作界面或者有多个账号需要切换那么虚拟机内装安卓模拟器是首选。我用的是MuMu模拟器12选择它的主要原因是兼容性好、自带64位Andro 12系统而且键位映射功能比较成熟。模拟器的安装过程和平常Windows上一样一路下一步就行。但启动时大概率会遇到一个报错提示无法检测到VT或者硬件加速不可用。这不是模拟器的问题是VirtualBox默认没有把CPU虚拟化指令暴露给虚拟机内部解决方法在第五章详细说。这里先放结论执行一条VBoxManage命令开启嵌套虚拟化然后重启虚拟机。模拟器装好后建议做这样几项设置性能设置项里给2到4个CPU核心内存给4GB不要贪多。模拟器分配内存过高反而可能引起内部崩溃。帧率设为60分辨率设为1600x900。这个分辨率在虚拟机里表现最均衡。渲染模式选兼容优先遇到图形显示问题时比性能优先更稳。设置完成后再从模拟器应用商店或浏览器下载公主连结用账号登录就能玩了。MuMu的键位映射可以自己编辑比如把鼠标左键映射为点击空格映射为跳过对话长时间操作会省力很多。4.2 路径B直接安装DMM Games客户端如果不想多套一层模拟器还有一条更直接的路径在Windows虚拟机里安装DMM GamesDMM官方游戏平台用Windows原生客户端玩公主连结。Cygames自家提供了PC版画质和稳定性都超过模拟器毕竟是原生程序不需要模拟器那层指令转译。操作步骤是先从官网下载DMM Games启动器安装后登录DMM账号然后搜索公主连结或者直接找日服入口点击安装游戏本体。游戏数据包比较大首次下载可能要等一段时间建议放在磁盘剩余空间充足的位置。DMM客户端的优点非常明显第一不需要嵌套虚拟化只要虚拟机的3D加速正常就能跑第二资源占用比模拟器小很多8GB内存的虚拟机跑起来毫无压力第三没有模拟器检测问题游戏反作弊机制对它更友好。缺点是需要DMM账号如果你玩的是国服版本可能没法用这条路那还是老老实实走路径A。4.3 两条路径怎么选以我实际使用的感受来说日常清体力、打公会战DMM客户端是主力方案启动快、不卡顿、省内存如果哪天需要多开小号或者带新手我会在虚拟机里再切到MuMu模拟器开一个分屏窗口同时操作。两条路其实并不冲突虚拟机里同时装好两者按场景选择即可。对比项MuMu模拟器方案DMM客户端方案适用版本国服/日服等手机版日服PC版或对应DMM版本嵌套虚拟化必须开启不需要资源占用较高吃内存和CPU较低内存4~6GB即可多开支持支持模拟器可以多开多开要复制虚拟机麻烦键位操控键位映射灵活鼠标原生点击天然顺手5. 让游戏真正流畅跑起来的性能调优5.1 嵌套虚拟化模拟器能不能跑的开关这一节是整个方案的关键我在模拟器报错上卡了整整一个晚上。安卓模拟器本质上是一个精简的Android系统它启动前会检测CPU是否支持硬件虚拟化。在VirtualBox虚拟机里默认情况下CPU的VMX/SVM指令不会传递给虚拟机内部的系统所以模拟器会判断当前环境不支持硬件加速然后拒绝启动或者启动后黑屏。解决办法是给virtualBox开启嵌套硬件虚拟化nested hardware virtualization。先用以下命令查看虚拟机的准确名称VBoxManage list vms然后对目标虚拟机执行VBoxManage modifyvm Windows 10 --nested-hw-virt on注意这里的Windows 10要替换成你虚拟机实际的名字。执行完毕后重启虚拟机进Windows里打开任务管理器切到性能标签再看CPU栏目里的虚拟化状态。如果显示已启用说明嵌套虚拟化生效了这时候再启动MuMu模拟器就不会报VT错误了。需要注意的是开启嵌套虚拟化之后VirtualBox自身的一些底层优化会失效虚拟机整体性能可能有小幅下降。这是正常现象公主连结这种轻量游戏感知不明显。如果因为某些原因导致虚拟机无法启动可以再执行同样的命令把值改回off不影响DMM客户端方案。5.2 3D加速与画质取舍VirtualBox的3D加速能力是这套方案的性能瓶颈所在。它的工作机制是把虚拟机的OpenGL指令转译成宿主机图形栈能理解的指令也就是软件转译和宿主机直接跑游戏的硬件加速完全不是一个量级。所以不要幻想在这套方案里拉满画质合理取舍才是关键。我在虚拟机设置里做了这样几项调整显卡控制器改为VBoxSVGA这是VirtualBox 7.x里兼容性最好的控制器。启用3D加速一定勾上这一步不做的话游戏画面会严重撕裂。显存拉到128MB上限。进游戏之后在设置里把画质选为标准或者流畅分辨率降到1366x768帧率锁定60关闭高帧率模式。公主连结的画面以2D立绘为主技能动画会对3D模块有短暂需求这组参数下能够稳定跑满60帧。如果你打开游戏后看到明显的花屏或者黑块把显卡控制器从VBoxSVGA改回VBoxVGA再重启试试VBoxVGA花屏概率更低。5.3 网络、音频与操作细节默认情况下VirtualBox使用NAT网络模式虚拟机共享宿主机的网络。这个模式日常登录、下载都没问题但在游戏内拉取公会战排名或者跨区域登录时偶尔会遇到连接超时。如果你所在的网络环境允许把虚拟机的网络连接方式改为桥接网卡会更稳定。操作路径是虚拟机设置→网络→连接方式选桥接网卡界面名称选你宿主机正在用的网卡。桥接模式下虚拟机会直接获得局域网IP相当于一台独立设备延迟比NAT低不少。要注意的是如果宿主机用的是Wi-Fi桥接模式偶尔会掉线有线网络下基本没有这个问题。音频方面VirtualBox在Ubuntu下有时的默认驱动设置会导致爆音或者卡顿。我在设置→音频里把音频控制器改为ICH AC97音频驱动选PulseAudio问题就消失了。这个细节不处理的话登录游戏时BGM会一卡一卡的很影响体验。操作上如果走MuMu模拟器键位映射是提升效率的关键。我会在模拟器设置里把方向键映射成滑屏操作空格映射为确认ESC映射为返回。这样清日常任务时鼠标点两下加键盘敲两下效率比纯鼠标点击高很多。6. 踩坑实录与疑难杂症修复记录6.1 虚拟机启动失败与报错处理VirtualBox最常见的启动错误是VirtualBox不能为虚拟机电脑打开一个新任务错误码通常是0x80004005。这个报错在Ubuntu下我遇到过两次一次是KVM冲突一次是虚拟机目录权限问题。排查链路是这样的先杀掉所有VirtualBox进程然后检查KVM模块有没有被加载sudo pkill VirtualBox lsmod | grep kvm如果kvm模块在运行就先卸载再启动VirtualBoxsudo modprobe -r kvm_intel还要注意目录权限。如果整个用户目录的属主不对VirtualBox会拒绝访问虚拟机配置文件sudo chown -R $USER:$USER ~/VirtualBox\ VMs另外网上有传言说VirtualBox 7.2.20这个版本在Windows虚拟机里安装Guest Additions时报无效的安装目录。我虽然没遇到但朋友遇到过解法是换个稳定版本或者去官网手动下载与VirtualBox版本完全对应的Guest Additions安装包。版本号不一致的时候很容易出现这个问题装完重启就好。6.2 模拟器VT无法开启与黑屏闪退的完整排查如果你遇到模拟器提示VT未开启而CPU和BIOS明明都支持不要急着重装模拟器。按下面这个顺序排查宿主机上执行egrep -c (vmx|svm) /proc/cpuinfo结果必须大于0。执行VBoxManage list vms确认虚拟机名称。执行VBoxManage modifyvm 你的虚拟机名 --nested-hw-virt on。重启虚拟机打开任务管理器确认CPU虚拟化显示已启用。重新启动模拟器。这五步走完99%的VT报错都能解决。剩下1%的情况是模拟器本身版本问题比如32位模拟器在虚拟机里的兼容性很差建议直接换成64位版本。游戏启动黑屏是另一个高频问题。我遇到过的情况集中在两种情况一是模拟器内存分配过大导致Android系统内部崩溃二是虚拟机的3D加速没开。前者把模拟器的内存设置从6GB降到4GB就好后者回到虚拟机设置里把3D加速勾上。如果黑屏前有闪退现象检查一下虚拟磁盘的剩余空间公主连结的数据包加模拟器缓存很容易超过40GB磁盘满了游戏会莫名其妙地退出。6.3 鼠标漂移、共享文件夹失效和磁盘瘦身运行游戏时鼠标漂移是个很烦人的问题尤其是在模拟器里点击技能按钮指针会突然跳一下。原因在于VirtualBox的鼠标集成服务和模拟器内部的鼠标驱动抢控制权。解决方法是在虚拟机菜单栏点设备→禁用鼠标集成。代价是鼠标不能自动移出虚拟机窗口需要按下宿主键默认是右侧Ctrl但对游戏操作来说精准度更重要。共享文件夹如果出现不生效的情况先检查Guest Additions版本和VirtualBox版本是否一致。确认无误后到Windows里手动重新挂载net use \\VBOXSVR\Downloads如果还是不行直接重启虚拟机这是最省事的办法。最后说说磁盘瘦身。动态分配的vdi虚拟磁盘文件会随着Windows里的操作不断膨胀即使删除大文件vdi文件也不会自动收缩。先在Windows里做磁盘清理然后关掉虚拟机在宿主机上执行VBoxManage modifymedium disk /path/to/your-disk.vdi --compact这个命令能把vdi文件重新压缩一遍。注意路径要写对并且确认虚拟机完全关闭否则会报错。我现在的固定流程是开机后先把Windows虚拟机挂后台DMM客户端自动启动公主连结然后该干嘛干嘛去需要清体力时切过去点两下。折腾了一圈发现最笨的方案反而最省心。最后留个建议如果你手头机器配置不算高这套方案依然可以流畅运行只要记得把分辨率降下来、把系统后台清理干净。公主连结本来就不是一个吃配置的游戏VirtualBox加虚拟机这套组合完全能把它伺候舒服。