Virtualizace

Virtualization = Virtualizace je způsob, jak aplikacím umožnit zápis do vlastní složky, která je pro běžného uživatele jen ke čtení. Pokud testujete Vistu a otevřeli jste si Správce procesů (Task manager), možná jste si sloupce Virtualization všimli. Proč je u některých procesů virtualizace povolená a u některých ne?

Ve Vistě je každý program spouštěn s právy běžného uživatele, přestože je přihlášen administrátor. Teprve když se s danými právy nepodaří určitou operaci provést, přichází ke slovu UAC, tedy povolení administrátorského výkonu. Jenže co když se jedná o takovou "banalitu", jako je zápis do vlastní složky programu umístěné v Program Files? Tato složka je pro běžného uživatele jen ke čtení, žádný program by tedy nemohl zapsat do svojí složky.

Zvláštní je, že ve Vistě virtualizuje Internet Explorer 7 i Windows Media
Player - že by byly nesprávně naprogramované?

Od toho je tu právě virtualizace. Jestliže program běží v kontextu běžného uživatele (což je vždy) a potřebuje zapsat na disk tam, kam nesmí, Vista mu to dovolí - obsah se ale zapíše do složky Users/Jméno/AppData/Local/VirtualStore/Program Files/Jméno programu. Tato složka je pak "virtualizací" původní složky, navíc rozlišuje jednotlivé uživatele (tzn. pokud si program ukládá nastavení např. do prehistorického souboru .ini, může mít každý uživatel počítače jiné nastavení).

Virtualizaci vyžadují jen starší programy, ty novější by vždy měly ukládat nastavení do registru Windows - a ten už je od dob Windows 95 rozdělen na jednotlivé uživatele.

V Task Manageru můžete pro jednotlivé procesy virtualizaci zapnout a vypnout. Vista ji implicitně zapíná pro programy, které nejsou napsány správně a u kterých systém tuší, že by mohly mít chuť zapisovat někam, kam nemají. Obecně nevirtualizují 64bitové aplikace a ani ty, které při instalaci/spuštění jasně deklarují svoji připravenost na multiuživatelské prostředí.

Pokud v Průzkumníku Windows dojdete do složky v Program Files, která má také svoji virtuální podobu, objeví se navíc tlačítko Compatibility Files, kterým do virtualizované složky přejdete.

Typ článku:

Komentáře

Mám Windows 7: I po odinstalaci původních programů z Program Files (a pod.) ve složce VirtualStore zůstávají části/programy, které zabírají stovky MB. Jak se to dá bezpečně vyčistit. Anebo to prostě smáznout?

Obrázek uživatele Michal Politzer

Soubory programů, které už jste odinstaloval, můžete bez obav smazat. Soubory těch programů, které ještě používáte, sice smazat můžete, ale riskujete, že přijdete o nějaká nastavení.

VirtualStore je určen pro starší programy, které mají potřebu zapisovat tam, kde nemají co dělat - například  do složky windows\system32, kam si některé rády ukládaly soubory .ini

Zavedení VirtualStore a virtuálních registrových klíčů, je analytická chyba jako prase. Stručně řečeno předpokládá, že si žádné programy nevyměňují žádná data mezi sebou. Micro$oft teda ze svého tzv. skvělého systému udělal naprostou sračku, která nesplňuje nejzákladnější podmínky na operační systém, kladené snad už někdy v šedesátých letech minulého století. Normální firma by šla kvůli takovému kiksu do kopru, ovšem Micro$oft se samozřejmě naparuje dál, nejen že jeho systém je použitelný, ale dokonce že snad i toto je dobré řešení.