Ubuntu 17.04上的Vmware工作站


8

我最近更新到Ubuntu 17.04。不幸的是,由于内核模块无法安装,因此我无法运行VMware Workstation。

这是日志文件:

2017-04-16T12:59:06.065 + 01:00 | vthread-4 | I125:登录VMware Workstation pid = 6683版本= 12.5.2 build = build-4638234选项=发布
2017-04-16T12:59:06.065 + 01:00 | vthread-4 | I125:进程是64位。
2017-04-16T12:59:06.065 + 01:00 | vthread-4 | I125:主机代码页= UTF-8编码= UTF-8
2017-04-16T12:59:06.065 + 01:00 | vthread-4 | I125:主机是Linux 4.10.0-19-通用Ubuntu 17.04
2017-04-16T12:59:06.064 + 01:00 | vthread-4 | I125:DictionaryLoad:无法打开文件“ / usr / lib / vmware / settings”:没有这样的文件或目录。
2017-04-16T12:59:06.064 + 01:00 | vthread-4 | I125:在/ usr / lib / vmware / settings中找不到PREF可选首选项文件。使用默认值。
2017-04-16T12:59:06.064 + 01:00 | vthread-4 | I125:DictionaryLoad:无法打开文件“ /root/.vmware/config”:没有此类文件或目录。
2017-04-16T12:59:06.064 + 01:00 | vthread-4 | I125:在/root/.vmware/config中找不到PREF可选首选项文件。使用默认值。
2017-04-16T12:59:06.064 + 01:00 | vthread-4 | I125:PREF无法检查首选项文件的权限。
2017-04-16T12:59:06.064 + 01:00 | vthread-4 | I125:DictionaryLoad:无法打开文件“ /root/.vmware/preferences”:没有这样的文件或目录。
2017-04-16T12:59:06.064 + 01:00 | vthread-4 | I125:PREF无法加载用户首选项。
2017-04-16T12:59:06.107 + 01:00 | vthread-4 | W115:登录到/tmp/vmware-root/vmware-6683.log
2017-04-16T12:59:06.113 + 01:00 | vthread-4 | I125:使用正在运行的内核获取信息。
2017-04-16T12:59:06.113 + 01:00 | vthread-4 | I125:创建了新的pathHash。
2017-04-16T12:59:06.113 + 01:00 | vthread-4 | I125:将4.10.0-19-generic的标头路径设置为“ /lib/modules/4.10.0-19-generic/build/include”。
2017-04-16T12:59:06.113 + 01:00 | vthread-4 | I125:验证内核版本“ 4.10.0-19-generic”的路径“ /lib/modules/4.10.0-19-generic/build/include”。
2017-04-16T12:59:06.113 + 01:00 | vthread-4 | I125:无法找到/lib/modules/4.10.0-19-generic/build/include/linux/version.h
2017-04-16T12:59:06.113 + 01:00 | vthread-4 | I125:找不到/lib/modules/4.10.0-19-generic/build/include/linux/version.h,而是寻找generate / uapi / linux / version.h。
2017-04-16T12:59:06.113 + 01:00 | vthread-4 | I125:使用/ usr / bin / gcc进行预处理
2017-04-16T12:59:06.119 + 01:00 | vthread-4 | I125:预处理的UTS_RELEASE,值为“ 4.10.0-19-generic”。
2017-04-16T12:59:06.119 + 01:00 | vthread-4 | I125:内核“ 4.10.0-19-generic”的标头路径“ /lib/modules/4.10.0-19-generic/build/include”有效。hoo!
2017-04-16T12:59:06.247 + 01:00 | vthread-4 | I125:找到了符号版本文件/lib/modules/4.10.0-19-generic/build/Module.symvers
2017-04-16T12:59:06.248 + 01:00 | vthread-4 | I125:从/lib/modules/4.10.0-19-generic/build/Module.symvers中读取符号版本。
2017-04-16T12:59:06.265 + 01:00 | vthread-4 | I125:读取21363符号版本
2017-04-16T12:59:06.265 + 01:00 | vthread-4 | I125:读取vmmon模块的信息。
2017-04-16T12:59:06.265 + 01:00 | vthread-4 | I125:读取vmnet模块的信息。
2017-04-16T12:59:06.265 + 01:00 | vthread-4 | I125:读取vmblock模块的信息。
2017-04-16T12:59:06.265 + 01:00 | vthread-4 | I125:读取vmci模块的信息。
2017-04-16T12:59:06.265 + 01:00 | vthread-4 | I125:读取vsock模块的信息。
2017-04-16T12:59:06.265 + 01:00 | vthread-4 | I125:将vsock设置为依赖vmci。
2017-04-16T12:59:06.265 + 01:00 | vthread-4 | I125:在“ vmmon”上调用modinfo。
2017-04-16T12:59:06.267 + 01:00 | vthread-4 | I125:“ / sbin / modinfo”以状态256退出。
2017-04-16T12:59:06.267 + 01:00 | vthread-4 | I125:在“ vmnet”上调用modinfo。
2017-04-16T12:59:06.268 + 01:00 | vthread-4 | I125:“ / sbin / modinfo”以状态256退出。
2017-04-16T12:59:06.268 + 01:00 | vthread-4 | I125:在“ vmblock”上调用modinfo。
2017-04-16T12:59:06.269 + 01:00 | vthread-4 | I125:“ / sbin / modinfo”以状态256退出。
2017-04-16T12:59:06.269 + 01:00 | vthread-4 | I125:在“ vmci”上调用modinfo。
2017-04-16T12:59:06.270 + 01:00 | vthread-4 | I125:“ / sbin / modinfo”以状态256退出。
2017-04-16T12:59:06.270 + 01:00 | vthread-4 | I125:在“ vsock”上调用modinfo。
2017-04-16T12:59:06.271 + 01:00 | vthread-4 | I125:“ / sbin / modinfo”以状态0退出。
2017-04-16T12:59:06.286 + 01:00 | vthread-4 | I125:要安装:vmmon状态:0
2017-04-16T12:59:06.286 + 01:00 | vthread-4 | I125:要安装:vmnet状态:0
2017-04-16T12:59:06.308 + 01:00 | vthread-4 | I125:使用正在运行的内核获取信息。
2017-04-16T12:59:06.308 + 01:00 | vthread-4 | I125:将4.10.0-19-generic的标头路径设置为“ /lib/modules/4.10.0-19-generic/build/include”。
2017-04-16T12:59:06.308 + 01:00 | vthread-4 | I125:验证内核版本“ 4.10.0-19-generic”的路径“ /lib/modules/4.10.0-19-generic/build/include”。
2017-04-16T12:59:06.308 + 01:00 | vthread-4 | I125:无法找到/lib/modules/4.10.0-19-generic/build/include/linux/version.h
2017-04-16T12:59:06.308 + 01:00 | vthread-4 | I125:找不到/lib/modules/4.10.0-19-generic/build/include/linux/version.h,而是寻找generate / uapi / linux / version.h。
2017-04-16T12:59:06.308 + 01:00 | vthread-4 | I125:使用/ usr / bin / gcc进行预处理
2017-04-16T12:59:06.313 + 01:00 | vthread-4 | I125:预处理的UTS_RELEASE,值为“ 4.10.0-19-generic”。
2017-04-16T12:59:06.313 + 01:00 | vthread-4 | I125:内核“ 4.10.0-19-generic”的标头路径“ /lib/modules/4.10.0-19-generic/build/include”有效。hoo!
2017-04-16T12:59:06.434 + 01:00 | vthread-4 | I125:找到了符号版本文件/lib/modules/4.10.0-19-generic/build/Module.symvers
2017-04-16T12:59:06.434 + 01:00 | vthread-4 | I125:从/lib/modules/4.10.0-19-generic/build/Module.symvers中读取符号版本。
2017-04-16T12:59:06.451 + 01:00 | vthread-4 | I125:读取21363符号版本
2017-04-16T12:59:06.451 + 01:00 | vthread-4 | I125:从FileEntry检索到的内核头路径:/lib/modules/4.10.0-19-generic/build/include
2017-04-16T12:59:06.451 + 01:00 | vthread-4 | I125:将内核头文件路径更新为/lib/modules/4.10.0-19-generic/build/include
2017-04-16T12:59:06.451 + 01:00 | vthread-4 | I125:验证内核版本“ 4.10.0-19-generic”的路径“ /lib/modules/4.10.0-19-generic/build/include”。
2017-04-16T12:59:06.451 + 01:00 | vthread-4 | I125:无法找到/lib/modules/4.10.0-19-generic/build/include/linux/version.h
2017-04-16T12:59:06.451 + 01:00 | vthread-4 | I125:找不到/lib/modules/4.10.0-19-generic/build/include/linux/version.h,而是寻找generate / uapi / linux / version.h。
2017-04-16T12:59:06.451 + 01:00 | vthread-4 | I125:使用/ usr / bin / gcc进行预处理
2017-04-16T12:59:06.456 + 01:00 | vthread-4 | I125:预处理的UTS_RELEASE,值为“ 4.10.0-19-generic”。
2017-04-16T12:59:06.456 + 01:00 | vthread-4 | I125:内核“ 4.10.0-19-generic”的标头路径“ /lib/modules/4.10.0-19-generic/build/include”有效。hoo!
2017-04-16T12:59:06.457 + 01:00 | vthread-4 | I125:在“ / usr / bin / gcc”中找到了编译器
2017-04-16T12:59:06.459 + 01:00 | vthread-4 | I125:获得了gcc版本“ 6.3.0”。
2017-04-16T12:59:06.459 + 01:00 | vthread-4 | I125:GCC版本与内核GCC次要版本相匹配,就像手套一样。
2017-04-16T12:59:06.459 + 01:00 | vthread-4 | I125:使用用户提供的编译器“ / usr / bin / gcc”。
2017-04-16T12:59:06.461 + 01:00 | vthread-4 | I125:获得了gcc版本“ 6.3.0”。
2017-04-16T12:59:06.461 + 01:00 | vthread-4 | I125:GCC版本与内核GCC次要版本相匹配,就像手套一样。
2017-04-16T12:59:06.462 + 01:00 | vthread-4 | I125:尝试为内核“ 4.10.0-19-generic”找到合适的PBM集。
2017-04-16T12:59:06.462 + 01:00 | vthread-4 | I125:没有为内核“ 4.10.0-19-generic”找到匹配的PBM集。
2017-04-16T12:59:06.462 + 01:00 | vthread-4 | I125:GCC版本与内核GCC次要版本相匹配,就像手套一样。
2017-04-16T12:59:06.462 + 01:00 | vthread-4 | I125:验证内核版本“ 4.10.0-19-generic”的路径“ /lib/modules/4.10.0-19-generic/build/include”。
2017-04-16T12:59:06.462 + 01:00 | vthread-4 | I125:无法找到/lib/modules/4.10.0-19-generic/build/include/linux/version.h
2017-04-16T12:59:06.462 + 01:00 | vthread-4 | I125:找不到/lib/modules/4.10.0-19-generic/build/include/linux/version.h,而是寻找generate / uapi / linux / version.h。
2017-04-16T12:59:06.462 + 01:00 | vthread-4 | I125:使用/ usr / bin / gcc进行预处理
2017-04-16T12:59:06.468 + 01:00 | vthread-4 | I125:预处理的UTS_RELEASE,值为“ 4.10.0-19-generic”。
2017-04-16T12:59:06.468 + 01:00 | vthread-4 | I125:内核“ 4.10.0-19-generic”的标头路径“ /lib/modules/4.10.0-19-generic/build/include”有效。hoo!
2017-04-16T12:59:06.469 + 01:00 | vthread-4 | I125:GCC版本与内核GCC次要版本相匹配,就像手套一样。
2017-04-16T12:59:06.469 + 01:00 | vthread-4 | I125:验证内核版本“ 4.10.0-19-generic”的路径“ /lib/modules/4.10.0-19-generic/build/include”。
2017-04-16T12:59:06.469 + 01:00 | vthread-4 | I125:无法找到/lib/modules/4.10.0-19-generic/build/include/linux/version.h
2017-04-16T12:59:06.469 + 01:00 | vthread-4 | I125:找不到/lib/modules/4.10.0-19-generic/build/include/linux/version.h,而是寻找generate / uapi / linux / version.h。
2017-04-16T12:59:06.469 + 01:00 | vthread-4 | I125:使用/ usr / bin / gcc进行预处理
2017-04-16T12:59:06.475 + 01:00 | vthread-4 | I125:预处理的UTS_RELEASE,值为“ 4.10.0-19-generic”。
2017-04-16T12:59:06.475 + 01:00 | vthread-4 | I125:内核“ 4.10.0-19-generic”的标头路径“ /lib/modules/4.10.0-19-generic/build/include”有效。hoo!
2017-04-16T12:59:06.475 + 01:00 | vthread-4 | I125:使用临时目录“ / tmp”。
2017-04-16T12:59:06.476 + 01:00 | vthread-4 | I125:使用正在运行的内核获取信息。
2017-04-16T12:59:06.476 + 01:00 | vthread-4 | I125:将4.10.0-19-generic的标头路径设置为“ /lib/modules/4.10.0-19-generic/build/include”。
2017-04-16T12:59:06.476 + 01:00 | vthread-4 | I125:验证内核版本“ 4.10.0-19-generic”的路径“ /lib/modules/4.10.0-19-generic/build/include”。
2017-04-16T12:59:06.476 + 01:00 | vthread-4 | I125:无法找到/lib/modules/4.10.0-19-generic/build/include/linux/version.h
2017-04-16T12:59:06.476 + 01:00 | vthread-4 | I125:找不到/lib/modules/4.10.0-19-generic/build/include/linux/version.h,而是寻找generate / uapi / linux / version.h。
2017-04-16T12:59:06.476 + 01:00 | vthread-4 | I125:使用/ usr / bin / gcc进行预处理
2017-04-16T12:59:06.481 + 01:00 | vthread-4 | I125:预处理的UTS_RELEASE,值为“ 4.10.0-19-generic”。
2017-04-16T12:59:06.481 + 01:00 | vthread-4 | I125:内核“ 4.10.0-19-generic”的标头路径“ /lib/modules/4.10.0-19-generic/build/include”有效。hoo!
2017-04-16T12:59:06.608 + 01:00 | vthread-4 | I125:找到了符号版本文件/lib/modules/4.10.0-19-generic/build/Module.symvers
2017-04-16T12:59:06.608 + 01:00 | vthread-4 | I125:从/lib/modules/4.10.0-19-generic/build/Module.symvers中读取符号版本。
2017-04-16T12:59:06.626 + 01:00 | vthread-4 | I125:读取21363符号版本
2017-04-16T12:59:06.626 + 01:00 | vthread-4 | I125:在“ vmmon”上调用modinfo。
2017-04-16T12:59:06.628 + 01:00 | vthread-4 | I125:“ / sbin / modinfo”以状态256退出。
2017-04-16T12:59:06.628 + 01:00 | vthread-4 | I125:在“ vmnet”上调用modinfo。
2017-04-16T12:59:06.630 + 01:00 | vthread-4 | I125:“ / sbin / modinfo”以状态256退出。
2017-04-16T12:59:07.100 + 01:00 | vthread-4 | I125:将vmmon的目标路径设置为“ /lib/modules/4.10.0-19-generic/misc/vmmon.ko”。
2017-04-16T12:59:07.101 + 01:00 | vthread-4 | I125:从“ /usr/lib/vmware/modules/source/vmmon.tar”中提取vmmon源。
2017-04-16T12:59:07.106 + 01:00 | vthread-4 | I125:成功提取了vmmon源。
2017-04-16T12:59:07.106 + 01:00 | vthread-4 | I125:使用命令“ / usr / bin / make -j4 -C / tmp / modconfig-JzkDhJ / vmmon-only自动构建”来构建模块HEADER_DIR = / lib / modules / 4.10.0-19-generic / build / include CC = / usr / bin / gcc IS_GCC_3 =否”
2017-04-16T12:59:08.721 + 01:00 | vthread-4 | W115:无法构建vmmon。无法执行构建命令。
2017-04-16T12:59:08.723 + 01:00 | vthread-4 | I125:将vmnet的目标路径设置为“ /lib/modules/4.10.0-19-generic/misc/vmnet.ko”。
2017-04-16T12:59:08.723 + 01:00 | vthread-4 | I125:从“ /usr/lib/vmware/modules/source/vmnet.tar”中提取vmnet源。
2017-04-16T12:59:08.729 + 01:00 | vthread-4 | I125:成功提取了vmnet源。
2017-04-16T12:59:08.729 + 01:00 | vthread-4 | I125:使用命令“ / usr / bin / make -j4 -C / tmp / modconfig-JzkDhJ / vmnet-only自动构建”来构建模块HEADER_DIR = / lib / modules / 4.10.0-19-generic / build / include CC = / usr / bin / gcc IS_GCC_3 =否”
2017-04-16T12:59:10.142 + 01:00 | vthread-4 | W115:无法构建vmnet。无法执行构建命令。

