VMware Workstation虚拟机安装配置与远程桌面连接实战指南
如果你正打算在一台Windows电脑上折腾Linux、Windows Server或者想隔离一个测试环境来跑各种实验那么VMware Workstation基本是绕不开的名字。这篇文章我不打算写成官方文档的复读机而是从一个天天跟虚拟机打交道的使用者的角度把VMware虚拟机的介绍、安装、系统部署以及最让人头疼的远程桌面连接问题一次讲透。不管你用的是VMware Workstation Pro 17还是还在用16的老版本这篇文章里讲到的思路都适用。内容覆盖从下载安装、创建虚拟机、安装Ubuntu/Linux系统到配置VNC远程桌面、排查VNC连接自动退出、解决Hyper-V冲突、处理快照报错全程都是实际踩坑后总结出来的操作记录你可以直接照着抄。1. VMware Workstation到底是个什么软件1.1 虚拟机原理和VMware Workstation的定位先聊点基础但很重要的概念。虚拟机Virtual Machine本质上是在你的物理操作系统之上通过一层虚拟化软件模拟出完整的计算机硬件环境包括CPU、内存、硬盘、网卡、声卡等。你在虚拟机里安装的操作系统比如Ubuntu、CentOS、Windows 10其实并不知道自己跑在虚拟硬件上它以为自己在操作一台真实的电脑。VMware Workstation Pro属于Type-2型虚拟机监控程序也就是跑在宿主机操作系统之上的应用软件。与之对应的是Type-1型像VMware ESXi直接在裸机上运行。这个概念分开有助于理解后面的问题因为Workstation是跑在Windows上的应用层程序所以它受宿主系统的资源调度影响也正因为这样它和Windows自带的虚拟化功能Hyper-V才有那么多恩恩怨怨后面我会专门讲。VMware Workstation能做什么最典型的三类用途第一在Windows桌面上运行Linux系统用于开发和学习这是最大众的需求第二搭建测试环境随便折腾系统配置、安装各种软件坏了就回滚快照不用心疼第三隔离运行一些来源不明或者有安全风险的软件比如你下载了一个破解工具先在虚拟机里跑一下避免污染主系统。1.2 为什么选择VMware Workstation而不是其他方案市面上的虚拟化方案绝不止VMware一家。Oracle VirtualBox免费开源Hyper-V是Windows自带的还有像QEMU/KVM、Parallels DesktopmacOS专用等。我个人的使用经验是如果你追求稳定性和商业软件的兼容性VMware Workstation Pro几乎是无脑首选。理由有三点。一是硬件兼容性极好对USB设备、PCI直通、3D加速的支持非常成熟尤其是需要把U盘、加密狗、串口设备映射进虚拟机时VMware的驱动适配很少出幺蛾子。二是快照和克隆功能极其强大Workstation的“快照管理器”可以保留多个还原点比如你装系统之前拍一个快照装完软件包之后拍一个之后随便折腾一条命令回滚这种体验在VirtualBox上要差不少。三是企业协作方便Workstation创建的虚拟机可以无缝迁移到ESXi服务器上很多公司的开发测试环境就是这么流转的开发者在笔记本上搭虚拟机调试然后直接上传到服务器跑。当然VMware Workstation Pro从17版本开始转向了订阅制价格不算便宜。如果你是学生或者评估用途官网有试用版偶尔临时用用直接下载试用即可。如果只是简单跑个Linux环境免费开源的VirtualBox也能胜任但后续做网络实验、快照链、远程桌面这些复杂场景还是会感受到差别。2. 安装前的准备工作和关键配置2.1 硬件要求CPU虚拟化必须开启安装VMware本身对硬件要求不算高4GB内存、双核CPU即可运行但真要流畅跑一个带图形界面的Ubuntu桌面版我建议主机至少16GB内存8GB勉强能跑但会很憋屈。实际分配建议虚拟机给4GB内存主机留8GB以上否则两边都卡。最关键的是CPU虚拟化功能。现代CPU都有虚拟化指令集Intel叫VT-xAMD叫AMD-V但很多品牌机默认在BIOS里是关闭的。如果没有开启你在VMware里启动虚拟机时会报错“此主机支持Intel VT-x但Intel VT-x处于禁用状态”或者安装Linux过程中直接蓝屏。遇到这种情况需要重启电脑进入BIOS设置开机时按Del或F2键不同品牌不一样找到Intel Virtualization Technology或者SVM ModeAMD平台选项改为Enabled保存退出。进BIOS的按键可以通过开机画面判断大部分台式机是Del键联想笔记本通常是F2或FnF2还有少数是F10。如果实在找不到直接在搜索引擎输入你的电脑型号和“开启虚拟化”基本就能查到答案。2.2 下载安装官网渠道和许可证处理下载VMware Workstation Pro一定要去官网不建议去第三下载站。原因很简单这类商业软件是流氓软件捆绑的重灾区很多第三方站点打包了各种推广工具和全家桶。官方网站的下载地址是vmware.com进入后找到Products然后进入Workstation Pro页面选择Free Download即可。页面可能会要求你注册一个账号随便填个邮箱就能收到下载链接。安装过程比较无脑双击安装包一路Next。但有几个选项需要注意“增强型虚拟键盘驱动程序”建议勾选它能改善特殊按键的输入体验比如在远程桌面或虚拟机里使用CtrlAltDel的时候。“将VMware Workstation控制台加入客户体验改善计划”可以取消勾选这玩意纯属回传使用数据没必要参与。安装路径建议放在非系统盘因为虚拟机文件本身很大虽然安装程序只有几百MB但后续你创建的虚拟磁盘文件会占几十GB甚至上百GB把程序装到D盘的逻辑也更清爽。许可证方面试用版默认有30天评估期到期后需要输入许可证密钥才能继续使用。如果你的公司有正版授权直接填入序列号。如果是个人临时使用到期后可以清理卸载重装但不推荐这种操作条件允许还是建议支持正版毕竟这是劳动成果。2.3 和Windows Hyper-V的冲突问题很多人在装完VMware Workstation后第一次启动虚拟机会遇到一个很经典的报错“VMware Workstation和Device/Credential Guard不兼容”。这个报错在Windows 10/11上极其常见原因就是Windows自带的基于虚拟化的安全功能VBS和Hyper-V组件占用了CPU的虚拟化指令VMware Workstation抢不到资源。解决办法有两个方向。一个是关闭Windows的相关功能打开“控制面板 - 程序与功能 - 启用或关闭Windows功能”找到“Hyper-V”取消勾选同时把“虚拟机平台”和“Windows虚拟机监控程序平台”也取消勾选然后重启电脑。另外还要关闭内存完整性在Windows安全中心 - 设备安全性 - 内核隔离里把“内存完整性”关掉。另一个方向是如果必须用Hyper-V比如要用WSL2或Docker可以尝试VMware Workstation 15.5及以上版本它们支持Windows Hypervisor PlatformWHP可以在Hyper-V开启的情况下运行。但实测下来性能损耗较大而且不稳定建议还是二选一。我的个人建议是日常开发用VMwareWSL2的体验也不错但两者最好不要共存。3. 创建虚拟机并安装Ubuntu系统3.1 新建虚拟机向导关键参数怎么填打开VMware Workstation点击“创建新的虚拟机”选“典型推荐”即可自定义留给高级用户去玩。接下来会让你选择安装来源如果你已经下载好了Ubuntu的ISO镜像文件选择“安装程序光盘映像文件iso”浏览选中镜像。这里要注意Ubuntu的桌面版镜像要去官网ubuntu.com下载注意区分Desktop版和Server版如果是学习Linux基础操作建议装桌面版图形化界面能降低初期的挫败感。你还需要设置虚拟机的名称和存放位置。名称随意位置建议单独建一个文件夹比如D:\VirtualMachines\Ubuntu2204方便之后管理。接下来是磁盘大小默认给20GB我建议至少给40GB因为Ubuntu系统本身加上常用软件环境20GB真的不够用后期扩展磁盘空间虽然可行但要走命令操作麻烦。下面的“将虚拟磁盘拆分成多个文件”和“存储为单个文件”两个选项选“拆分成多个文件”即可更便于移动和备份。然后是“自定义硬件”页面这是最关键的一步。内存建议分4GB如果你的主机只有8GB内存建议分2-3GB处理器数量选1每个处理器的核心数量看你CPU情况给2核以上网络连接选“NAT”模式这是默认且最适合新手的方式虚拟机可以上网但外部不会直接访问到虚拟机内部。下面的USB控制器、声卡、打印机等可以按需移除尤其是打印机留着可能导致Windows打印服务冲突没必要。3.2 安装Ubuntu桌面版过程详解启动虚拟机后会进入Ubuntu的安装界面。整个过程大概20分钟左右。选择“安装Ubuntu”之后键盘布局默认英语美国如果对中文输入有需求之后在系统设置里添加中文即可。安装类型选择“清除整个磁盘并安装Ubuntu”这是最省事的方案不用手动分区安装器会自动配置好。镜像默认会用整个虚拟磁盘不会碰到你Windows主机的数据这点放心。设置用户名和密码时建议密码不要设得太复杂因为后面远程桌面登录还要用如果设了大小写和符号混合远程登录的时候很容易手滑输错。计算机名会自动根据用户名生成保持默认即可。安装过程的等待时间取决于你给的处理核心数和内存大小。装完后重启如果卡在“Please remove the installation medium, then press ENTER”直接按回车键即可。进入桌面后第一件事打开终端执行sudo apt update sudo apt upgrade把系统软件源和依赖更新到最新这一步能解决后面不少莫名其妙的兼容问题。3.3 VMware Tools和网络配置VMware Tools是VMware虚拟机的驱动套件装上它以后虚拟机的显示分辨率能自适应窗口、鼠标可以流畅进出虚拟机、剪贴板能共享、文件拖拽也能实现。在Workstation里安装很简单虚拟机菜单栏点击“虚拟机 - 安装VMware Tools”然后回到Ubuntu系统内系统会挂载一个光盘镜像在文件管理器里打开后把其中的.tar.gz压缩包拷贝到主目录解压后进入目录运行sudo ./vmware-install.pl一路回车默认安装装完重启即可。如果不装VMware Tools你可能会遇到两个烦人的问题第一虚拟机里分辨率固定死800x600之类怎么设置都没用第二鼠标进出虚拟机还要按CtrlAlt非常影响体验。所以这一步别省。关于网络NAT模式下虚拟机通过主机IP共享上网手动获取IP即可。此时你在虚拟机里ping baidu.com如果能通说明网络正常。如果之后需要让局域网内其他电脑访问这个虚拟机那就需要改“桥接模式”或者做端口转发。对于初学者先搞懂NAT就够了。3.4 创建快照和回收虚拟机资源系统装好并配置完基础环境之后我强烈建议你马上创建一个快照。所谓快照就是虚拟机当前状态的“备份点”之后你不管怎么折腾比如装了一堆软件导致系统坏了只要恢复到快照几秒钟就能回到系统刚装好的状态。操作方式虚拟机菜单“虚拟机 - 快照 - 拍摄快照”起个名字如“初始系统”备注写“Ubuntu 22.04基础环境已更新并装VMware Tools”。快照确实方便但有个坑必须提醒快照不要保存太多太旧。因为快照文件是链式存储的每拍一次快照VMware就会新建一个磁盘文件来记录差异数据。当你创建了十几个快照且时间跨度很长时磁盘占用会急速膨胀而且虚拟机性能也会下降。我个人的习惯是保留当前快照加上最近一两个关键节点的快照其余的及时删除。如果哪天你不想用了删除虚拟机也不是直接从文件夹里删掉那么简单。正确操作是右键虚拟机 - 管理 - 从磁盘中删除。VMware在创建虚拟机时会在你设定的目录下生成多个文件包括.vmx是虚拟机配置文件.vmdk是虚拟磁盘文件.vmem是内存交换文件.nvram是BIOS信息等。只删除文件夹会导致注册信息残留之后再建同名的虚拟机就会出现冲突。至于彻底清理VMware本身官方提供VMware Cleanup Tool用它清除旧版本的残留文件和注册表项比手动卸载干净得多。4. 远程桌面连接从入门到排坑4.1 为什么需要在VMware里配置远程桌面很多人不理解虚拟机窗口就在眼前为什么还要搞远程桌面通常就两个原因。一个原因是性能体验VMware的图形控制台走的是软件渲染在虚拟机里操作界面会有明显的延迟感而远程桌面协议经过专门优化画面流畅度反而更好。另一个原因更现实你可能会把虚拟机部署在办公室的物理服务器上或者以后放到云服务器上这种情况下不可能打开一个“VMware窗口”只能通过远程桌面连接进去操作。远程桌面连接的本质是把虚拟机的图形界面通过网络传输到你的客户端电脑上。常见的协议有两类一类是微软的RDPRemote Desktop Protocol专用于Windows系统另一类是VNCVirtual Network Computing跨平台性更好Linux和Windows都能用。热词搜索里多次出现“VNC连接服务器实现远程桌面”说明很多人在配好VNC之后遇到连接中断、自动退出等坑下面我会详细讲。4.2 Linux虚拟机里配置VNC服务如果虚拟机里装的是Ubuntu桌面版配置VNC服务可以选择x11vnc或者TightVNC Server。两者各有优劣x11vnc是直接抓取当前桌面屏幕并共享TightVNC是创建独立会话。从稳定性角度我更推荐x11vnc因为它和桌面环境绑定不需要额外的会话管理也不会出现黑屏问题。安装x11vnc的命令如下sudo apt update sudo apt install x11vnc然后需要设置一个VNC访问密码x11vnc -storepasswd这行命令会提示输入两次密码密码保存在用户主目录下的.x11vnc/passwd文件中。接下来启动x11vnc服务监听端口默认是5900x11vnc -forever -shared -rfbauth ~/.x11vnc/passwd -rfbport 5900 -bg参数说明-forever表示即使客户端断开服务也不会退出-shared允许多个客户端同时连接-rfbauth指定密码文件-rfbport指定监听端口-bg表示后台运行。为了开机自启还需要把启动命令写进系统的启动项。在Ubuntu 22.04下可以创建一个systemd服务或者简单粗暴在“启动应用程序偏好设置”里添加一行命令即可。如果你跟我一样用的是systemd可以建立/etc/systemd/system/x11vnc.service文件内容写上ExecStart后面跟启动命令然后systemctl enable x11vnc这样重启后VNC服务就会自动运行。Windows电脑连接Linux虚拟机的VNC我常用的是VNC Viewer这个软件跨平台而且免费。打开VNC Viewer输入虚拟机IP加端口号比如192.168.x.x:5900回车后输入之前设置的VNC密码就能看到桌面了。如果连接不上先看虚拟机防火墙sudo ufw status如果是active状态执行sudo ufw allow 5900/tcp放行端口。4.3 Windows虚拟机怎么开远程桌面如果虚拟机里装的是Windows比如Win10那就简单多了因为Windows自带RDP远程桌面服务不用额外装任何软件。在虚拟机里的Windows系统中右键“此电脑 - 属性 - 远程桌面”打开“启用远程桌面”开关。然后确保虚拟机里Windows的防火墙允许远程桌面端口3389默认是放行的。接着回到Windows宿主机按WinR输入mstsc回车打开远程桌面连接窗口输入虚拟机的IP地址再输入Windows的用户名密码就能直接连进去了。这里有个重要区别RDP协议不需要VMware里启用共享剪贴板连接后虚拟机里的剪切板和宿主机是天然互通的比在VMware控制台里的体验还好。如果虚拟机的Windows网络用了NAT模式宿主机能ping通虚拟机但mstsc连接提示“由于数据加密错误这个会话将不会结束”多半是网络环境或者加密级别不匹配可以在虚拟机的Windows组策略里调整加密级别或者确认两边的Windows版本都不算太老。更常见的问题是远程桌面连上后30秒到几分钟内就断掉这个我在下一节详细说。4.4 VNC连接后过一段时间自动退出热词里有一条“vnc远程桌面连接后过一段时间自动退出”这是远程桌面里最高频的问题没有之一。我自己的真实经历是用VNC Viewer连上Ubuntu虚拟机之后不到几分钟就跳出“connection closed”的提示重连后过一会儿又断。排查过程如下。第一步确认是不是VNC服务本身挂了。在虚拟机的终端里执行ps aux | grep x11vnc看服务进程是否还在。如果进程还在说明断的是网络链路。如果进程挂了看x11vnc的启动日志很可能是认证超时或网络丢包导致进程崩溃。第二步检查虚拟机的电源管理策略。Ubuntu桌面版默认会在无操作一段时间后进入息屏或挂起状态屏幕一锁定VNC连接就會断开。解决方法是进入“设置 - 电源”把“息屏”和“自动挂起”全部改为“从不”同时如果虚拟机里安装了VMware Tools运行vmware-toolbox-cmd stat hosttime之类的命令验证工具是否正常因为VMware Tools的电源管理会和系统挂起有交互。第三步重点看网络稳定性。桥接模式下虚拟机走的是路由器分配的IP如果你用Wi-Fi连接信号波动会导致TCP长连接断开。这种情况下在Windows宿主机上持续ping虚拟机的IP观察丢包率。如果丢包严重要么换有线网要么把虚拟机网络改回NAT模式因为NAT模式内部链路更稳定。最后还有一个秘技错开空闲断开时间。一些VNC客户端有“空闲超时断开”的设置VNC Viewer默认是“Auto”会自动探测有时候不太聪明。你在VNC Viewer的连接属性里把“Color level”调整一下或把“Enable automatic reconnect”勾上断线后能自动重连。远程桌面连接本身就是长连接任何一层网络模式切换或休眠都会导致掉线所以尽量从两端同时排查。4.5 云服务器场景的延伸以AutoDL或任意Linux云主机为例热词里提到“vnc连接服务器实现远程桌面——以autodl云服务器为例”其实思路和虚拟机完全一致。很多云服务器默认只有SSH没有图形界面要远程桌面就得自己装桌面环境并配置VNC。差别在于云服务器没有VMware那一层网络用的都是公网IP配置防火墙时要额外注意安全组设置。比如阿里云、腾讯云需要在安全组规则里放行5900端口如果是国外VPS或者AutoDL这类算力平台控制台里一般也有防火墙面板需要同步放行。云服务器装VNC后建议不要直接暴露5900端口到公网因为公网扫描器很多密码弱则极容易被入侵。安全做法是用SSH隧道把本地的5900端口映射到远端再通过VNC Viewer连接本地端口。这条命令ssh -L 5900:localhost:5900 root服务器IP执行完后VNC Viewer连接localhost:5900即可流量是走加密隧道的安全性高很多。这个技巧对本地虚拟机同样适用如果你的虚拟机开了仅主机网络或NAT端口转发也可以先通过SSH隧道再连接VNC。5. 常见问题排查和实用心得5.1 冷门报错与黑屏问题整理我在使用VMware这些年里遇到过一堆不在教程里的奇怪问题单独列出来供你排查参考。第一个“虚拟机监控程序功能对该用户不可用”。这个之前提过多出现在Windows功能里开启了Hyper-V或内核隔离。处理步骤是控制面板 - 程序和功能 - 启用或关闭Windows功能取消Hyper-V和Windows虚拟机监控程序平台然后禁用内存完整性重启。如果设置完还不行执行bcdedit /set hypervisorlaunchtype off管理员身份运行命令提示符重启就好了。第二个“使虚拟机处于静默状态时出错。有关详细信息请参见虚拟机的事件日志。生成快照时”。这其实是创建快照时VMware尝试调用客户机里的VMware Tools做静默快照但Tools没有正确响应导致的。解决办法右键虚拟机 - 设置 - 选项 - VMware Tools - 快照勾选“恢复快照前静默客户机文件系统”确认Tools状态显示为“已运行”。如果还是报错就修改虚拟机目录下的.vmx配置文件在末尾加一行disk.enableUUID TRUE保存重启虚拟机快照就能正常拍了。第三个安装Linux过程中蓝屏或卡死。主要原因基本都是BIOS虚拟化没开或者镜像位不匹配。检查你下载的Ubuntu镜像是不是64位版本VMware 17对32位系统i386的支持已经不完善了强行安装很容易出问题。第四个“主机访问虚拟机网站失败”。比如你在Ubuntu虚拟机里用Nginx起了网站想从Windows浏览器通过虚拟机IP访问接口却连不上。如果用的是NAT模式虚拟机的IP一般是192.168.x.x段浏览器访问应该是没问题的如果不行先确认Nginx监听的是0.0.0.0还是127.0.0.1如果是127.0.0.1外部就访问不了。NAT模式下要在VMware的虚拟网络编辑器里配置端口转发。至于桥接模式直接访问虚拟机的局域网IP即可但需要手动把虚拟机的网络模式设置成一个网段内。5.2 许可证和升级的那些事VMware Workstation Pro的许可证激活是个常见需求。安装完成后打开“帮助 - 输入许可证密钥”填入你手上的密钥即可。如果你用的是17版本搜索“vmware 17许可证密钥”能找到一些公开渠道发布过的Keys但注意有效性随版本更新会失效且我不建议依赖这类途径。更推荐的是如果只做学习测试去官网申请30天试用如果长期用直接买正版。重要提示网上某些激活工具类软件不要下载因为这类工具正好是木马重灾区为了省几百块钱让自己的电脑裸奔非常不值。另外关于版本选择如果你是从16版本升级到17建议用VMware Cleanup Tool先彻底清理旧版本。我自己遇到过一次升级后虚拟机无法启动的尴尬虚拟机的版本不匹配提示“此虚拟机配置为使用Workstation 16但当前程序版本不支持”。解决办法是找到虚拟机目录里的.vmx文件用文本编辑器打开将virtualHW.version 16改成17或15保存后就能正常打开。这种转换虽然简便但如果虚拟机已经用了比较新的虚拟硬件特性降级版本可能无法识别好在大多数情况下一行配置就能解决。5.3 资源占用和磁盘瘦身VMware Workstation有一个“臭名昭著”的问题虚拟磁盘文件只会增大不会自动缩小。比如你在虚拟机里复制了20GB文件再删掉宿主机的.vmdk文件并不会回到原来的大小。要瘦身在虚拟机里执行sudo apt clean清理缓存后关机在VMware的虚拟机设置里找到“硬盘 - 磁盘实用工具 - 压缩”等几分钟磁盘空间就还给宿主机了。如果虚拟机是Windows系统先在Windows里执行碎片整理再用相同方式压缩。内存占用方面建议在虚拟机设置里勾选“预留所有客户机内存”这个选项按需开启。如果你打开了很多虚拟机也没手动指定内存VMware默认会让他们共享宿主机的物理内存但开启预留后会锁定内存给某台虚拟机性能更稳定代价是宿主机内存更紧张。实际使用中我一般只给当前活跃的虚拟机预留内存不用的虚拟机就挂起。5.4 克隆和端口转发的进阶玩法如果你需要快速生成多台相同配置的虚拟机比如搭集群做实验用克隆功能代替每台从零安装。右键虚拟机 - 管理 - 克隆选“创建链接克隆”十几秒就能生成一台新机器。链接克隆和完整克隆的区别链接克隆共享源虚拟机的磁盘数据只保存差异所以创建快且不占磁盘完整克隆则是完全独立的副本。做实验用链接克隆即可但注意源虚拟机一旦删除所有链接克隆都无法启动。端口转发则常用于局域网内访问虚拟机服务。比如你想让路由器下的其他设备都可以通过宿主机IP加某个端口访问到虚拟机里的Web服务打开VMware的“编辑 - 虚拟网络编辑器”选择NAT模式点击“NAT设置”添加一条端口转发规则主机端口填8080虚拟机IP填192.168.x.x虚拟机端口填80确认后外部设备访问主机IP:8080就能通到虚拟机的80端口了。写在最后的个人操作建议几点经验和建议收个尾。虚拟机能解决的问题很多但别把它当成万能方案。我见过不少同学把虚拟机当主力开发环境结果出现性能瓶颈、磁盘爆满之后又折腾迁移浪费了时间。比较合理的分工是Windows宿主机负责日常办公虚拟机负责系统和服务的实验远程桌面连接作为多屏协同的桥梁。给新人一个推荐的上手路径先在VMware Workstation里装一台Ubuntu 22.04配置好VMware Tools拍个初始快照然后安装x11vnc并开启远程桌面最后回到Windows用VNC Viewer连进去体验一下。这一套走下来你基本就把虚拟机的创建、配置、远程桌面、快照以及最典型的坑全部踩了一遍。之后再去做复杂的网络实验、搭建服务器集群都只是在这个基础上的扩展。我个人的体会是虚拟化技术最迷人的地方不是“在一台电脑上装很多系统”而是它可以随时回到过去、随时复制出无数个平行环境。这个能力在日常开发和生产运维里的价值会随着你用得越深感受得越明显。希望这篇东西能帮你少走几步弯路。