Windows Virtual PC

Opublikowany na:

wssPortal

Windows Virtual PC — nowa jakość wirtualizacji dla stacji roboczych

Wydanie najnowszej wersji systemu klienckiego Windows 7 wprowadziło liczne nowości oraz pokazało nowe podejście do już znanych rozwiązań. Aplikacja Virtual PC, dostarczana dotychczas jako niezależny komponent, została przebudowana do formy aktualizacji systemu, czyli jego opcjonalnego komponentu — Windows Virtual PC (WVPC). Jest to następstwo coraz większej popularyzacji wirtualizacji oraz konieczności poszukiwania nowych rozwiązań zwiększających kompatybilność.

Windows Virtual PC dołącza jako kolejny produkt do grupy rozwiązań wirtualizacji stacji roboczych, wyróżniając się od swoich poprzedników lepszą integracją z systemem zarówno samej aplikacji, jak i systemów wirtualnych.

Nowości i zmiany

Wymogi

Wymogi sprzętowe:

- Sprzętowe wsparcie wirtualizacji: Technologie Intel-VT lub AMD-V

- Minimalne wymogi sprzętowe:

  • Procesor 32-bitowy lub 64-bitowy
  • Taktowanie procesora 1GHz
  • Pamięć RAM 1,25GB (zalecane 2GB)
  • Dysk: w zależności od liczby wirtualnych maszyn i wielkości ich dysków

- System operacyjny: Windows 7 (wszystkie edycje)

Uwagi:

1. Tryb Windows XP Mode dostępny będzie jedynie dla wersji Professional, Enterprise, Ultimate.

2. Wirtualne aplikacje dostępne są jedynie wtedy, gdy maszyna wirtualna pracuje pod kontrolą systemów: Windows XP SP3, Windows Vista (Enterprise/Ultimate), Windows 7 (Enterprise/Ultimate).

3. Aby skorzystać z własnych maszyn wirtualnych mających udostępniać wirtualne aplikacje, trzeba dodatkowo zainstalować dodatek RAIL QFE — do pobrania na stronach Microsoft.

Interfejs

Pierwsze widoczne zmiany w stosunku do starszego rozwiązania to zmieniony interfejs oraz obsługa wirtualnego pulpitu systemu gościa.

Integracja z Windows Explorer

Windows Virtual PC został zintegrowany z systemem, a jego obsługa odbywa się za pośrednictwem Windows Explorer. Uruchomienie maszyny odbywa się poprzez wybór pliku konfiguracji oraz wybranie opcji Open z menu okna lub kontekstowego — akcję tę można też zrealizować poprzez dwuklik. Wybór ustawień maszyny wirtualnej — dostępna w analogiczny sposób opcja Settings. Tworzenie maszyny wirtualnej wymaga przejścia do folderu Virtual Machines w profilu użytkownika — dopiero wtedy menu okna pokaże opcję Create Virtual Machine.

030511 1228 Vpc11111

Rys. 1. Integracja WVPC z Windows Explorer

Wirtualna maszyna

Praca w ramach wirtualnego pulpitu systemu gościa nie uległa zmianie w widoczny sposób, główne modyfikacje dotyczą dostępności opcji i ich rozkładu, pozostałe zasady pracy pozostały bez znaczących zmian.

Opcje dostępne z poziomu okna maszyny wirtualnej — dostępność poszczególnych akcji zależna jest od aktualnego stanu, w jakim znajduje się maszyna:

Action:

  • View Full Screen — przełączanie podglądu do pełnego ekranu;
  • Sleep/Wake Up — wstrzymanie maszyny (pauza);
  • Restart — przesłanie żądania ponownego rozruchu;
  • Close — zamknięcie okna maszyny wirtualnej, równoważne jej wyłączeniu — możliwe do wyboru tryby:
  • Hibernate (wyłączenie maszyny z zachowaniem jej aktualnego stanu),
  • Shutdown (wysłanie żądania „wyłącz” do systemu gościa),
  • Turn Off (natychmiastowe wyłączenie maszyny).

USB:

  • <nazwa urządzenia> Attach — przekazanie urządzenia do maszyny wirtualnej — stanie się ono niedostępne z poziomu hosta;
  • „nazwa urządzenia” Shared (wymaga włączonych komponentów integracyjnych) — współdzielenie urządzenia pomiędzy hostem i gościem.

Tools:

  • Enable/Disable Integration Features (wymaga wcześniejszej instalacji komponentów integracyjnych) — włączenie/wyłączenie funkcji integracyjnych, np. współdzielenie dysków, przekierowanie drukarek (w zależności od ustawień maszyny wirtualnej);
  • Settings — dostęp do ustawień maszyny wirtualnej;
  • Install Integration Components (widoczne, gdy nie zostały wcześniej zainstalowane) — podłączenie do maszyny wirtualnej obrazu .iso z instalatorem komponentów integracyjnych.

Ctr+Alt+Del — przekazanie do maszyny kombinacji klawiszy.

030511 1228 Vpc11112

Rys. 2. Wirtualny pulpit

Nowe funkcje

Jedną z nowych funkcji dostarczonych z WVPC jest możliwość obsługi urządzeń USB w maszynie wirtualnej. Funkcjonalność ta pozwala na przekazanie urządzenia pod kontrolę systemu gościa lub współdzielenie go pomiędzy systemami gościa i hosta.

Wirtualizacja USB

Maszyna wirtualna może pracować z urządzeniami w dwóch trybach:

Attach — tryb przekazania pełnej kontroli nad urządzeniem do systemu gościa i blokady jego dostępności z poziomu hosta. Przekazywana tak będzie większość urządzeń, np. karty sieciowe, urządzenia skanujące/drukujące. Jest to jednocześnie domyślny tryb działania — nie wymaga instalacji komponentów integracyjnych.

Shared — tryb współdzielenia danego urządzenia dotyczy przede wszystkim wszelkiego rodzaju pamięci dyskowych, np. pendrive, dyski usb. Do działania wymaga instalacji komponentów integracyjnych na systemie gościa oraz poprawnej obsługi przez oba systemy (host, gość).

030511 1228 Vpc11113

Rys. 3. Przekazywanie USB

Funkcjonalności zaawansowane wymagają od systemu gościa odpowiedniego przygotowania, jakim jest instalacja komponentów integracyjnych. Podobnie jak w przypadku swojego poprzednika, WVPC w ten sposób dystrybuuje swoje „sterowniki”, a oprócz tego dodaje współpracę z usługami terminalowymi, dzięki którym uzyskuje się między innymi możliwość pracy z wirtualnymi aplikacjami czy przekierowaniem drukarek (funkcje dobrze znane z Windows Server 2008 Terminal Services).

Komponenty integracyjne

Wyboru funkcji, jakie mają być dostępne z daną maszyną wirtualną (domyślnie wszystkie), dokonuje się w jej ustawieniach, wybierając sekcję Integration Features. Domyślnie po określeniu konfiguracji komponenty integracyjne będą włączane podczas startu systemu operacyjnego, warto zwrócić uwagę, iż można nimi sterować manualnie — włączając lub wyłączając je podczas pracy maszyny, będzie to dotyczyć wszystkich ustawionych dla maszyny komponentów. Modyfikacja dostępnych komponentów integracyjnych w ustawieniach maszyny jest dostępna podczas jej pracy, jednak do zatwierdzenia wymaga wyłączenia i ponownego (zimnego) startu maszyny wirtualnej.

030511 1228 Vpc11114

Rys. 4. Ustawienia komponentów integracyjnych

Wykorzystanie usług terminalowych w Windows Virtual PC zaowocowało udostępnieniem funkcji Auto Publish generującej skróty w systemie hosta do zdalnych (wirtualnych) aplikacji pracujących w systemie wirtualnym. Najczęściej funkcjonalność ta pojawia się w kontekście Windows XP Mode, o którym można przeczytać w moim wcześniejszym artykule „Windows XP Mode sposobem na kompatybilność w Windows 7″. Funkcja ta jednak często przypisywana jest jedynie Windows XP, co jest mylnym podejściem, gdyż można wykorzystać ją także w przypadku systemów Windows Vista i Windows 7 (zgodnie z restrykcjami opisanymi na początku artykułu w sekcji — wymogi). Różnica między Windows XP Mode a teoretycznym „Windows Vista Mode” polega na warunkach licencjonowania — w pierwszym przypadku nie będzie wymagana dodatkowa licencja na wirtualny system pod warunkiem zakupienia odpowiedniej edycji oraz pobrania systemu z Windows Update (docelowo w wersji finalnej).

Wirtualne Aplikacje

W przypadku Windows XP Mode Wirtualne Aplikacje są sposobem na rozwiązanie problemu braku kompatybilności niektórych aplikacji z najnowszym systemem. Jednak patrząc na to zagadnienie szerzej, można określić je jako metodę dostarczania gotowego zestawu aplikacji do systemu klienckiego — wystarczy dodać wcześniej przygotowany obraz systemu z kompletem oprogramowania i w ten sposób szybko przygotować ją do pracy. Dystrybucję tak przygotowanych obrazów może ułatwić może takie rozwiązanie, jak MED-V, oczywiście można także zastosować metody zdalnej instalacji aplikacji w takiej maszynie np. SCCM 2007.

030511 1228 Vpc11115

Rys. 5. Wirtualna aplikacja (Windows XP Mode)

Jak to działa?

Do używania maszyn wirtualnych pracujących pod kontrolą starszych rozwiązań (VPC 2007, Virtual Server 2005) wykorzystywane były dwa rodzaje plików: konfiguracyjne (.vmc) oraz dysków wirtualnych (.vhd). Obecnie zestaw ustawień został rozszerzony i dołączony został do niego plik konfiguracyjny o rozszerzeniu .vmcx, dodano także pliki .vpcbackup będące kopią zapasową plików .vmc.

Pliki konfiguracyjne

Domyślnie pliki konfiguracyjne (.vmc) i dyski wirtualne zapisywane są w profilu użytkownika \AppData\Local\Microsoft\Windows Virtual PC\, natomiast pliki bieżącej konfiguracji (.vmcx) zapisywane są w folderze \Virtual Machines bezpośrednio w folderze profilu.

Powiązanie plików można przedstawić w następujący sposób:

Nowe pliki .vmcx zawierają tylko podstawowe informacje, uaktualniane podczas pracy maszyny. Odwołują się do plików .vmc w celu pobrania szczegółowej konfiguracji.

Wykaz zawartości pliku .vmcx przykładowej maszyny wirtualnej:

<?xml version=”1.0″ encoding=”UTF-16″?>

<!– Microsoft Virtual Machine Description and Registration Settings –>

<vm_description>

<ram_size type=”string”>512 MB</ram_size>

<vmstate type=”string”>Running</vmstate>

<primary_disk1 type=”string”>C:\(…)\Vista_VM01.vhd</primary_disk1>

<secondary_disk1 type=”string”>E</secondary_disk1>

<notes type=”string” />

<vmc_path type=”string”>C:\(…)\Vista_VM01.vmc</vmc_path>

<guestos type=”string”>Windows&amp;reg; Vista</guestos>

</vm_description>

Pliki .vmc zawierają pełne informacje o konfiguracji wirtualnej maszyny.

Wykaz fragmentu zawartości pliku .vmc przykładowej maszyny wirtualnej:

<?xml version=”1.0″ encoding=”UTF-16″?>

<!– Microsoft Virtual Machine Options and Settings –>

<preferences>

<version type=”string”>2.0</version>

<hardware>

<bios>

<base_board>

<serial_number type=”string”>9371-2117-3433-5822-8096-7904-83</serial_number>

