Windows 7/Vista - vinkkejä

Ominaisuudet tutuksi: UAC:n tiedostojärjestelmän ja rekisterin virtualisointi

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
[Sisällysluettelo]
28.12.2008
(Yama)Neko