La creazione di cartelle condivise in VMware è essenziale per uno scambio efficiente di file tra la macchina host e un sistema operativo guest (VM). Sia che si tratti di gestire ambienti di sviluppo complessi, di eseguire guest Linux/Windows o di automatizzare le build, le cartelle condivise semplificano il flusso di lavoro. Questa guida illustra le tecniche avanzate di configurazione e risoluzione dei problemi per VMware Workstation Pro e VMware Fusion.

Passo 1: creare una cartella condivisa in VMware UI

  1. Aprire VMware Workstation / Fusion

  2. Selezionare la VM → Andare su Impostazioni

  3. Fare clic sulla scheda Opzioni → Selezionare Cartelle condivise

  4. Abilita:

    • ✔️ Sempre abilitato (consigliato)

  5. Fare clic su Aggiungi… e seguire la procedura guidata:

    • Scegliere una cartella sul computer host

    • Assegnarle un nome (ad esempio, Shared)

    • Contrassegnare come di sola lettura, se necessario

  6. Fare clic su Fine e poi su OK per applicare.

Passo 2: installare gli strumenti VMware (lato guest)

VMware Tools abilita il meccanismo della cartella condivisa all’interno del sistema operativo guest.

Sui guest Linux (Ubuntu/Debian/CentOS)

sudo apt update
##ATP_NOTR_2_CODE_TAG_NOTR_ATP###

Quindi riavviare la macchina virtuale:

##ATP_NOTR_3_CODE_TAG_NOTR_ATP###

Sui guest Windows

  • Dal menu VMware: VM > Installa strumenti VMware

  • Monta un CD virtuale → Eseguire setup.exe

  • Riavviare il guest dopo l’installazione

Fase 3: montaggio della cartella condivisa (guest Linux)

Dopo il riavvio, verificare se VMware Tools ha rilevato la cartella condivisa:

vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

Per montare una cartella specifica:

##ATP_NOTR_5_CODE_TAG_NOTR_ATP###

Se vmhgfs-fuse non viene trovato, installarlo:

##ATP_NOTR_6_CODE_TAG_NOTR_ATP###

Automatizzare il montaggio all’avvio (Linux)

Modificare /etc/fstab:

##ATP_NOTR_7_CODE_TAG_NOTR_ATP###

Opzionale: Assicurarsi che la directory /mnt/hgfs/Shared esista all’avvio

Aggiungere a crontab (come root):

@reboot mkdir -p /mnt/hgfs/Shared && mount -a

Accedere alla cartella condivisa in Windows Guest

Dopo il riavvio, andare a:

##ATP_NOTR_9_CODE_TAG_NOTR_ATP###

Oppure navigare direttamente a:

##ATP_NOTR_10_CODE_TAG_NOTR_ATP###

È possibile mapparlo su una lettera di unità:

  1. Fare clic con il pulsante destro del mouse su Questo PC → Mappa unità di rete

  2. Usa vmware-hostCartelle condiviseLa tua cartella

  3. Scegliere la lettera di unità (ad esempio, Z:) → ✔️ Ricollegare all’accesso

🔍 Risoluzione dei problemi avanzati

1. La cartella condivisa non è visibile in Linux?

  • Assicurarsi che vmhgfs-fuse sia installato e che VMware Tools sia in esecuzione:

ps aux | grep vmtoolsd
  • Riavviare vmtoolsd:

##ATP_NOTR_12_CODE_TAG_NOTR_ATP###
  • Riprovare il montaggio manuale.

2. Problemi di permessi dei file?

Usare il flag allow_other e impostare i permessi appropriati:

##ATP_NOTR_13_CODE_TAG_NOTR_ATP###

3. La cartella condivisa non appare in Windows?

  • Reinstallare gli strumenti VMware

  • Controllare firewall/antivirus

  • Assicurarsi che la cartella sia abilitata nell’interfaccia utente di VMware

  • Controllare Services.msc → VMware Tools è in esecuzione

Suggerimenti per sviluppatori e utenti esperti

  • Utilizzare le cartelle condivise per:

    • Sincronizzare gli artefatti di build tra host e guest

    • Condividere script, file ISO e configurazioni

    • Eseguire editor di codice sull’host, compilare/testare nel guest

  • Usare rsync o inotify con le cartelle condivise per sincronizzare i file in tempo reale

  • Per le configurazioni dev persistenti, montare le cartelle condivise nei container Docker in esecuzione all’interno della macchina virtuale

Conclusioni

Le cartelle condivise in VMware migliorano la produttività fornendo una perfetta integrazione tra i sistemi host e guest. Con la corretta configurazione di VMware Tools e vmhgfs-fuse, si ottiene un accesso affidabile e performante alle risorse host da qualsiasi sistema operativo guest. L’automazione del processo di montaggio e la modifica delle autorizzazioni rendono questa configurazione ideale per lo sviluppo quotidiano, l’automazione e i flussi di lavoro multipiattaforma.

Questa configurazione riduce inoltre al minimo l’attrito durante il trasferimento di file di progetto, log o artefatti tra gli ambienti. Consente cicli di iterazione più rapidi, permettendo agli sviluppatori di lavorare direttamente su codebase condivisi senza operazioni di sincronizzazione ridondanti. In definitiva, offre un ambiente fluido, efficiente e altamente flessibile, a vantaggio sia dei principianti che degli utenti avanzati della virtualizzazione.