尧图精选

openKylin虚拟机安装VMware Tools与open-vm-tools

🕒 发布时间:2026/10/1 2:27:16 📁 来源:尧图网络
在虚拟机里跑 openKylin装完系统之后如果你没管过来宾工具这一环用起来会处处别扭鼠标移进移出要按热键、屏幕分辨率锁死在 1024×768、复制粘贴只能在虚拟机内部自娱自乐、主机上的文件想传进去还得靠第三方网盘绕一圈。我前阵子在 VMware Workstation 里装了一台 openKylin 做日常测试第一遍就是裸系统直接用折腾了半小时实在受不了回头把 VMware Tools 这一安装环节认真走了一遍中间还踩了继续运行脚本未能在虚拟机中成功运行这个经典报错。这篇就把整个过程捋清楚包括 openKylin 这种 Debian 系国产桌面系统到底该装官方 VMware Tools 还是 open-vm-tools两条路的区别在哪命令行和图形界面两种做法各是什么样装完怎么验证以及报错怎么一条条排查。哪怕你是第一次接触 Linux 桌面系统照着走也能一次装成。1. 先搞清楚openKylin 虚拟机不装来宾工具会缺什么很多人把安装 VMware Tools当成一个可有可无的收尾动作装不上就先放着反正系统能开机就行。这种心态在服务器或纯命令行场景里问题不大但 openKylin 是桌面系统你每天都要面对鼠标、窗口、文件拖拽这些交互缺了来宾工具日常体验会被拖垮一大截。1.1 三块最直观的功能缺口先说最影响手感的三件事。第一是分辨率自适应。没装之前虚拟机窗口怎么拖动、怎么最大化里面桌面始终是固定分辨率左右两边留黑边或者被拉伸变形看文档、开终端都难受。装了之后桌面分辨率会跟着虚拟机窗口自动调整全屏就是全屏。第二是鼠标无缝切换。没装来宾工具时鼠标指针进入虚拟机窗口后会被捕获想回到主机需要按 CtrlAlt 组合键释放来回切几十次谁都想砸键盘。装了之后鼠标可以在主机和虚拟机之间自由穿梭跟用本机窗口没有区别。第三是主机与虚拟机之间的剪贴板和文件互通。复制一段命令到虚拟机里执行、把虚拟机里的截图拖到主机发出去这些操作都依赖来宾工具提供的通道。没有它你只能靠共享目录或者外部存储手动搬。1.2 装与不装的性能差异体感很明显除了交互还有网络和存储驱动层面的差别。VMware 默认会给虚拟机挂上自己的虚拟网卡和虚拟 SCSI 控制器来宾工具里包含针对这些虚拟硬件的优化驱动。以网络为例官方虚拟网卡在千兆场景下的吞吐通常比通用驱动高一截我在同一条测试链路上做过粗略对比安装来宾工具后的文件传输速度明显更稳波动更小。存储这块也一样来宾工具带来的虚拟 SCSI 驱动能减少 I/O 等待尤其是你在大批量读写文件、编译项目的时候差异会累积出来。这些不是玄学而是驱动层面对虚拟硬件做了针对性适配的结果。提示如果你只是临时开一台虚拟机跑个命令、几分钟就删那不装也说得过去。但只要这台 openKylin 你会持续用超过一天来宾工具就该第一时间装上。说白了来宾工具解决的是虚拟机像不像一台真机的问题。装完它openKylin 才从能用变成好用。理解了这一点后面选哪条安装路线、怎么排查报错就有了明确的目标指向。2. 开工前先分清open-vm-tools 还是官方 VMware Tools这是最容易让新手迷惑的地方。你在网上搜VMware Tools 安装教程会看到两种截然不同的操作一种是点菜单栏的安装 VMware Tools然后挂载一个光盘进去跑安装脚本另一种是打开终端敲一条apt install open-vm-tools。两者到底什么关系选错了会白折腾。2.1 两条路的本质区别先讲清楚背景。早期的 VMware Tools 是 VMware 自己维护的一套闭源工具加驱动必须从虚拟机菜单挂载安装光盘然后在系统里解压、编译、安装整个过程对内核版本很敏感内核一升级装好的驱动可能就失效了。open-vm-tools 则是 VMware 把大部分功能开源后由各 Linux 发行版自己打包维护的版本。它被直接收录进发行版的软件源通过包管理器安装跟着系统更新一起升级内核升级后包管理器会自动处理模块重编译的问题。近些年主流的 Linux 发行版包括 Debian、Ubuntu、openEuler 这些系官方都推荐直接用 open-vm-tools。对比维度官方 VMware Toolsopen-vm-tools安装方式挂载光盘 运行脚本编译软件源一键安装内核升级后可能需要手动重装随包管理器自动处理维护方VMware 官方发行版社区 VMware 开源上游功能覆盖全量含部分闭源组件覆盖日常所需的绝大多数功能推荐度Debian 系特殊需求才用优先选择2.2 openKylin 到底适合走哪条路openKylin 的软件包体系属于 Debian 系用 apt 管理官方源里就有 open-vm-tools 和 open-vm-tools-desktop。所以对你来说优先走 open-vm-tools 这条路省心且不容易出问题。那什么情况下才需要回到官方 VMware Tools一般是你要用到某些开源的 open-vm-tools 没覆盖到的特性比如一些特定的性能监控接口或者老版本虚拟硬件的兼容支持。绝大多数普通用户包括开发测试、日常办公、学习 Linuxopen-vm-tools 完全够用。我自己的判断标准很简单先在终端敲apt policy open-vm-tools看看源里有没有这个包有就直接用没有或者版本太老再考虑官方那条路。事实证明 openKylin 的源里包很齐全根本不用碰安装光盘。2.3 装之前要确认的前置条件动手前建议先确认三件事避免装到一半卡住。确认系统版本在终端执行cat /etc/os-release看你的 openKylin 具体版本号。不同大版本的软件源结构可能有差异。确认软件源可用执行sudo apt update如果这里就报错连不上源后面安装必然失败先把源换好。给虚拟机做快照这是血泪教训。装驱动类软件前打个快照万一装完起不来一键回滚比修复省事得多。VMware 里在虚拟机菜单选快照→拍摄快照就行。注意做快照前先把虚拟机关机或者暂停保证快照状态干净。运行中拍快照恢复时可能出现文件系统不一致。把这三件事办妥再往下走就稳了。前置检查看起来啰嗦但能帮你避开八成的装到一半报错。3. openKylin 上安装与配置的完整实操链路准备工作做完正式开装。openKylin 作为桌面系统既可以走命令行也可以在软件管理器里点一点。我给两条路都写清楚你按自己的习惯选。3.1 先更新源别急着装不管走哪条路第一步都建议先在终端更新一次软件源缓存sudo apt update sudo apt upgrade -yapt update是刷新源里的软件包索引apt upgrade是把已装的包升级到最新。为什么要先做这步因为 open-vm-tools 依赖内核模块而内核模块又和当前运行的内核版本强相关。如果系统装完很久没更新源索引是旧的可能装到的 open-vm-tools 版本和你现在的内核对不上装完模块加载失败。先更新一次能把这个隐患消掉。如果apt update过程中出现源地址超时检查一下网络和源配置。openKylin 默认源一般够用实在慢可以换成国内镜像但改源前记得备份/etc/apt/sources.list。3.2 命令行安装两条命令搞定核心组件核心安装其实就两条命令。先装基础组件sudo apt install open-vm-tools -y这个包提供的是核心功能包括时间同步、共享文件夹支持、电源管理、部分驱动。但只有它还不够桌面交互相关的功能不在这里。接着装桌面增强包sudo apt install open-vm-tools-desktop -yopen-vm-tools-desktop才是提供分辨率自适应、剪贴板共享、拖拽等桌面体验的关键。很多人只装了第一个包然后抱怨分辨率还是不能自适应原因就在这。两个包都装上功能才算完整。如果你还想要更完整的功能覆盖可以看看是否有open-vm-tools-desktop之外的扩展包不过对绝大多数人来说这两个包已经覆盖了日常所有的需求。3.3 图形界面方式适合不想碰命令行的用户openKylin 自带软件管理器类似应用商店的工具。打开它在搜索框输入open-vm-tools你会看到两个结果一个是基础包一个是带 desktop 后缀的桌面包。把两个都勾选点安装输入密码确认即可。图形方式的好处是省心缺点是如果依赖关系出问题报错信息不如命令行直观。所以我个人更推荐用命令行一是能看到完整的安装日志二是出问题好排查。图形界面适合完全不熟悉终端的新手装完再回到终端验证一下就好。另外插一句openKylin 默认可能已经预装了部分 open-vm-tools 组件你在安装前可以先敲dpkg -l | grep vm-tools看看到底装了哪些避免重复劳动。3.4 装完必须重启然后逐项验证安装完成后重启虚拟机是必须的。open-vm-tools 需要加载内核模块、启动后台服务这些动作在重启后才会完整生效。你可以执行sudo reboot或者在虚拟机菜单里选重启。重启回来后按下面几个命令逐项验证# 查看服务状态活跃状态应为 active (running) systemctl status open-vm-tools # 查看工具版本 vmware-toolbox-cmd -v # 列出已加载的 vmware 相关内核模块 lsmod | grep vmw如果systemctl status open-vm-tools显示绿色的active (running)说明后台服务已经跑起来了。vmware-toolbox-cmd -v会打印一个版本号比如类似12.x.x.xxxxx的格式能打印出来就说明命令行工具可用。lsmod那条能看到 vmw_balloon、vmw_vmci 之类的模块说明驱动层也加载了。到这里核心安装就算完成。桌面分辨率应该能自适应了鼠标也能自由进出复制粘贴默认也通了。剩下的共享文件夹等增强功能放到第 5 节细说。4. 继续运行脚本未能在虚拟机中成功运行这类报错的排查链路前面说了优先走 open-vm-tools但总有人会去点 VMware 菜单里那个安装 VMware Tools然后挂载光盘跑脚本最后撞上那句经典报错。这一节我把这条报错从头到尾捋一遍因为它的排查思路能套用到很多类似场景。4.1 报错出现的典型场景那句话的完整版本通常长这样继续运行脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置...后面跟着建议你重新运行安装脚本的提示。它出现在你双击挂载光盘里的安装脚本、在终端执行之后。背后发生了什么当你点安装 VMware Tools时VMware 会把一个 ISO 挂到虚拟机的光驱里里面包含安装脚本和预编译的模块源码。脚本的核心工作是解压源码、用当前内核的头文件编译驱动模块、把编译好的模块装进系统、重载内核模块。只要这个链条里任何一环断了脚本就会报这个错。4.2 逐条排查从挂载光盘到内核头文件排查要按从上到下的顺序来先确认最外层的东西再往里挖。第一步确认光盘真的挂上了。在终端执行lsblk看有没有一个光盘设备通常是 sr0挂载着。如果没有说明安装 VMware Tools菜单没点成功或者虚拟机设置里光驱被禁用了。先在虚拟机设置里确认 CD/DVD 设备是使用 ISO 映像或自动检测状态。第二步确认系统已经安装了编译工具链。脚本要编译内核模块需要 gcc、make 这些工具。执行sudo apt install build-essential -y没有编译环境脚本跑到编译那步必然挂掉。第三步也是最关键的一条确认内核头文件版本和当前运行内核完全一致。这是最隐蔽的坑。查看当前内核版本uname -r然后安装对应版本的头文件sudo apt install linux-headers-$(uname -r)注意这里是$(uname -r)它会把当前内核版本动态填进去。很多教程让你直接apt install linux-headers-generic但如果源里的 generic 头文件版本比你正在运行的内核新比如系统装了新内核但没重启编译时就找不到对应的头文件目录脚本照样报错。所以务必用$(uname -r)精确匹配。装完头文件重新跑一遍脚本大概率就过了。4.3 另外两个常见的拦路虎除了头文件问题还有两个坑值得单独说。一个是权限问题。安装脚本必须用 root 权限跑。如果你直接双击运行图形环境会用普通用户身份执行编译和写系统目录都会失败。正确做法是打开终端cd到光盘挂载目录用sudo ./vmware-install.pl执行。openKylin 图形界面双击脚本默认可能不弹提权对话框这点要注意。另一个是光盘挂载点找不到。openKylin 的桌面环境挂载光驱后的路径不一定是/media/cdrom可能是/media/用户名/VMware Tools这样的路径。用lsblk找到挂载点或者用mount | grep sr0查看实际挂载位置再进去操作。报错现象可能原因对应处理脚本跑一半报失败缺内核头文件按当前内核版本精确安装头文件提示权限不足非 root 运行用 sudo 执行安装脚本找不到安装文件光盘未挂载或路径不对lsblk 确认挂载点编译报错缺 gcc/make安装 build-essential4.4 一个我踩过的坑装完没用 open-vm-tools有次我图省事先跑了官方脚本装了一遍后来发现更新不方便又装 open-vm-tools结果两套组件同时存在于系统里服务互相冲突桌面偶尔卡顿。最后的解决办法是把官方那套装的东西手动清理干净只保留 open-vm-tools。这个教训告诉我两条路选一条走到底别混用。如果你已经走 open-vm-tools 这条路就别再去点安装 VMware Tools了那个菜单留着不用即可。反过来如果你已经装了官方版本又后悔可以用脚本自带的卸载参数清理再切到 open-vm-tools。提示真要混装过并出现冲突先用dpkg -l | grep vmware和dpkg -l | grep open-vm列出两边的包理清楚再动手删除别凭感觉删容易把依赖搞坏。5. 装完才算数的联动功能共享文件夹、拖拽与分辨率调优安装和验证都过了接下来是把这些功能用起来。这一步才是让虚拟机真正好用的关键很多人装完就不管了其实还差几项配置。5.1 共享文件夹的配置与挂载共享文件夹是主机和虚拟机之间传文件最方便的方式。先在 VMware 虚拟机设置里找到选项→共享文件夹启用它然后添加一个主机上的目录起个名字比如share勾选启用此共享。回到 openKylin共享文件夹不一定自动出现需要手动挂载。先确认有没有挂载工具sudo apt install open-vm-tools -y which vmhgfs-fuse如果vmhgfs-fuse存在就可以挂载了sudo mkdir -p /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other执行完ls /mnt/hgfs应该能看到你刚才命名的共享目录。-o allow_other这个参数是为了让非 root 用户也能访问挂载的目录不加的话普通用户进去可能没权限。如果要开机自动挂载可以写进/etc/fstab加一行.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0改完 fstab 后用sudo mount -a测试一下确认不报错再重启。fstab 写错会导致开机进不了系统所以务必先测试。5.2 分辨率自适应与显示效果open-vm-tools-desktop装好并重启后分辨率自适应通常会自动生效你拖动虚拟机窗口openKylin 的桌面会跟着调整。如果没生效检查两点。一是确认装的是 desktop 包而不是只有基础包二是看显示设置里是不是被手动锁定了某个分辨率把它改成自动或者选一个和窗口匹配的分辨率。在全屏模式下如果画面有轻微模糊或者拉伸多半是缩放设置的问题可以在显示设置里调缩放比例。3D 加速如果虚拟机设置里开了桌面动画会更顺滑但也会占用更多主机资源按需开启即可。5.3 剪贴板与拖拽的开启方式剪贴板和拖拽是 open-vm-tools-desktop 提供的。装完重启后一般默认就通了你能在主机复制一段文字到虚拟机里粘贴。如果没反应去 VMware 的虚拟机设置里确认客户机隔离选项中的启用拖放和启用复制粘贴是勾选状态。这两个选项有些版本默认是关的尤其是较新的 VMware Workstation。进去手动勾上再重启一次虚拟机。剪贴板共享对日常操作帮助非常大从主机搜到的命令直接粘到终端执行省去手动敲的麻烦。5.4 时间同步这件小事最后提一个容易被忽略的功能时间同步。虚拟机长时间挂起、恢复之后系统时间容易和主机对不上导致日志时间错乱、证书校验失败之类的问题。open-vm-tools 自带时间同步能力可以用命令查看和手动同步# 查看时间同步状态 vmware-toolbox-cmd timesync status # 手动同步一次 sudo vmware-toolbox-cmd timesync enable开启后虚拟机会定期和主机对时。这个功能对做开发、跑定时任务的人尤其重要别等到日志时间莫名其妙才想起来查。我个人用下来只要记得把 open-vm-tools 和 open-vm-tools-desktop 两个包都装上、重启一次、再在虚拟机设置里把拖放和剪贴板的开关打开openKylin 在 VMware 里的体验就基本和物理机无异了。装的时候注意内核头文件版本和运行内核对齐别混装官方脚本和 open-vm-tools遇到报错就按光盘挂载、编译工具、内核头文件、权限这个顺序一条条查基本没有解决不了的。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →