kylin-v10-sp3-x86系统安装vmware-17

复制代码
cd /root   # 或你存放bundle的目录
chmod +x VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle
sudo ./VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle --console --required --eulas-agreed

参数说明:

  • --console:纯文本模式安装(服务器必用)

  • --required:只回答必要问题

  • --eulas-agreed:自动同意许可协议

2.2 安装过程交互

安装过程中命令行会提示几个问题:

提示 推荐回答
Do you agree? [yes/no]: 输入 yes
Would you like to check for product updates on startup? [yes]: 输入 no(离线环境)
Join the VMware Customer Experience Improvement Program? [yes]: 输入 no
Enter license key (optional): 直接按回车(试用30天)

之后安装程序会自动解压并复制文件,看到 Installation was successful 即表示安装完成。


⚙️ 第三步:安装后配置

3.1 编译内核模块

bash

复制代码
# 自动编译
vmware-modconfig --console --install-all

# 验证模块是否存在
lsmod | grep vm

如果提示vmmonvmnet加载失败,可以手动编译:

bash

复制代码
cd /usr/lib/vmware/modules/source
tar -xf vmmon.tar && tar -xf vmnet.tar
cd vmmon-only && make && cp vmmon.ko /lib/modules/$(uname -r)/misc/
cd ../vmnet-only && make && cp vmnet.ko /lib/modules/$(uname -r)/misc/
depmod -a
modprobe vmmon vmnet
3.2 启动VMware服务

bash

复制代码
systemctl restart vmware
systemctl status vmware   # 应显示 active (running)

✅ 第四步:验证安装

bash

复制代码
# 运行VMware(如果有图形界面)
vmware

# 或查看版本
vmware -v

预期输出VMware Workstation 17.5.2 build-23775571


🚨 离线安装常见错误及解决

错误 原因 解决方法
Kernel headers not found 缺少linux-headers 从ISO或同版本机器安装kernel-devel
gcc: command not found 缺少编译器 安装gccmake
Operation not permitted Kysec拦截 执行setstatus softmode -p
bundle: cannot execute binary file bundle损坏或架构不对 重新下载,检查file命令输出
vmmon.ko: invalid module format 内核版本不匹配 升级VMware版本或降级内核头文件

📌 成功标志

  • vmware -v 显示版本号

  • systemctl status vmware 显示 active (running)

  • lsmod | grep vm 能看到 vmmonvmnet

如果以上都正常,说明离线安装成功。遇到任何报错,请把完整的终端输出发给我,我帮你精准定位问题。

getstatus | grep kysec_status 没有任何输出

好的,getstatus | grep kysec_status 没有输出,说明这个系统里 getstatus 命令的输出格式可能不同,或者 Kysec 的状态信息不在那一行。

我们换几种方式来确认一下。


🔍 确认当前 Kysec 状态

方法一:直接运行 getstatus(不加 grep)

bash

复制代码
getstatus

这会显示完整的 Kysec 状态,你之前截图里那种 kysec_status=0 的格式应该会出现。请把输出发给我看看。

方法二:查看 Kysec 内核参数

bash

复制代码
cat /proc/sys/kernel/kysec/enforce

输出含义

  • 0 = Kysec 关闭

  • 1 = Kysec 开启(强制模式)

  • 2 = Kysec 开启(警告模式,只告警不拦截)

方法三:查看 Kysec 配置文件

bash

复制代码
cat /etc/sysconfig/kysec | grep -i mode
方法四:检查麒麟安全服务状态

bash

复制代码
systemctl status kysec

📌 根据你的情况判断

从你之前的截图来看,kysec_status=0selinux=0 都显示是关闭状态。如果你现在不确定,可以执行上面任意一个命令确认。

如果 Kysec 确实是关闭的kysec_status=0/proc/.../enforce 为 0),那么之前 virt-managerOperation not permitted 的问题就不是 Kysec 导致的,可能是其他原因(比如文件权限、SELinux 或者系统文件损坏)。

如果 Kysec 是开启的,安装 VMware 之前需要先关闭:

bash

复制代码
echo 0 > /proc/sys/kernel/kysec/enforce

✅ 建议的操作顺序

  1. 运行 getstatuscat /proc/sys/kernel/kysec/enforce 确认状态。

  2. 把输出结果发给我,我帮你判断是否需要关闭 Kysec。

  3. 确认后,再开始 VMware 的离线安装。

请把命令的输出贴出来,我们继续推进。

kylin-v10-sp3_x86 系统桌面离线如何安装VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle

好,在麒麟 V10 SP3 桌面版(x86_64)离线环境下安装 VMware Workstation,相比服务器版会简单一些,因为桌面版通常自带图形界面,可以用图形化安装向导。

但离线环境下,最大的挑战依然是依赖包和内核头文件。下面是完整步骤:


