您的位置:首页 > 运维架构

Parallels 10(v10.40) ubuntu desktop 14.04.4 无法安装Parallels tools

2016-07-07 17:00 489 查看
终于搞定了这个该死的问题,一直用paralles在mac上安装ubuntu,而且买的正版软件,可惜parallels是个提了裤子就不认账的主,本来有个ubuntu14.04虚拟机,升级了一下ubuntu导致我无法登陆,后来就索性删除了这个系统,直接重新安装ubuntu,可惜最后无法安装parallels tools,我用的是parallels 10的最新版v10.4.0,一直提示无法安装parallels tools,后来安装ubuntu 16.04,也无法安装Parallels tools,在官网上也没有提供为什么这样,后来他的官方论坛里找到了问题的解决方案,

地址:https://forum.parallels.com/threads/parallels-10-ubuntu-14-04-tools-will-not-install.336252/

用这个论坛的第8楼的解决方案就可以完美解决问题,我用中文记录如下

挂载 Parallels Tools镜像

打开一个terminal,执行如下命令(注意:这些命令一定要用命令行,不要用UI工具代替来执行,否则会有很多莫名其妙的错误,我第一次就遇到了好多错误)

cd /media/<username>/Parallels\ Tools/
mkdir ~/Desktop/tools
cp -pr * ~/Desktop/tools
cd ~/Desktop/tools
chmod -R 777 kmods


用解压缩工具打开~/Desktop/tools/kmods目录下的prl_mod.tar.gz压缩文件

在压缩工具里用gedit打开./prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c,在其他include的代码后面添加如下代码

#include <linux/vmalloc.h>


在压缩工具里用gedit打开./prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c,找到prlfs_follow_link (大约在650行)并修改为如下代码(包括 compat_follow_link_t):

#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
#define compat_follow_link_t const char*
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13)
#define compat_follow_link_t void*
#else
#define compat_follow_link_t int
#endif

#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
static compat_follow_link_t prlfs_follow_link(struct dentry *dentry, void  **cookie)
#else
static compat_follow_link_t prlfs_follow_link(struct dentry *dentry, struct nameidata *nd)
#endif
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
return do_read_symlink(dentry);
#else

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
nd_set_link(nd, do_read_symlink(dentry));
#endif

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13)
return NULL;
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
return 0;
#else
return vfs_follow_link(nd, do_read_symlink(dentry));
#endif
#endif
}


打开一个terminal (在~/Desktop/tools目录)并执行如下命令:

sudo ./install
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: