Task Manager e Windows Vista Virtualization

Forse non molti hanno notato che il nuovo Task Manager di Windows Vista ha una nuova colonna "Virtualization", abilitabile come al solito da View->Select Colums... e quindi selezionado la colonna Virtualization. Questa colonna si rifà alla funzionalità di virtualizzazione di Windows Vista per il file system ed il registry.

In poche parole: con l'UAC (User Acount Control) attivo in Windows Vista anche quando si è loggati alla macchina come amministratori si lavora come standar users, questo a meno di uno specifico consento da parte dell' utente, che viene invitato ad "elevare i suoi privilegi" per certe operazioni, ad esempio per modificare la configurazione di IIS.

Ora per preservare il funzionamento di "vecchie" applicazioni, come ad esempio il notepad, che non potrebbero scrivere in talune locazioni, in particolare %SystemRoot% (%windir%), %ProgramFiles% e %ProgramData%, Windows Vista con il processo di virtualizzazione redirige la scrittura verso uno storage virtuale, nel caso di scrittura su file system su %LOCALAPPDATA%\VirtualStore, quindi una directory specifica dell'utente.

Facciamo un esperimento. Da una macchina Windows Vista con l'UAC attivato apriamo notepad e tentiamo di scrivere su c:\windows un semplice file di testo. Riceveremo un messaggio di errore di accesso negato. Guardiamo ora la colonna Virtualization del Task Manager e notiamo che è impostato di Disable. Ora tasto desto sulla colonna, selezioniamo "Virtualization" e premiamo "Yes" al messaggio di Warning.

Ripetiamo l'esperimento e noteremo che questa volta siamo riusciti a salvare il file, ma dove? Per vederelo andiamo con l'Explorer sotto la directory c:\windows dove pensiamo di aver scritto il file. Il menù dell' Explorer avrà un nuovo taso "Compatibility File" come mostrato in figura.

Se lo premiamo, apriremo la directory locale dell'utente che "virtualizza" la directory c:\windows e dove troveremo il nostro file, nel mio caso la directory virtualizzata è "C:\Users\pietrobr\AppData\Local\VirtualStore\Windows"... ed ecco svelato il mistero di dove viene salvato il file grazie al processo di virtualizzazione.