📦 第一步:离线安装前的准备工作

1.1 确认系统信息

bash

复制代码
uname -m          # 必须是 x86_64
uname -r          # 记录内核版本,例如 5.4.18-53.ky10.x86_64
cat /etc/os-release   # 确认是麒麟 V10 SP3

1.2 准备依赖包(需要在有网络的机器上提前下载)

在另一台同版本麒麟 V10 SP3(x86_64)且有网络的机器上执行:

bash

复制代码
# 创建工作目录
mkdir -p /tmp/vmware-offline-deps
cd /tmp/vmware-offline-deps

# 下载所有需要的依赖包(含子依赖)
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances build-essential | grep "^\w" | sort -u)

# 下载内核头文件(必须与离线机器内核版本完全一致)
# 假设离线机器内核是 5.4.18-53.ky10.x86_64,则执行:
apt-get download linux-headers-5.4.18-53.ky10.x86_64

# 下载其他必要依赖
apt-get download libelf-dev dpkg-dev

/tmp/vmware-offline-deps 目录下所有的 .deb 文件拷贝到 U 盘。

1.3 在离线机器上安装依赖

bash

复制代码
# 挂载U盘并复制文件
mkdir /mnt/usb
mount /dev/sdb1 /mnt/usb   # 根据实际设备名调整
cp -r /mnt/usb/vmware-offline-deps /root/

# 安装所有依赖
cd /root/vmware-offline-deps
dpkg -i *.deb 2>/dev/null
# 如果报依赖顺序错误,执行:
apt-get install -f -y --no-download --ignore-missing

🖥️ 第二步:关闭麒麟安全机制(Kysec)

桌面版麒麟默认开启 Kysec,会拦截未授权程序运行,必须先关闭:

bash

复制代码
# 临时关闭(重启后恢复)
setstatus softmode -p

# 验证
cat /proc/sys/kernel/kysec/enforce
# 输出 0 表示已关闭

🚀 第三步:安装 VMware Workstation

方案一:图形界面安装(推荐,最直观)

bash

复制代码
cd /root   # 或你存放 bundle 的目录
chmod +x VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle
sudo ./VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle

此时会弹出图形安装向导:

  1. Welcome → 点击 Next

  2. License Agreement → 勾选 I accept...,点击 Next

  3. Install Path → 保持默认 /usr/bin/vmware,点击 Next

  4. Product License Key → 输入密钥或勾选 Try VMware Workstation for 30 days,点击 Next

  5. 点击 Install,等待进度条完成

  6. 点击 Finish 完成

方案二:命令行安装(无图形界面时使用)

bash

复制代码
sudo ./VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle --console --required --eulas-agreed

交互提问时:

提示 回答
Do you agree? [yes/no]: yes
Check for updates? [yes]: no
Join CEIP? [yes]: no
Enter license key: 直接回车

⚙️ 第四步:安装后配置

4.1 编译内核模块

bash

复制代码
# 自动编译
sudo vmware-modconfig --console --install-all

# 如果自动编译失败,尝试手动编译
cd /usr/lib/vmware/modules/source
tar -xf vmmon.tar
tar -xf vmnet.tar
cd vmmon-only && make && sudo make install
cd ../vmnet-only && make && sudo make install
depmod -a
modprobe vmmon vmnet

4.2 启动服务

bash

复制代码
sudo systemctl restart vmware
sudo systemctl status vmware   # 应显示 active (running)

✅ 第五步:验证安装

bash

复制代码
# 打开 VMware Workstation 图形界面
vmware

如果能成功打开主界面,说明安装成功。


🚨 离线安装常见问题

问题 原因 解决方法
./bundle: cannot execute binary file bundle损坏或架构不对 检查file命令输出,确认是x86_64
Operation not permitted Kysec拦截 setstatus softmode -p
Kernel headers not found 头文件版本不匹配 精确匹配内核版本,uname -r查看
vmware-modconfig: command not found VMware未安装成功 检查/var/log/vmware-installer.log
vmware: command not found 环境变量未刷新 hash -r 或重新打开终端

📌 成功标志

  • vmware -v 显示 VMware Workstation 17.5.2 build-23775571

  • systemctl status vmware 显示 active (running)

  • lsmod | grep vm 能看到 vmmonvmnet


如果安装过程中遇到任何错误,请把完整的报错信息贴出来,我帮你精准排查。

本回答由 AI 生成,内容仅供参考,请仔细甄别。