2
让我们知道一些错误,您已收到消息。
Ravexina

Answers:


6

我有完全一样的问题。本文适用于我的解决方案:
如何在Linux 4.10内核上安装VMWare Workstation 12

  1. 正常安装VMware

    在我们的案例中,我们使用捆绑文件安装了VMware。要使捆绑包运行,您必须对其进行运行chmod u+x,然后运行:

    sudo ./VMware-Workstation-Full-12.5.bundle #(example filename)
    
  2. 安装GCC和构建必备

    sudo apt install gcc build-essential
    
  3. 修补VMware

    sudo tar -xf /usr/lib/vmware/modules/source/vmmon.tar
    sudo nano vmmon-only/linux/hostif.c
    

    在1162行附近,更改

    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
    retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
    #else
    retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
    numPages, 0, 0, ppages, NULL);
    #endif
    

    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
    retval = get_user_pages((unsigned long)uvAddr, numPages, 0, ppages, NULL);
    #else
    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
    retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
    #else
    retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
    numPages, 0, 0, ppages, NULL);
    #endif
    #endif
    

    保存文件并退出,然后:

    sudo tar -cf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only/
    sudo tar -xf /usr/lib/vmware/modules/source/vmnet.tar
    sudo nano vmnet-only/userif.c
    

    在第114行下方,更改

    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
    retval = get_user_pages(addr, 1, 1, 0, &page, NULL);
    #else
    retval = get_user_pages(current, current->mm, addr,
    1, 1, 0, &page, NULL);
    #endif
    

    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
    retval = get_user_pages(addr, 1, 0, &page, NULL);
    #else
    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
    retval = get_user_pages(addr, 1, 1, 0, &page, NULL);
    #else
    retval = get_user_pages(current, current->mm, addr,
    1, 1, 0, &page, NULL);
    #endif
    #endif
    

    保存文件,退出,然后再重新压缩该文件

     sudo tar -cf /usr/lib/vmware/modules/source/vmnet.tar vmnet-only/
    
  4. 再次运行VMware

  5. 现在,只需正常启动VMware,它应该正确安装vmon和vmnet。


无论如何,当您在命令行终端中时,您可以通过运行vmware-modconfig --console --install-all
SvenDowideit

-1

我正在运行Budgie 17.04,VMware运行良好。我只安装了构建工具:

sudo apt install gcc make

一旦启动VMware,它将成功编译所需的模块。

我使用的软件包是VMware-Player-12.5.5-5234757.x86_64.bundle

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.