</base_board>

<bios_guid type=”string”>{774649FD-94FC-4812-A2DC-E39C66E20976}</bios_guid>

<bios_serial_number type=”string”>9371-2117-3433-5822-8096-7904-83

</bios_serial_number>

<chassis>

<asset_tag type=”string”>9371-2117-3433-5822-8096-7904-83</asset_tag>

<serial_number type=”string”>9371-2117-3433-5822-8096-7904-83</serial_number>

</chassis>

Dodatkowo folder Windows Virtual PC zawiera:

  • Virtual Applications — folder ze zbiorem ikon aplikacji wirtualnych;
  • VMCXBackup — folder z kopiami zapasowymi plików .vmcx;
  • Options.xml — plik z ustawieniami Windows Virtual PC;
  • Options.xml.vpcbackup — kopia zapasowa w/w pliku.

030511 1228 Vpc11116

Rys. 6. Pliki konfiguracyjne

By skorzystać z zaawansowanych funkcji Windows Virtual PC, konieczne jest zainstalowanie Integration Components oraz wybór, które z nich mają być dostępne w ramach maszyny wirtualnej. Spośród funkcjonalności jakie udostępniają bardzo przydatne mogą okazać się przekierowania drukarek oraz przekazywanie dysków hosta.

Komponenty integracyjne

W celu udostępnienia systemowi wirtualnemu — a poprzez to aplikacjom wirtualnym — możliwości drukowania konieczne jest oddanie mu do dyspozycji drukarek. Oczywiście, możliwa jest bezpośrednia instalacja drukarki w takim systemie, jednak jest to niewygodne i pracochłonne. Aby ułatwić to zadanie, została zastosowana kolejna funkcja znana z usług terminalowych, czyli przekierowanie drukarek z fizycznego hosta. Drukarka zainstalowana na hoście fizycznym jest automatycznie widziana w systemie wirtualnym.

030511 1228 Vpc11117

Rys. 7. Przekierowanie drukarek

Podobny problem dotyczy przekazania dysków hosta, co można zrealizować, udostępniając poprzez sieć te zasoby lub wykorzystując funkcję dostarczoną przez komponenty integracyjne. Możliwe jest mapowanie lokalnych zasobów dyskowych hosta w maszynie wirtualnej jako zasobów sieciowych bez dodatkowego ich udostępniania. W przypadku wirtualnych aplikacji zostają zmapowane także dobrze znane foldery z profilu użytkownika, takie jak Moje Dokumenty — w momencie, gdy zapiszemy do nich plik w wirtualnej aplikacji, trafi on na dysk hosta, a nie do maszyny wirtualnej — funkcja ta nie działa, gdy pliki dodawane są z poziomu wirtualnego systemu operacyjnego.

030511 1228 Vpc11118

Rys. 8. Przekazanie dysków hosta

Jedną z najbardziej wyczekiwanych funkcji jest przekazywanie urządzeń USB, zrealizowane w Windows Virtual PC dzięki wirtualizacji portów USB. Pozwala ona na współdzielenie urządzenia lub przekazanie pełnej nad nim kontroli do systemu gościa. Może okazać się to bardzo przydatne w przypadku starszego sprzętu, dla którego nie zostały wydane sterowniki dla Windows 7.

USB Virtualization

Dla każdego urządzenia mającego pracować w trybie wirtualizacji USB musi zostać doinstalowany sterownik USB Virtualization Stub Driver. Jego instalacja następuje automatycznie przy pierwszym uruchomieniu danego urządzenia w trybie wirtualizacji.

030511 1228 Vpc11119

Rys. 9. Instalacja sterownika dla urządzenia USB

Gdy urządzenie zostanie podłączone do maszyny wirtualnej, nie będzie już dostępne z poziomu Device Manager. Warto zauważyć, że do przekazania urządzenia nie jest konieczna jego instalacja na systemie host — zostanie wtedy przekazane jako niezidentyfikowane urządzenie.

