VMware Workstation: un trucchetto per ottimizzare le VM Windows

E’ normale, per me, lavorare con virtual machine contemporaneamente attive sulla mia workstation selfmade, con processore Intel Core i7-2600, 16 GB di ram e svariati TB di disco: pur avendo a disposizione hardware di tutto rispetto, è fondamentale ottimizzare periodicamente le VM per tenerle in buona efficienza ed evitare problemi di performance.

Uno dei problemi più comuni derivato dall’uso di VM che porta a problemi di performance è la frammentazione dei file container che ospitano il file system della VM, siano essi VMDK, VHD, qcow o VDI: prima di deframmentare questi file è prima necessario riorganizzare i dati del disco all’interno della VM seguendo queste linee guida:

  • eseguire la “Pulitura disco”, svuotare il cestino, cancellare i file temporanei;
  • deframmentare il disco: io uso UltraDefrag in modalità “Full optimization” per consolidare i dati;
  • eseguire il tool “sdelete” con opzione “-z” di Windows Sysinternals per cancellare (tecnicamente “scrivere tutti 0”) completamente il contenuto dei cluster marcati come inutilizzati (cioè lo spazio libero su disco);

A questo punto è possibile spegnere la VM ed eseguire la compattazione e la deframmentazione dei file container: in VMware Workstation è possibile farlo dai “Settings” della VM, “Hard disk”, “Utilities”.

 

Windows7: Apple Bonjour, errore “Failed to connect to a windows service” e Winsock da buttare

Ho da poco avuto un problema, sul mio portatile con Windows7 x64, che mi ha fatto venire un bel mal di testa per cercare di risolverlo.
Tutto è iniziato quando ho deciso di disinstallare iTunes e tutti i programmi Apple ad esso collegati: dopo la disinstallazione del servizio “Bonjour“, al successivo riavvio, il portatile non è stato più in grado di collegarsi alla rete aziendale (sia wired sia wireless), a quella casalinga e ad internet.

L’event log di sistema era pieno di questi errori:
Failed to connect to a windows service. Windows could not connect to the System Event Notification Service service. This problem prevents limited users from logging on to the system. As an administrative user, you can review the System Event Log for details about why the service didn’t respond.
Per qualche oscuro motivo la disinstallazione di Bonjour non è avvenuta in maniera corretta, e TCP/IP e Winsock sono rimasti corrotti.

In Windows7 è possibile ripristinare parametri e servizi di TCP/IP e winsock da riga di comando eseguendo:
netsh winsock reset
netsh int ip reset

All’esecuzione di questi comandi, tuttavia, il sistema ha riportato l’errore:
Initialization Function InitHelperDll in NSHHTTP.DLL failed to start with error code 11003
ed al successivo riavvio la rete non era ancora disponibile.

L’unico modo per fare tornare a funzionare tutto è stato piuttosto da brividi: ho dovuto cancellare le chiavi di registry relative a TCP/IP e Winsock, esportarle e ripristinarle da un altro computer simile funzionante, resettare TCP/IP e Winsock con netsh.
Quindi ho dovuto:

  1. cancellare la chiave HKLM/System/CurrentControlSet/Services/Winsock
  2. cancellare la chiave HKLM/System/CurrentControlSet/Services/Winsock2
  3. esportare in un file .reg, da un computer funzionante, la chiave HKLM/System/CurrentControlSet/Services/Winsock
  4. esportare in un file .reg, da un computer funzionante, la chiave HKLM/System/CurrentControlSet/Services/Winsock2
  5. importare i due file di registry del computer malfunzionante
  6. riavviare
  7. eseguire nuovamente netsh winsock reset e netsh int ip reset
  8. riavviare

ed il computer è tornato online.
GLUB 🙁

Windows Server 2008 R2: dove è “Pulizia Disco” (Disk Cleanup Tool)?

…non c’è! 🙂
O meglio, non è installato di default.
In Windows Server 2008, infatti, Microsoft ha scelto di non installare o attivare di default molti programmi o tool in modo da avere un server il più possibile pulito ed esente da funzionalità non necessarie o che potrebbero rendere il server vulnerabile ad attacchi o instabile: questa è sicuramente è una buona strada da percorrere, ma i criteri di scelta di Microsoft sono secondo me ampiamente rivedibili: per dire, di default non è installato nemmeno il client telnet…

Per installare “Pulizia Disco” bisogna:

1) aprire "Server Manager";
2) cliccare su "Add Feature";
3) selezionare "Desktop Experience" (e magari anche "Telnet client");
4) riavviare.