Eu tive exatamente o mesmo problema. A solução que funcionou para mim está neste artigo:
Como instalar o VMWare Workstation 12 no kernel do Linux 4.10
-
Instale o VMware normalmente
No nosso caso, instalamos o VMware com um arquivo de pacote. Para que o pacote seja executado, você precisa executar
chmod u+x
e, em seguida, executar:sudo ./VMware-Workstation-Full-12.5.bundle #(example filename)
-
Instalar o GCC e os fundamentos essenciais
sudo apt install gcc build-essential
-
Patch VMware
sudo tar -xf /usr/lib/vmware/modules/source/vmmon.tar sudo nano vmmon-only/linux/hostif.c
Na linha 1162, altere
#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
para
#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
Salve o arquivo e saia, em seguida:
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
Abaixo da linha 114, mude
#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
para
#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
Salve o arquivo, saia e repita esse também
sudo tar -cf /usr/lib/vmware/modules/source/vmnet.tar vmnet-only/
-
Execute o VMware novamente
-
Agora é só iniciar o VMware normalmente e ele deve instalar o vmon e a vmnet corretamente.