030511 1228 Vpc111110

Rys. 10. Widok w Menedżer urządzeń

Auto Publish i Wirtualne aplikacje

Zasady działania zdalnych aplikacji zostały już omówione, jednak warto dodatkowo przyjrzeć się mechanizmowi i zasadom przypisywania skrótów zarówno do maszyn wirtualnych, jak i wirtualnych aplikacji. Domyślnie w menu start tworzone są skróty do aplikacji, podzielone w folderach, zawierających w swojej nazwie informacje o publikującej maszynie wirtualnej. W przypadku samych maszyn nie tworzą się w tym miejscu odwołania do nich, a ich uruchomienie wymaga wejścia do folderu Virtual Machines i odnalezienia pliku .vmcx (wyjątkiem jest domyślny skrót do Virtual Windows XP) — wystarczy w tym wypadku własnoręcznie wykonać skrót do pliku .vmcx.

030511 1228 Vpc111111

Rys. 11. Automatyczna publikacja wirtualnych aplikacji

Odwołania do wirtualnych aplikacji są bardziej skomplikowane. Przyglądając się celowi przykładowego skrótu wirtualnej aplikacji,  można określić następującą ogólną składnię:

%WinDir%\System32\vmsal.exe „Nazwa maszyny wirtualnej” „||identyfikator aplikacji” „Opis”

Co dla przykładowej aplikacji można odnieść jako:

%SystemRoot%\system32\vmsal.exe „Virtual Windows XP” „||7f7a3c64″ „Microsoft Office Excel 2003″

lub wykorzystując składnię automatycznie tworzonych skrótów:

%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\VMCPropertyHandler.dll,LaunchVMSal „Virtual Windows XP” „||7f7a3c64″ „Microsoft Office Excel 2003″

030511 1228 Vpc111112

Rys. 12. Skrót do aplikacji wirtualnej

Identyfikatory aplikacji są kluczowe, by można było poprawnie odwołać się do aplikacji w systemie wirtualnym. Domyślnie każda aplikacja opublikowana przez system jako aplikacja usług terminalowych (remote app) otrzymuje własny identyfikator, który można odnaleźć w rejestrze:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList\Applications

030511 1228 Vpc111113

Rys. 13. Identyfikator wirtualnej aplikacji

Problematyczne w kontekście publikacji mogą okazać się aplikacje niewymagające instalacji, uruchamiane poprzez plik wykonywalny. Aby opublikować taką aplikację, należy ręcznie utworzyć skrót do jej pliku wykonywalnego w ścieżce C:\Documents and Settings\All Users\Start Menu\Programs. Taki mechanizm jest skuteczny także w przypadku komponentów systemu, przykładem może być tutaj Internet Explorer.

030511 1228 Vpc111114

Rys. 14. Tworzenie skrótów dla aplikacji wirtualnych

Podsumowanie

