Linux host + VMPlayer + Windows guest: tips & tricks

Se hai necessità di eseguire una Virtual Machine con Windows 10, il tuo sistema operativo host è Linux, e il tuo virtualizzatore è VMWare player ho alcuni consigli pratici per l’utilizzo che ti eviteranno fastidiosi grattacapi.

Secure Boot e update al kernel Linux

Ogni volta che aggiornerai il kernel di Linux in un computer protetto da Secure Boot, VMWare Player non partirà più perché i moduli ricompilati non saranno autorizzati da UEFI.

Per sistemare il problema senza farla tanto lunga è sufficiente digitare questi comandi e riavviare il computer.

openssl req -new -x509 -newkey rsa:2048 -keyout /tmp/MOK.priv -outform DER -out /tmp/MOK.der -nodes -days 36500 -subj "/CN=VMware/"
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 /tmp/MOK.priv /tmp/MOK.der $(modinfo -n vmmon)
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 /tmp/MOK.priv /tmp/MOK.der $(modinfo -n vmnet)
echo "Type a password to import the VMware keys into the UEFI"
sudo mokutil --import /tmp/MOK.der
echo "Reboot you system and import keys to UEFI when prompted by typing the password you just typed."

Al riavvio UEFI chiederà di importare le nuove chiavi: rispondi affermativamente e prosegui con il boot.

Ora VMWare Player funzionerà correttamente.

Consiglio di salvare queste poche righe in uno script shell, perché l’aggiornamento del kernel linux non è infrequente.

Windows 10 al reboot/shutdown blocca Linux

Un noto problema di chi ospita Windows 10 in una VM su Linux con VMWare Player è il blocco di Linux quando si va a spegnere/riavviare la VM Windows. Il blocco è talmente “grave” che l’unico modo è spegnere fisicamente il computer host con il pulsante di spegnimento.

Per ovviare al problema è sufficiente creare un wrapper allo script originale che esegue vmplayer.

Crea ad esempio il file /usr/local/bin/myvmplayer con il seguente codice:

#!/bin/sh

mount | grep "$HOME/vmware on $HOME/vmware" > /dev/null

if [[ $? -ne 0 ]]; then
  sudo mount -o multithreaded -t fuse.bindfs $HOME/vmware /$HOME/vmware > /dev/null
  if [[ $? -ne 0 ]]; then
    echo "Bindfs mount failed. Please check if bindfs is correctly installed."
    exit 1
  fi
fi

/usr/bin/vmplayer "$@"

sudo umount $HOME/vmware > /dev/null

exit 0

E sostituiscilo nel menu del desktop Linux che nativamente invoca

/usr/bin/vmplayer "$@" 

con

/usr/local/bin/myvmplayer "$@"

Lancia ora VMWare Player tramite il nuovo script e il problema sarà risolto.

Windows 10: Audio distorto o assente

Un altro noto problema di Windows 10 con VMWare player è l’audio.

Per sistemare il problema nella maggioranza dei casi è sufficiente eliminare questa riga dal file .vmx che definisce la VM, normalmente in ~/vmware/vmname/vmname.vmx

sound.virtualDev = "hdaudio",

Riavvia la VM e Windows dovrebbe riconoscere automaticamente il dispositivo audio chiamato “VMWare VMAudio (VMAUDIO) (WDM)

Leave a Reply

  

  

  

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.