Windows7: ottimizzare il sistema operativo per utilizzo in un virtualizzatore (GuestVM)

Una serie di consigli su come ottimizzare Windows7 per essere utilizzato come GuestVM: un sistema operativo ottimizzato è più veloce e responsivo, occupa meno risorse e ci permette di lavorare più efficacemente.

  • disabilitare i servizi di Windows non necessari;
  • disinstallare le funzionalità di Windows non necessarie (es. “Componenti TabletPC”);
  • utilizzare il profilo energetico “Prestazioni elevate”: sarà compito del virtualizzatore gestire gli idle-state ed il throttling della vCpu;
  • disattivare la sospensione (Sleep) del sistema operativo: non vogliamo occupare la RAM / HD del nostro host con una VM in sospensione, vero?;
  • disattivare il System Restore e cancellare i punti di ripristino: è nettamente più comodo e flessibile lavorare con le snapshot dell’intera VM, ed in caso di bisogno è molto più veloce ripristinarle;
  • disattivare tutti gli effetti grafici, regolando le impostazioni in modo da ottenere prestazioni migliori;
  • eseguire l’utility Pulitura Disco per rimuovere i file temporanei, i file di backup del Service Pack e di Windows Update;
  •  eseguire l’utility Deframmentazione Disco per consolidare e riorganizzare i file frammentati;
  • disattivare l’esecuzione automatica dell’utility Deframmentazione Disco: non vogliamo che una VM in idle inizi improvvisamente a deframmntare il disco;
  • disattivare il timestamping su filesystem dell’ultimo accesso ai file tramite fsutil con il comando:
    fsutil behavior set disablelastaccess 1
  • aumentare il valore del timeout sugli HD tramite regedit, modificando TimeOutValuea “190” (decimale) in:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Disk
  • aumentare la memoria della scheda video virtuale a 128MB;
  • disabilitare IPv6, a meno che non sia necessario usarlo;

Windows Server: come collegarsi alla sessione console del server (sessione 0) via RDP

Tramite RDP è possibile collegarsi remotamente ai server Windows per visualizzarne il desktop come se fossimo fisicamente di fronte al monitor collegato al server.
In realtà queste sessioni RDP, di norma, sono sessioni virtuali e non quello che effettivamente vedremmo sullo schermo del monitor.

E’ possibile però istruire RDP per collegarsi non ad una sessione virtuale bensì alla cosiddetta “sessione 0”, cioè la sessione vera e propria della console del server attiva al momento, lanciando il client RDP mstsc.exe con la seguente riga di comando:

mstsc.exe /ADMIN /v:nome_server

Attenzione!!
Se si utilizzano versioni meno recenti del client RDP (per esempio quelle fornite con WindowsXP, Windows2003 e precedenti), la sintassi per collegarsi alla console è differente: è necessario usare lo switch /console al posto di /admin

 

Windows: per quale motivo il sistema operativo tenta di collegarsi a “www.msftncsi.com” ?

Analizzando i log di squid della navigazione di una mia macchina di test con Windows7 mi sono accorto che, ogni tanto, vedo chiamate HTTP verso i siti “www.msftncsi.com” e “ipv6.msftncsi.com”, nello specifico sono GET di un file di testo in cui c’è scritto semplicemente “Microsoft NCSI”:

[Tue Jan 29 10:33:48 2013].319     82 192.168.1.1 TCP_MISS/200 274 GET http://www.msftncsi.com/ncsi.txt - FIRST_UP_PARENT/192.168.1.1 text/plain
[Tue Jan 29 10:33:51 2013].672   3348 192.168.1.1 TCP_MISS/200 419 GET http://ipv6.msftncsi.com/ncsi.txt - FIRST_UP_PARENT/192.168.1.1 text/html

Come mai Windows cerca di scaricare questi file? E’ colpa di un virus?

Niete di pericoloso, per fortuna!
Il “colpevole” è il modulo di Windows “Network Location Awareness” preposto al controllo delle funzionalità della connessione di rete che si sta utilizzando: in parole povere, Windows cerca di collegarsi a quel sito, di proprietà di Microsoft, per capire se la connessione che si sta utilizzando ha accesso ad Internet o meno, se supporta IPv6 o solo IPv4 e se ci sono ulteriori restrizioni alla navigazione.

E’ possibile disattivare questa funzione impostando a valore zero “0” la chiave di registry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\EnableActiveProbing

McAfee Agent: come resettare l’agent GUID

Vi capita di aver clonato alcuni client con a bordo l’antivirus McAfee ma, nonostante funzioni tutto, non li rilevate nella console McAfee EPO e quindi non li riuscite a gestire?
E’ colpa del valore “AgentGUID” del componente McAfee Agent, valore identificativo univoco del computer per la console EPO, che non viene più modificato una volta che l’Agent viene installato: in questa situazione, clonando cioè un computer con già a bordo McAfee Agent, la EPO vede solo il GUID del primo computer che vi si collega, e non quello identico degli altri cloni.

Per risolvere il problema, e far sì che i cloni si registrino nella console EPO e possano quindi essere gestiti correttamente, è necessario resettare il valore “AgentGUID” sui client clonati con la seguente procedura:

  1. arrestare il servizio Windows “Servizio McAfee Framework”;
  2. aprire il registro di Windows (regedit) e andare su HKEY_LOCAL_MACHINESOFTWARENetwork AssociatesePolicy OrchestratorAgent ;
  3. cancellare la voce AgentGUID (potete annotarvi a parte il valore per confontarlo successivamente e verificare che sia cambiato);
  4. chiudere il registro di Windows;
  5. avviare il servizio Windows “Servizio McAfee Framework”;
  6. aprire il registro di Windows e andare su HKEY_LOCAL_MACHINESOFTWARENetwork AssociatesePolicy OrchestratorAgent per verificare che il valore AgentGUID è ora cambiato;

A questo punto, il client si registrerà nella EPO con il nuovo GUID e tutto funzionerà correttamente.

Windows 7 USB/DVD download tool: come risolvere l’errore “We were unable to copy your files” su USB

A partire da Windows 7 è finalmente possibile eseguire installazioni del sistema operativo partendo da disco o chiavetta USB, senza dover masterizzare CD o DVD, grazie al Windows 7 USB/DVD download tool che Microsoft ha messo a disposizione gratuitamente: ovviamente avrete sempre bisogno di una immagine ISO originale di Windows 7 da riversare su USB.

Cosa fare, però, quando questo utilissimo tool non riesce a riversare Windows 7 su USB e compare l’errore “We were unable to copy your files. Please check your usb device and the selected ISO file and try again” ?
usb_7_error

Il problema è causato dalla presenza, sul disco o chiavetta USB, di una MBR e/o partizione non standard che non è gestibile dal tool.
E’ quindi necessario rimuoverle entrambe dalla chiavetta, da riga di comando tramite diskpart.exe, con la seguente procedura:

1. lanciare diskpart;
2. cercare il numero idetificativo del disco USB con "list disk";
3. selezionare il disco con "select disk numero_identificativo_disco";
4. eliminare completamente il contenuto del disco con "clean";
5. creare una nuova partizione con "create partition primary";
6. selezionare la partizione con "select partition 1";
7. marcarla attiva con "active";
8. formattarla FAT32 con "format quick fs=fat32";
9. uscire da diskpart con "exit";

A questo punto la chiavetta USB è pronta per essere utilizzata senza problemi con il Windows 7 USB/DVD download tool.

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”.