Resolvendo problemas do VMware 12 com kernel 4.x

Quem precisa utilizar máquinas virtuais constantemente sabe que uma atualização de kernel pode acabar deixando as configurações totalmente inúteis. Recentemente passei por um problema com o VMware, onde depois de uma atualização do kernel, a aplicação não iniciava mais, ao que parece, a solução encontrada deve funcionar com todas as variações do kernel 4.x do GNU/Linux, a versão utilizada no fórum era 4.2.x e estou utilizando Ubuntu 16.04 com kernel 4.4.0.
Garimpando os fóruns atrás de como resolver, cheguei a seguinte solução (1) (Obs: logado como root):
sudo su
cd /usr/lib/vmware/modules/source
tar xvf vmnet.tar
cd vmnet-only
make
cd ..
tar xvf vmmon.tar
cd vmmon-only
Ao chegar nesse passo, foi necessário aplicar uma correção no arquivo linux/driver.c para que o make funcionasse (2).
Faça uma cópia do arquivo:
cp linux/driver.c linux.driver.c.old
nano linux/driver.c
Comente as linhas 390 a 393 e acrescente logo abaixo:
/* if (misc_deregister(&linuxState.misc)) {

      Warning("Module %s: error unregisteringn", linuxState.deviceName);

}*/

misc_deregister(&linuxState.misc);

Salve, feche e continue:

make
cd ..
mkdir /lib/modules/'uname -r'/misc
cp vmmon.o /lib/modules/'uname -r'/misc/vmmon.ko
cp vmnet.o /lib/modules/'uname -r'/misc/vmnet.ko
depmod -a
/etc/init.d/vmware restart
Após, saia do usuário root e digite no terminal (3):
export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1/:$LD_LIBRARY_PATH
echo /usr/lib/vmware/lib/libglibmm-2.4.so.1 | sudo tee -a /etc/ld.so.conf.d/LD_LIBRARY_PATH.conf
ldconfig

 

Agora, tente executar o VMware novamente.

Referências