红联Linux门户
Linux帮助

ubuntu desktop 14.04.4无法安装Parallels tools

发布时间:2016-07-08 09:43:58来源:mobile-open作者:linux人
终于搞定了这个问题,一直用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
 
本文永久更新地址:http://www.linuxdiyf.com/linux/22167.html