IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    wangjian5748发表于 2016-07-07 17:00:31
    love 0

    终于搞定了这个该死的问题,一直用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/tools
      cp -pr * ~/Desktop/tools
      cd ~/Desktop/tools
      chmod -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)
    #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
    }
    1. 打开一个terminal (在~/Desktop/tools目录)并执行如下命令:

      sudo ./install


沪ICP备19023445号-2号
友情链接