ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

VMware Tools 12安装升级避坑指南:从open-vm-tools到vSphere 8实践

VMware Tools 12安装升级避坑指南:从open-vm-tools到vSphere 8实践 简介这套 VMware Tools 12 软件包面向 VMware Workstation 与 vSphere 用户在虚拟机内安装用于提升虚拟机性能与宿主机交互体验尤其适合 Linux/Unix 虚拟机在离线或自定义内核环境下的完善。压缩包采用 gz 格式约 53.48MB共 1568 个文件以 .o 目标文件、.so 动态库、properties 配置、sh 脚本等为主体涵盖 3D 图形加速、网络/存储驱动、时间同步、动态内存调整、剪贴板拖放等组件所需的运行库与安装脚本。已有 1374 人学习下载说明其是虚拟化运维与桌面虚拟化场景中的常用组件。安装后可获得定制的显卡、网卡、存储控制器驱动改善图形密集型应用性能同时获得无缝拖放/复制粘贴、自动时间同步和更优电源管理让虚拟机更接近物理机使用体验对于内核模块编译或依赖库缺失的旧系统包内丰富的 .so/.sh 文件与配置脚本也能为手动补装提供便利。1. VMware Tools 12 和你之前装的 Tools 不是同一个东西装完系统先装 VMware Tools这句话在虚拟化环境里喊了十几年但 VMware Tools 12 已经不是那个“装一下就不管”的工具集了。它的内核驱动、用户态服务和安装包形态全跟着 vSphere 8 迭代过一轮。我接触 V12 的契机是一次模板升级几十台 Linux 虚拟机从 V11 批量切到 V12一半机器装完后屏幕分辨率、时间同步、内存气球都要逐个核对才发现这个版本对安装方式、客户机系统版本和升级顺序都有讲究。这篇只讲一件事VMware Tools 12 是什么、怎么按套路装到位、哪些坑会让你“装完等于没装”。适合正从 vSphere 7 往 8 迁、或在统一维护虚拟机模板的工程师。2. VMware Tools 12 改了什么选择安装方式之前先认清差异很多文档把 VMware Tools 12 说成“升级版工具包”但这会误导人。V12 最大的变化不在版本号而在它从“每个宿主机自带的 ISO”变成了“vCenter 统一管理的生命周期组件”。你如果还在按十年前的方式去搜索引擎找 vmware tools 安装包第一步就走偏了。2.1 从 ISO 到生命周期一体化V11 与 V12 的分发形态对比V11 时代的典型安装路径是挂载 ISO、进客户机跑 setup装完看服务状态就行。V12 在 vSphere 8 里不再鼓励你手动找包而是由 vCenter 持有 Tools 的版本清单虚拟机的“操作”菜单直接触发安装这个菜单背后会用 V12 的 ISO 或者基线里的安装源挂载到客户机光驱。ISO 仍然存在挂在数据存储上但正常流程里你是看不见它的。我把两边形态差异整理成一张表方便你在评估升级时直接对照。维度V11vSphere 7 时代常见V12vSphere 8 时代常见分发入口手动挂载 ISO客户机内双击运行vCenter 菜单触发托管安装源Linux 默认组件旧式 Toolsvmware-install.plopen-vm-tools/open-vm-tools-desktop内核模块签名部分版本未强制签名默认签名Secure Boot 环境需导入证书升级入口手动重跑安装向导vCenter 客户机选项里的升级策略版本来源与 ESXi 版本松耦合与 vSphere 基线版本绑定这张表透露出一个关键点Linux 客户机从 V12 起真正在跑的东西很大概率是 open-vm-tools 而不是旧式 Tools。open-vm-tools 的版本号曾经和 VMware Tools 错位但在 V12 这条线上两边已经对齐。你去 Ubuntu 里用 apt 装的 open-vm-tools 由发行版负责打包版本可能落后 V12 一点功能等价这正是 vSphere 8 官方推荐路线。如果你因为内部合规必须统一到 V12 版本号那就不能靠发行版源得从 vCenter 挂载 V12 ISO用 tar 解包再跑 vmware-install.pl。这条路在 vSphere 8 里仍然支持但没有图形化帮助后面第三章我会给出具体命令。先记住一句话别再去第三方站点找安装包vCenter 的“安装 VMware Tools”按钮才是正源。2.2 驱动与用户态各管一摊装上不等于完全生效VMware Tools 12 拆开看是两个层次。底层是内核模块和驱动程序vmxnet3 网卡驱动、SVGA 显示驱动、vmmemctl 内存气球驱动上层是用户态进程 vmtoolsd负责时间同步、心跳上报、客户机检测、静默运行等。驱动层决定设备正不正常用户态决定 vCenter 里“已安装/已运行”的状态和一堆附加功能。这带来一个常见误解服务状态 active就以为一切正常。Linux 上如果你只装了 open-vm-tools 而没装 open-vm-tools-desktopvmtoolsd 服务是好的vCenter 也能看到 Tools 已运行但图形界面没有分辨率自适应、拖拽文件和剪贴板共享统统不好使。V12 的安装包在 Linux 上不再替你隐式补这些组件装的时候得自己想清楚要不要桌面增强。Windows 那边同理安装程序是一个 MSI 包里面分图形、网络、内存、用户态等多个特性。默认 ADDLOCALALL 是全装但如果你从旧版升级某些组件没选上就会出现“版本是最新的功能却少了”的状态。我的习惯是安装后立刻去看控制面板里 VMware Tools 的修改入口确认图形驱动和 WDDM 驱动项都在。V12 在 Windows 上还引入了更多对 SHA-2 签名和系统补丁的要求这个放到第五章避坑里细说。2.3 升级前核对清单虚拟硬件、客户机系统与现有 Tools 状态从 V11 切 V12我不是直接批量升级而是先做一轮核对。核对项有五条任何一条不满足都可能让装好的 Tools 显示“过时”。第一宿主和 vCenter 版本。V12 的安装源是跟着 vSphere 8 基线来的vSphere 7 Update 版本有部分支持但兼容矩阵不完全一样升级前先在集群层面确认宿主机版本。第二虚拟硬件版本。V12 的驱动和用户态对较新的虚拟硬件要求更高虚拟机硬件版本在 14 以下的vCenter 可能不给你分配 V12 安装源或者装完 Tools 状态仍然过时。第三客户机系统支持度。Windows 7 这类老系统不是装不上而是缺系统补丁时安装包直接报错这个在 5.2 单独讲。第四现有 Tools 状态。装过 10.2.5 时代旧包的虚拟机升级到 V12 前最好把旧组件彻底清一遍Registry 残留会导致启动脚本失败。第五快照。升级 Tools 会碰驱动和服务快照里做升级属于给自己留后悔药但回滚后要重装一次不能直接当无事发生。这五条里快照是血泪经验。一次计划外重启把 MSI 写到一半的虚拟机打回旧快照Tools 服务直接起不来最后花的时间比重装一遍还多。你在生产环境动 Tools 前至少做一个一致性快照并且告诉操作的人“失败别硬救回滚后按重装走”。3. 安装 VMware Tools 12 的两条主路径Linux 与 Windows把选型想清楚后安装本身反而简单。V12 的安装路径就两条拉开的线Linux 走 open-vm-toolsWindows 走安装包静默参数。两条线的动作和检查点不一样我分开写。3.1 Ubuntu 与 RHEL 系装 open-vm-tools三条命令跑通Ubuntu 装 VMware Tools 的第一反应是 apt这个方向是对的但很多人只装 open-vm-tools 而漏掉桌面组件。完整命令如下。# Debian / Ubuntu sudo apt update sudo apt install -y open-vm-tools open-vm-tools-desktop sudo systemctl enable --now vmtoolsd # RHEL / CentOS / Rocky sudo dnf install -y open-vm-tools-desktop sudo systemctl enable --now vmtoolsdapt install 后面带两个包open-vm-tools 是核心服务open-vm-tools-desktop 提供 X 相关工具比如分辨率自适应和剪贴板。只装前者服务正常但桌面体验不完整只装后者依赖会自动拉核心包但 service 状态可能没被 enable。最后的 systemctl enable --now vmtoolsd 同时完成开机自启和即时启动是我每次批量安装后必跑的一步能避免“重启后一切正常、刚开机时功能缺失”的怪问题。RHEL 系注意一点open-vm-tools-desktop 这个包在最小化安装的仓库里可能没启用用 dnf install 之前先确认 AppStream 仓库可用。装完做个快速验证。vmware-toolbox-cmd --version systemctl status vmtoolsd --no-pagervmware-toolbox-cmd --version 输出的版本号是 open-vm-tools 的版本它会显示成 12.x 或更早的 11.x取决于发行版打包进度。如果你的合规要求严格的 V12 版本号需要改走 vCenter 挂载 ISO 的旧式 Tools 路径。这个路径在 vSphere 8 里依然可用光驱挂上 ISO 后解压其中的 VMwareTools-12.x.x-xxxxxx.tar.gz进解压目录执行 sudo ./vmware-install.pl -d-d 参数表示接受默认值一路装完。tar 包里的文件和依赖关系实际上就是内核模块的编译源和用户态二进制所以要求客户机有编译器和内核头文件这点在容器化的精简系统上很容易卡住。3.2 Windows 静默安装setup64.exe 与 MSI 参数怎么配vCenter 里对 Windows 虚拟机点“安装 VMware Tools”后ISO 会自动挂到光驱。手动场景下进入光驱盘符双击 setup64.exe 也能走图形向导。生产环境几十台机器不能双击我用静默参数。# 从挂载的光驱盘符执行静默安装 D:\setup64.exe /s /v/qn ADDLOCALALL REBOOTReallySuppress # 安装后确认服务状态 Get-Service -Name VMwareTools | Select-Object Status, StartTypesetup64.exe 是 InstallShield 打包的外层/s 让它不弹界面/v 后面那段是传给内层 MSI 的参数/qn 表示 MSI 静默ADDLOCALALL 表示全功能安装REBOOTReallySuppress 阻止安装程序擅自重启。三个参数的含义必须分开记因为它们作用在不同层。缺了 /s 会弹窗口缺了 /qn 会在 MSI 阶段卡住缺了 REBOOTReallySuppress 则可能在深夜升级时把所有 Windows 虚拟机顺带重启一遍。生产环境装完我不会马上重启而是先把服务状态和驱动版本确认好再按维护窗口统一重启。安装包里的 MSI 还支持按组件控制ADDLOCALVMXNet3,VMwareTools 这类写法只装网卡驱动和用户态。少用因为被砍掉的组件以后排查起来很费劲。Windows 端最终检查项是任务栏的 VMware Tools 图标和系统服务里的“VMware Tools”服务两者都在才说明用户态起来注意这是“服务”而不是“进程”。3.3 手工挂载 Tools 安装包VMware Workstation 17 的菜单变化与光驱类型vm17 之后怎么安装 VMware Tools 是这段时间被问得很多的问题。一个容易混淆的地方是Workstation 17 的“虚拟机”菜单里仍然有“安装/重新安装 VMware Tools”但挂载的是 Workstation 自带的那套 Tools和 vSphere 8 的 V12 不是同一个版本源。你想在 Workstation 里跑 V12 安装包就要手动把 V12 ISO 挂给光驱。# Linux 客户机确认光驱是否识别挂载的 ISO lsblk /dev/sr0 sudo mkdir -p /mnt/cdrom sudo mount /dev/sr0 /mnt/cdrom ls /mnt/cdrom/dev/sr0 是常见光驱设备名如果你的客户机光驱名称不同用 lsblk 输出里的 sr* 设备对应。挂载前先去虚拟机设置里确认 CD/DVD 驱动器连接的是 ISO 文件并且勾选了“启动时连接”否则 ISO 在客户机里不会自动出现。光驱类型建议选 SATA 或 IDE不要选 NVMe 控制器下的虚拟光驱个别老客户机在特定控制器的光驱上会出现 ISO 不识别的问题这是我在 Windows Server 2008 上实际遇到过的情况。Workstation 菜单只在“客户机未装 Tools”或 Tools 版本过旧时显眼装了新版后菜单入口会变成灰色。这不是故障是 Workstation 检测到版本匹配后的正常行为。vSphere 环境里没有这种计算它只按 vCenter 的基线判断。4. 用 vmware-toolbox-cmd 校验安装版本、时间同步与内存气球装完不是终点。V12 的“已安装”状态和“真的在工作”是两回事下面这条命令序列是我每次装完必跑的校验也是排查时最先用的工具。4.1 高频校验命令一条条验证你的 Tools 是否真的健康# 版本确认最少能看到 11 或 12 的主版本号 vmware-toolbox-cmd --version # 宿主机时间与虚拟机时间的心跳关系 vmware-toolbox-cmd stat hosttime # 内存气球当前值单位 KB vmware-toolbox-cmd stat balloon # 客户机启动至今的时间 vmware-toolbox-cmd stat uptime # 时间同步开关状态 vmware-toolbox-cmd timesync status # 当前会话标识vCenter 检测客户机用的 vmware-toolbox-cmd stat sessionid每条命令都有自己的“健康”标志。--version 不再多说stat hosttime 返回的是 UTC 时间戳和客户机 date -u 对比分钟级偏差说明时间同步或 NTP 有问题stat balloon 输出当前被宿主机回收的内存长期为 0 可能说明气球驱动没加载timesync status 输出 enabled 或 disabled配合你在 vCenter 里的同步设置看。这套命令的另一个用途是确认谁在干活。比如你明明装了 open-vm-tools-desktop但剪贴板还是不通stat sessionid 的值不对说明 vmtoolsd 虽然活着但和 vCenter 的会话没有建立起来。这时候先重启 vmtoolsd 服务再查一次比反复注销重登更有效。命令的返回值不一定规范地告诉你“OK”很多情况下你是在看一个数值然后判断它是否在合理区间。这个判断习惯比命令本身值钱。4.2 时间同步与内存气球两个最容易自信过头的地方VMware Tools 12 内置时间同步功能的默认行为是跟着 ESXi 走但生产环境几乎都不应该让 Tools 抢时钟的活。时间漂移这个事很多时候被当成玄学查到最后发现是 Tools 的 timesync 和客户机里的 chrony/Windows Time 在互相拉扯。两个同步源会周期性互相校正表现就是时钟稳几小时然后突然跳几十秒。我的做法是明确分工客户机有 NTP/域时间源就让 Tools 闭嘴。Linux 里改这个文件# /etc/vmware-tools/vmtoolsd.conf [vmtoolsd] # FALSE 表示关闭 Tools 的时间同步由系统 NTP 负责 timesync.enable FALSE改完重启服务sudo systemctl restart vmtoolsd再用 vmware-toolbox-cmd timesync status 确认输出变成 disabled。Windows 上更干净的开关其实在 vCenter 虚拟机选项里编辑虚拟机设置客户机操作系统那一栏里取消“与 ESXi 主机同步客户机时间”的勾选本地的 Windows Time 服务就能独立工作。内存气球是另一个容易自信过头的地方。vmmemctl 的目的不是给虚拟机省内存而是让宿主机在内存压力下有机会从空闲客户机收回页面。vmware-toolbox-cmd stat balloon 回显的数值如果长期贴着客户机内存上限跑说明宿主机正在过压回收应用层的表现通常是不明原因的卡顿。你要做的不是忙着调 Tools 参数而是查宿主机内存是否充足、其他虚拟机是否超配。V12 没有改变气球的回收逻辑但改了它和虚拟内存热添加的协作方式升级后如果发现 balloon 值异常先检查虚拟机的内存热添加开关是否和 Tools 版本匹配。4.3 看日志判断 Tools 是否正常别只看任务栏图标任务栏图标在不代表没有内伤。日志才是判断 Tools 是否健康的可靠来源。# Linux查看 vmtoolsd 最近一小时日志 journalctl -u vmtoolsd --since 1 hour ago --no-pager # 查看旧式 Tools 升级器日志如果走 ISO 升级过 less /var/log/vmware-tools-upgrader.logjournalctl 里看到 vmtoolsd 正常加载配置文件的记录即可重点关注有没有 “failed”“timeout”“unable to open” 这类关键词。upgrader 日志主要在旧式 Tools 走 ISO 安装时生成里面出现 GatherDriver 之类的进度信息是正常的出现 Failed to send 则说明 vmtoolsd 服务在升级过程中没起来。Windows 的日志位在事件查看器的应用程序日志来源是 VMware Tools。安装失败时还会在 %TEMP% 下生成 vmmsi 开头的日志文件里面能看到 MSI 卡在哪个文件或哪个服务上。排查这类问题时日志时间戳一定要和操作时间对齐否则你会被几个旧的报错误导。5. VMware Tools 12 升级避坑启动脚本失败与四个高发问题下面五条是我在批量升级和日常维护里实际趟过的坑。前四条的触发条件各不相同但特征都是“装完看不出问题用时才发现没生效”。5.1 “VMware Tools 启动脚本未能在虚拟机中成功运行”现象、原因、解决现象Windows 客户机重启后任务栏没有 VMware Tools 图标服务列表里 VMware Tools 服务是停止的或者事件日志里出现“VMware Tools 启动脚本未能在虚拟机中成功运行”的完整提示。原因一般在三个方向旧版 Tools 卸载不干净注册表里残留的服务启动参数指向已删除的路径安装时 REBOOTReallySuppress 且后续没重启部分驱动登记没落地安全软件拦截了 vmtoolsd.exe 的服务注册。解决的顺序是先看服务路径指向哪里。# 查看服务登记的实际路径 sc.exe qc VMware Tools # 路径正确但服务停止手动拉起 sc.exe start VMware Tools如果 qc 输出的 BINARY_PATH_NAME 指向不存在的目录就是旧版残留注册中断了。这时候不要在服务管理器里改路径硬救把残留服务删掉后重装更省时间。重装前先卸载现有组件再清理残余目录 C:\Program Files\VMware\VMware Tools然后按 3.2 的静默命令重跑一遍。启动脚本报错这句话本身不致命但它往往是上述三个原因之一冒头的信号别用“忽略并继续”的心态处理。5.2 Windows 7 上装 V12 翻车三个前置条件没满足现象Windows 7 虚拟机跑 V12 安装包出现“无法找到所需文件”或者 MSI 卡在配置阶段事件日志里是签名校验失败。原因V12 的安装程序和驱动均使用 SHA-2 算法签名Windows 7 在不打补丁的状态下无法完成证书校验。另一个问题是安装包依赖较新的 Windows Installer 和 VC 运行库老系统默认版本不够。解决顺序是先把系统补丁打到位。KB4474419 是 SHA-2 代码签名支持补丁KB4490628 里面带了服务栈和 TLS 1.2 支持两个都装上再跑 V12 安装包。装完再检查虚拟硬件版本Windows 7 的旧模板往往还在硬件版本 10 左右先升虚拟硬件再装 Tools顺序反了会出现 Tools 装上但 vCenter 里状态仍然过时。5.3 Linux 内核模块签名被 Secure Boot 拦掉升级后无故消失现象Linux 虚拟机升级 V12 后vmtoolsd 服务 active但 systemctl 里网卡服务或显示相关模块报错dmesg 里出现 “Module has bad ELF signature” 或类似的内核模块签名拒绝记录。原因V12 的内核模块默认签名Secure Boot 开启时内核只加载 MOK 库里信任的证书。VMware 的签名证书需要显式导入装包时的自动导入不一定成功尤其在签名密钥变更后重启直接把模块拦掉。解决是用 mokutil 导入 VMware 的密钥。证书文件在装包时已经放到系统里路径因发行版而异先找一下。# 定位 VMware 签名证书再导入 MOK sudo find /usr /var -iname *vmware*key* -o -iname *.der 2/dev/null sudo mokutil --import /path/to/vmware.der sudo reboot重启后机器会进入蓝色的 MokManager 引导界面选择 Enroll key 并确认导入再重启才能生效。注意 Secure Boot 关闭的机器不需要这步但关闭 Secure Boot 本身可能违反安全基线所以我不推荐用关 SB 来解决。RHEL 系当前对内核模块的加载还受签名内核限制如果你在执行后发现模块仍然被拒对照发行版的内核版本再查一次 open-vm-tools 的包版本别把“模块被拒”和“工具没装”混为一谈。5.4 Tools 状态一直显示“过时”可能是虚拟硬件版本没跟上现象vCenter 客户机会话显示 VMware Tools 状态“过时Out of Date”可你在客户机里跑 vmware-toolbox-cmd --version看到的是 12.x。原因vCenter 判定 Tools 是否过时不只看 Tools 自身版本还看它和虚拟硬件版本的兼容关系。虚拟硬件版本停留在旧档的虚拟机即使 Tools 升到 V12状态也可能被基线判定为过时因为它不具备某些新硬件能力。解决是先把虚拟硬件升到目标版本再重装或重跑一次 Tools 升级。# 先关机再升硬件版本最后更新 Tools Get-VM -Name vm02 | Set-VM -Version v17 -Confirm:$false Get-VM -Name vm02 | Update-Tools -NoRebootSet-VM -Version 的具体取值要看你的 vCenter 能提供的最高版本v17 起通常是 vSphere 8 里的常见档位。先升硬件再 Update-Tools顺序不能反反了之后 Tools 状态照样过时。硬件升级要求虚拟机处于关机状态所以这条操作只能放在维护窗口。如果你对升级期间没有其他变更负责就把硬件版本和 Tools 版本写在同一个变更单里避免只改一半。5.5 快照内升级失败残留服务怎么彻底清理现象有快照的虚拟机做 Tools 升级中途超时或被强制重启回滚到升级前快照后服务状态混乱工具版本显示成一个不存在的中间状态。原因Windows Installer 在快照回滚后可能出现注册表与文件系统不一致服务登记活着但二进制文件属于另一个版本。快照帮你回到了升级前状态但残留的 MSI 事务没有清理干净。解决是快照回滚后不要尝试直接“修复”安装按重装走一遍。# 卸载当前登记组件清理残余重新安装 Get-Package *VMware*Tools* | Uninstall-Package -Force Remove-Item C:\Program Files\VMware\VMware Tools -Recurse -Force -ErrorAction SilentlyContinue # 回到 3.2 的静默安装命令继续先卸载再删目录最后重装。中途任何一步失败继续往下走最终以重装后的服务状态为准。快照本身仍然是 Tools 升级操作的正确保护措施前提是升级失败后不回滚了事而是把回滚当作“恢复到重装前的初始状态”。这个习惯帮我省了不少时间。6. 把 VMware Tools 12 固化进模板机批量升级与回滚的实操技巧Tools 升级做一次不难难的是让每个新交付的虚拟机都从 V12 起步。模板机里做一些收尾动作可以避免克隆后的机器带着一堆调试痕迹。6.1 模板机里的三个清理动作第一停掉时间同步并清空日志。模板机的时间策略应该交给客户机自身的 NTP而不是把自己和某个 ESXi 主机的时钟锁死。第二清掉升级器和 vmtoolsd 日志模板导出时这些日志会被带进镜像增加体积且暴露宿主机信息。第三重置机器标识避免克隆机碰撞。sudo vmware-toolbox-cmd timesync disable sudo truncate -s 0 /var/log/vmware-tools-upgrader.log 2/dev/null || true sudo rm -f /etc/machine-id sudo systemd-machine-id-setup第三条只针对 Linuxmachine-id 重建后克隆出的机器各自有独立标识DHCP 和大规模部署时的冲突会少很多。Windows 模板则要在 sysprep 流程里选择“通用”选项VMware Tools 的客户机定制项会自动处理大部分残留。6.2 用 PowerCLI 扫全集群找出所有没跟上 V12 的虚拟机模板固化后我习惯在批量升级完成后用 PowerCLI 把整个集群拉一遍防止漏网之鱼。Connect-VIServer -Server vc01.example.com Get-Cluster -Name PROD | Get-VM | ForEach-Object { [PSCustomObject]{ VM $_.Name ToolsStatus $_.ExtensionData.Guest.ToolsStatus ToolsVersion $_.ExtensionData.Guest.ToolsVersion UpgradePolicy $_.ExtensionData.Config.Tools.ToolsUpgradePolicy } } | Sort-Object ToolsVersion | Format-TableToolsVersion 是 vSphere API 里的内部整数编码10.2.5 那批机器显示为 10xxx 附近V12 显示为 12xxx 附近。别拿它当版本号直接对着念用途是快速把旧批次找出来。ToolsStatus 为 “toolsNotInstalled” 的机器要单独看那说明客户机里 Tools 服务整个没起来。UpgradePolicy 输出 manual 或 automatic配合 vCenter 客户机选项里的升级策略用automatic 策略会在条件满足时自动升级省事但可能在不期望的时间触发。我一般保持 manual把升级时机放进变更窗口。我的一个固定习惯是任何 Tools 批量动作之前先把整个批次的虚拟机快照一一确认再跑升级。快照是回滚的后悔药V12 的驱动和 MSI 安装已经比旧版稳定得多但谁都不能保证升级过程中宿主机不出意外。这套流程走下来V12 才真正算“可用”而不是“已安装”。希望帮到你。本文还有配套的精品资源点击获取
返回列表