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

来源:互联网 发布:linux trap 编辑:程序博客网 时间:2024/06/06 07:39

终于搞定了这个该死的问题,一直用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楼的解决方案就可以完美解决问题,我用中文记录如下

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

    cd /media/<username>/Parallels\ Tools/mkdir ~/Desktop/toolscp -pr * ~/Desktop/toolscd ~/Desktop/toolschmod -R 777 kmods
  3. 用解压缩工具打开~/Desktop/tools/kmods目录下的prl_mod.tar.gz压缩文件

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

    #include <linux/vmalloc.h>
  5. 在压缩工具里用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)#elsestatic 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}
  1. 打开一个terminal (在~/Desktop/tools目录)并执行如下命令:

    sudo ./install
0 0