/tmp/modconfig-ejrPF9/vmnet-only/userif.c: 在函数'VNetCsumCopyDatagram'中: 执行 vmware-modconfig --console --install-all 直接报错/tmp/modconfig-ejrPF9/vmnet-only/userif.c:87:39: 错误:'skb_frag_t {或称 const struct bio_vec}' has no member named 'page_offset'; did you mean 'bv_offset'? # define skb_frag_off(frag) (frag)->page_offset ^ /tmp/modconfig-ejrPF9/vmnet-only/userif.c:622:50: 附注:in expansion of macro 'skb_frag_off' tmpCsum = VNetCsumAndCopyToUser(vaddr + skb_frag_off(frag), ^~~~~~~~~~~~ make2: *** scripts/Makefile.build:303:/tmp/modconfig-ejrPF9/vmnet-only/userif.o 错误 1 make2: *** 正在等待未完成的任务.... make1: *** Makefile:1667:_module_/tmp/modconfig-ejrPF9/vmnet-only 错误 2 make1: 离开目录"/usr/src/kernels/4.19.90-89.11.v2401.ky10.x86_64" make: *** Makefile:117:vmnet.ko 错误 2 make: 离开目录"/tmp/modconfig-ejrPF9/vmnet-only" Unable to install all modules. See log for details.

这个报错非常典型,是 VMware 17.5.2 与 Linux 内核 4.19.x 的 API 不兼容导致的。

具体来说,Linux 内核在 4.19 版本中对 skb_frag_t 结构体的成员进行了重命名(page_offsetbv_offset),但 VMware 17.5.2 的 vmnet 模块源码仍然使用了旧的 page_offset,导致编译失败。


方案一:打补丁修复 vmnet 源码(推荐,快速)

手动修改 vmnet 模块源码,将 page_offset 替换为 bv_offset

bash

复制代码
# 1. 进入 vmnet 模块源码目录
cd /usr/lib/vmware/modules/source

# 2. 解压 vmnet.tar
tar -xf vmnet.tar

# 3. 修改 userif.c 文件
cd vmnet-only
vi userif.c

找到以下两行(大约在第 85-87 行附近):

c

复制代码
#ifndef skb_frag_off
#   define skb_frag_off(frag) (frag)->page_offset
#endif

将其修改为:

c

复制代码
#ifndef skb_frag_off
#   define skb_frag_off(frag) (frag)->bv_offset
#endif

保存退出后,重新打包并安装:

bash

复制代码
# 4. 重新打包
cd ..
rm -f vmnet.tar
tar -cf vmnet.tar vmnet-only

# 5. 重新执行编译
vmware-modconfig --console --install-all

验证修复结果

执行完方案一或方案二后,运行:

bash

复制代码
# 重新编译
vmware-modconfig --console --install-all

# 检查模块是否加载
lsmod | grep vm
# 应看到 vmmon 和 vmnet

# 启动服务
systemctl restart vmware
systemctl status vmware

为什么会有这个错误?

组件 原因
Linux 内核 4.19.90-89.11.v2401.ky10.x86_64 麒麟 V10 SP3 使用的内核版本较旧(4.19 LTS)
VMware 17.5.2 主要适配较新的内核(5.x+),对 4.19 内核的 API 兼容性有遗漏
page_offsetbv_offset Linux 内核 4.19 已将此成员改名,但 VMware 源码未同步更新

💡 建议

  1. 先尝试方案一(修改一行代码),2 分钟即可搞定。

  2. 如果后续还遇到其他模块编译错误,可能是同样的 API 不兼容问题,可以继续用类似方式修改。

  3. 如果未来需要长期稳定使用,建议在麒麟系统上改用 KVM(原生支持,无编译兼容问题)。

执行完方案一后,把终端输出发给我,我帮你确认是否还有其他错误。

相关推荐
小t说说1 小时前
技术观察:从职坐标看一家IT培训机构的课程体系与AI教学工具
大数据·人工智能
超级赛博搬砖工1 小时前
SEO代理解析:成功搜索引擎抓取你需要了解的事项
大数据·运维·服务器·网络
babe小鑫1 小时前
大数据专业课难度高,学数据分析的价值
大数据·数据挖掘·数据分析
terry6001 小时前
5G视频短信服务商选型全攻略:通道资源、架构能力与成本评估2026最新标准
大数据·人工智能·5g·json·asp.net·信息与通信·数据库架构
旗讯数字2 小时前
旗讯 OCR 工业手写识别解决方案|破解车间纸质表单录入难题,加速生产数字化转型
大数据·ocr
会Tk矩阵群控的小木2 小时前
抖音电商矩阵系统技术方案:多店铺账号运营管理全模块实现详解
大数据
小马爱打代码2 小时前
Elasticsearch 集群容器化部署:构建 PB 级搜索与分析平台
大数据·elasticsearch·搜索引擎
大黄说说2 小时前
码云数智门店系统赋能汽车服务门店全新发展
大数据·人工智能
盟接之桥2 小时前
电子数据交换(EDI)|制造业汽车零配件场景方案
大数据·网络·人工智能·安全·低代码·汽车·制造