Jotta Windows 7/Vistassa voisi ajaa vanhempia,
aikaisemmille Windows -versioille tehtyjä ohjelmia, UAC tarjoaa
tiedostojärjestelmän ja rekisterin virtualisoinnin. Sitä käytetään
avuksi, kun ohjelma ei ole Windows 7/Vistalle kirjoitettu ja kun sillä ei ole
täysiä järjestelmänvalvojan oikeuksia (niitähän ei ole edes
järjestelmänvalvojalla automaattisesti UAC:n ollessa päällä), ja se
yrittää muokata tiedostoa
tai rekisteriä seuraavista kohteista:
Tällöin mikä tahansa tiedoston (paitsi ajettavat tiedostotyypit,
kuten .exe, .bat, .scr, .vbs jne.), kansion tai rekisterin muutos
ohjataan käyttäjän profiilissa sijaitsevaan kohteeseen
%LocalAppData%\VirtualStore.
Jos siis virtualisoitu prosessi yrittää kirjoittaa vaikkapa Windows
-kansioon, kirjoitus ohjautuu %LocalAppData%\VirtualStore\Windows
-kansioon. Alla oleva kuva selventänee asiaa.
Esimerkissä yritetään aluksi luoda tiedosto nimellä
testfile.txt. Kirjoitus Windows -kansioon epäonnistuu (1.), koska tässä
esimerkissä komentorivillä (cmd.com) ei ole järjestelmävalvojan
oikeuksia eikä se ole virtualisoitu. Virtualisoinnin jälkeen (asetettiin
Tehtävienhallinnassa)
kirjoitus kuitenkin näyttää onnistuvan (2.) ja testfile.txt tiedosto
näyttää löytyvän Windows -kansiosta. Virtualisoinnin poisto kuitenkin
paljastaa, ettei tiedostoa oikeasti löydy Windows -kansiosta (3.). Oikeasti
tiedosto luotiin %LocalAppData%\VirtualStore\Windows -kansioon (4.).
Niissä kansioissa, joissa on virtualisoituja tiedostoja, näkyy
Resurssienhallinnassa
Yhteensopivuustiedostot
-painike, jota painamalla näet ko. kansion virtualisoidut tiedostot ja
kansiot.
Tehtävienhallinta näyttää prosessit, joiden kohdalla virtualisointi on
käytössä. Tämä näkyy
Virtualisointi
-sarakkeessa.
(Virtualisointi -sarake ei oletuksena ole näkyvissä, vaan
se
on asetettava näkyviin).
Rekisterin virtualisoinnissa suurin osa HKLM\Software -haarasta
virtulisoidaan, poislukien esim. HKLM\Software\Microsoft\Windows,
HKLM\Software\Microsoft\Windows NT ja HKLM\Software\Classes
-haarat. Virtualisointia käytetään jos ohjelma ei ole Windows 7/Vistalle tehty ja
jotka eivät raportoi yhteensopivuusongelmista. Tällöin kirjoitus
ohjautuu haaraan
HKEY_
CURRENT_USER\Software\Classes\VirtualStore.
Asian voi tarkistaa
Reg -komennolla. Jos REG_KEY_DONT_VIRTUALIZE
-lippu on
asetettu, avain ei ole virtualisoitu.
Esimerkistä paljastuu, että
HKLM\Software\DVDFab on virtualisoitu, mutta
HKLM\Software\Microsoft\Windows ei.
Lisää tietoa:
Understanding and Configuring User Account Control in
Windows Vista
Registry Virtualization in Windows Vista
Common
file and registry virtualization issues in Windows Vista
Inside Windows 7 User Account Control