Funkcje prezentowane przez Windows Virtual PC były wyczekiwane od długiego czasu, dodatkowo rozszerzone zostały możliwe scenariusze użycia tego rozwiązania wirtualizacji. Developerzy uzyskują możliwość testowania swoich aplikacji na wielu systemach i wersjach aplikacji oraz mogą wykonywać łatwiej swoją pracę w ramach starszych narzędzi programistycznych, jednocześnie pracując na najnowszym systemie. Ogólnie rozumiane środowiska biznesowe mogą wykorzystać wirtualne aplikacje do szybszej i łatwiejszej migracji swoich dotychczasowych rozwiązań. Pozostać może tylko jeden problem: przekonanie się do Windows 7 i przyzwyczajenie do nowego interfejsu i większych możliwości Windows Virtual PC.

  • Dariusz Kołodziej
    #1 napisany przez Dariusz Kołodziej  1 rok temu

    dzień dobry,
    czy jest możliwe zainstalowanie Windows Virtual PC w systemie Windows 2008 R2 server

    sprzęt nie wspiera sprzetowej wirtualizacji, więc odpalenie Hyper-V ni e powiodło się :-(
    działa tylko Microsoft Virtual PC 2007 (ale nie ma USB)

    czy wersja dysków VHD jest kompatybilna dla systemów z lat 2003, 2007 i 2010, tzn czy ststemy utworzone w poszczególnych wersjach da się używac na wersjach niższych?

  • Kamil Skalski
    #2 napisany przez Kamil Skalski  1 rok temu

    WVPC jest dedykowane dla Windows 7, i nie ma oficjalnego wsparcia dla WS 2008 R2.
    Wirtualne dyski jako nośnik danych są kompatybilne, ale komponenty integracyjne już nie.

  • kamil
    #3 napisany przez kamil  7 miesięcy temu

    Witam,czy może wiesz co można zrobić gdy FIFA11 nie chce się zainstalować ? Na początku wszystko dobrze idzie a na koniec gdy sie instaluje to dochodzi mi do 99% a pózniej spada instalacja do 15%. Mam laptopa Windows Vista. Myślę że,problem wynika w jednej z opiń których napisze: 1.Nie wiem czy mój laptop wytrzymuje takie wymagania jakie są w FIFA 11,mam zwykłego Windowsa a nie Windows 7. 2.Może też nie mam programu co pisze na instalacji, nie mogę go teraz podać. 3.Czy też może mam na laptopie za dużo programów pobranych i innych. Bardzo proszę pomórz mi, nie wiem co mam robić.

  • Kamil Skalski
    #4 napisany przez Kamil Skalski  7 miesięcy temu

    Takie problemy należy zgłaszać i konsultować z supportem wydawcy gry. Osobiście nie gram, i nie jest to temat związany z windows virtual pc.

  • Michal
    #5 napisany przez Michal  7 miesięcy temu

    Witam, mam pytanie dotyczace drukarki, problem polega na tym ze nie mozna jej zainstalowac na win7, zostala wiec zainstalowana na wirtualnym winXP, czy da sie jej uzywac z poziomu win7? z tekstu wynika ze sprawa w przeciwnym kierunku jest prosta, zainstalowany sprzet pod win7 mozna udostepnic w virtual winXP. Czy istnieje rozwiazanie mojego problemu? dodam ze drukarka jest niewidoczna w win7

  • Kamil Skalski
    #6 napisany przez Kamil Skalski  7 miesięcy temu

    Według mnie najprościej udostępnić tą drukarkę przez sieć i w ten sposób przekazać ją do Windows 7.

  • Marek
    #7 napisany przez Marek  7 miesięcy temu

    Witam Mam kompa z win 7 x64 Home Premium i zechciałem mieć wirtualny xp, więc zainstalowałem Virtual PC a potem Win Xp sp3 który miałem wcześniej, a wirtualnym Xp programik. I mam problem niby wszystko działa tylko że w menu start win 7 mam tylko folder Windows Virtual pc a w nim dwie ikonki windows virtual pc i windows xp mode i żadnego folderu aplikacje wirtualne. Dodam że dodałem ikonkę programu który zainstalowałem doC:\Documents and Settings\All Users\Start Menu\Programs.
    I teraz nie mogę bezpośredni z poziomu menu start win 7 włączyć tego programu ( dla jasności program to darmowa wersja programu diagnostycznego samochodów)
    Popełniłem gdzieś błąd czy moje podejście do tematu nie mogło się udać ????

  • Kamil Skalski
    #8 napisany przez Kamil Skalski  7 miesięcy temu

    Konieczne jest zainstalowanie komponentów integracyjnych oraz włączenie opcji „Auto Publish” (Automatyczna publikacja??) w opcjach maszyny wirtualnej. Dopiero po spełnieniu tych wymogów aplikacje zostaną opublikowane – proponuję po korekcie ustawień, usunąć skróty w wirtualnym xp i dodanie ich na nowo.

  • Możesz skorzystać z tych tagów HTML: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <strike> <strong>

Do góry