Ubuntu Kylin 15.04下安装vmware 11不能用的解决方法

本文提供了一种解决VMware11不支持UbuntuKylin15.04及Linux3.19内核的问题的方法。通过修改源代码中的特定部分来实现兼容性,使用户能够在该版本的Ubuntu上成功运行VMware11。

首先VMware 11的支持名单中还没有Ubuntu Kylin 15.04,实质上该版本不支持Linux 3.19内核,以下为解决方法

解决方法:

$ cd /usr/lib/vmware/modules/source
$ sudo tar -xvf vmnet.tar

修改 driver.c 和 userif.c:

在 vmnet-only/driver.c  267 行
把:

if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
ret = VNetFileOpIoctl(filp->f_dentry->d_inode, filp, iocmd, ioarg);
}
return ret;
}

变为:

#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
ret = VNetFileOpIoctl(filp->f_dentry->d_inode, filp, iocmd, ioarg);
}
return ret;
#else
if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
ret = VNetFileOpIoctl(filp->f_path.dentry->d_inode, filp, iocmd, ioarg);
}
return ret;
#endif
}

在 1194 行把:

if (filp && filp->f_dentry) {
inode = filp->f_dentry->d_inode;
}
err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
return err;

变为:

#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
if (filp && filp->f_dentry) {
inode = filp->f_dentry->d_inode;
}
err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
return err;
#else
if (filp && filp->f_path.dentry) {
inode = filp->f_path.dentry->d_inode;
}
err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
return err;
#endif

在 vmnet-only/userif.c – 526 行把:

return skb_copy_datagram_iovec(skb, 0, &iov, len);

变为:

#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
return skb_copy_datagram_iovec(skb, 0, &iov, len);
#else

struct iov_iter to;
iov_iter_init(&to, READ, &iov, 1, len);
return skb_copy_datagram_iter(skb, 0, &to, len);
#endif

$ sudo tar -cvf vmnet.tar vmnet-only/
$ sudo rm -rf vmnet-only/
$ sudo vmware-modconfig --console --install-all


### 解决 Ubuntu Kylin 系统下 VMware Tools 安装失败问题 对于在 Ubuntu Kylin 系统中遇到的 VMware Tools 安装失败问题,可以采取一系列措施来解决问题并成功完成安装。 #### 卸载现有 VMware Tools 如果之前已经尝试过安装 VMware Tools 并遇到了问题,则建议先完全卸载现有的工具包。这可以通过运行以下命令实现: ```bash sudo ./vmware-uninstall-tools.pl ``` 此操作会移除任何残留文件或配置项,从而减少新安装过程中可能出现冲突的风险[^3]。 #### 更新软件源列表 为了确保能够获取最新的软件包及其依赖关系,在继续下一步前应更新本地系统的APT缓存数据。通过执行如下指令刷新可用资源库的信息: ```bash sudo apt update ``` 该步骤有助于提高后续安装的成功率以及获得更稳定的性能表现。 #### 使用官方仓库中的 Open VM Tools 进行替代安装 考虑到 VMware 提供的传统方式可能不再适用于较新的 Linux 发行版,推荐采用由社区维护和支持的 `open-vm-tools` 来代替传统方法。具体来说就是利用 APT 包管理器来进行安装: ```bash sudo apt-get install open-vm-tools-desktop fuse ``` 上述命令不仅会下载必要的组件,还会自动处理所需的依赖关系,并且包含了桌面集成功能以增强用户体验[^4]。 #### 验证安装效果 一旦完成了以上步骤之后,重启虚拟机使更改生效。随后应该可以看到 VMware 的一些特性如拖放、复制粘贴等功能恢复正常工作状态;同时也可以检查 `/usr/bin/vmtoolsd` 文件是否存在作为确认手段之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值