Virtual PC 2007 jest najprostszym, ale też najczęściej wykorzystywanym do wirtualizacji systemem firmy Microsoft. Nie jest on tak rozbudowany jak jego starsi bracia, Virtual Server i Hyper-V, a także brakuje mu funkcjonalności robienia migawek, obsługi maszyn 64-bitowych, USB, itd. Mimo powyższych minusów sprawdza się wyśmienicie i jest niezastąpiony w niektórych scenariuszach.
Wstęp
Virtual PC 2007 jest najprostszym, ale też najczęściej wykorzystywanym do wirtualizacji systemem firmy Microsoft. Nie jest on tak rozbudowany jak jego starsi bracia, Virtual Server i Hyper-V, a także brakuje mu funkcjonalności robienia migawek, obsługi maszyn 64-bitowych, USB, itd. Mimo powyższych minusów sprawdza się wyśmienicie i jest niezastąpiony w niektórych scenariuszach.
W pierwszej części artykułu zostaną przedstawione podstawy Virtual PC 2007. Omówi ona scenariusze zastosowania, wymagania oraz konfigurację programu. Kolejna część przedstawi pracę z aplikacją.
Historia
Historia programu Virtual PC nie rozpoczęła się w firmie Microsoft. Aplikacja została stworzona przez Connectix, firmę specjalizującą się w tworzeniu narzędziach do wirtualizacji systemów operacyjnych. 19 lutego 2003 roku Virtual PC oraz Virtual Server zostały zakupione przez korporację z Redmond.
Początkowo Microsoft udostępniał Virtual PC jako rozwiązanie płatne. Od wersji Virtual PC 2004 SP1 jest ono bezpłatne nawet do użytku komercyjnego. Najnowsza wersja to Virtual PC 2007 SP1.
Scenariusze zastosowania
Virtual PC służy generalnie do tego, by na jednym komputerze dało się uruchomić więcej niż jeden system równocześnie. Systemy wirtualne mogą posiadać pełny dostęp do sieci lub zostać wyizolowane. Pozwala to skonfigurować środowiska zgodnie z wymaganiami i potrzebami użytkowników, a co najważniejsze, zmiany wykonane na wirtualnych systemach nie mają wpływu na funkcjonowanie fizycznego komputera. Program jest na tyle prosty, aby po krótkim przeszkoleniu nawet początkujący użytkownik potrafił uruchomić i skorzystać z wcześniej przygotowanej maszyny wirtualnej.
Szkolenia
Program Virtual PC 2007 znakomicie sprawdza się jako platforma ułatwiająca prowadzenie szkoleń. Microsoft już od dawna wymaga, by większość oficjalnych kursów była prowadzona przy użyciu tej wirtualnej platformy. Kursy przygotowywane są pod Virtual PC, więc nie ma problemów z kompatybilnością — a pojawiały się one przy wykorzystaniu maszyn fizycznych. Upraszcza to także przygotowanie stanowisk kursantów, ponieważ wystarczy wgrać na ich stanowiska gotowy zestaw wirtualnych maszyn. Jako że zmiany wykonane na wirtualnych systemach nie mają wpływu na funkcjonowanie fizycznego komputera, to przywrócenie środowiska do stanu pierwotnego wymaga jedynie ponownego wgrania odpowiednich plików.
Wykorzystanie wirtualnych środowisk potrafi znacznie obniżyć koszty przygotowania sal szkoleniowych, gdyż nie wymaga zakupu wielu komputerów.
Lekarstwo na niekompatybilne programy
Czasami problemy z jednym ważnym programem mogą wstrzymać upgrade komputera do nowego systemu, który mógłby pozwolić na jego lepsze wykorzystanie. Tu także z pomocą może przyjść Virtual PC 2007. Wystarczy przygotować wirtualne środowisko ze starszym systemem operacyjnym i na nim uruchamiać niekompatybilne oprogramowanie.
W tym scenariuszu należy pamiętać, iż konieczne jest posiadanie odpowiednich licencji na system fizyczny oraz wirtualny.
Testy
Tworzenie wirtualnych środowisk do testów jest szybsze i prostsze niż przygotowanie podobnych środowisk złożonych z fizycznych komputerów. Tak przygotowane środowiska mogą służyć jako systemy, na których programiści mogą sprawdzać zachowanie tworzonych przez siebie programów. Pozwala to znacznie obniżyć koszty związane z utrzymaniem wielu komputerów. Wpływa to także na przyśpieszenie procedury testowania, gdyż włączenie i wyłączenie kolejnych wirtualnych systemów trwa zazwyczaj kilkanaście sekund.
To wszystko dzięki temu, że wirtualne komputery zachowują się jak fizyczne, posiadają własną kartę dźwiękową i sieciową, własny dysk, procesor oraz oczywiście system operacyjny.
Wymagania Virtual PC
Wymagania minimalne, które muszą zostać spełnione po stronie komputera i systemu pełniącego rolę hosta, nie się wygórowane i według Microsoftu wyglądają następująco:
- Procesor x86 lub x64, minimum 400MHz (1GHz rekomendowane), L2 cache. Wspierane są procesory AMD Athlon/Duron, Intel Celeron, Intel Pentium II, Intel Pentium III, Intel Pentium 4, Intel Core Duo i Intel Core2 Duo.
- Napęd CD-ROM lub DVD.
- Monitor SVGA.
- Klawiatura, mysz.
- Windows Vista Business, Windows Vista Enterprise, Windows Vista Ultimate, Windows Server 2003 Standard Edition, Windows Server 2003 Standard x64 Edition, Windows XP Professional lub Windows XP Tablet PC Edition.
- Potrzebna ilość wolnego miejsca na dysku twardym uzależniona jest od tego, jaki wirtualny system operacyjny zostanie uruchomiony.
Lista wspieranych systemów gości oraz ich zapotrzebowanie na pamięć znajdują się w tabeli poniżej:
Aby obliczyć minimalne wymagania, należy wiedzieć i jakie dokładnie systemy i jak duża ich liczba będą równocześnie uruchomione na maszynie hosta.
Brak systemu na oficjalnej liście nie oznacza bynajmniej, że nie będzie można go uruchomić w wirtualnym środowisku. Oznacza to tylko, że system ten nie jest oficjalnie wpierany, mogą nie działać Virtual Machine Additions i generalnie można spodziewać się pewnych problemów podczas pracy w tym środowisku. Na wielu forach i stronach internetowych można przeczytać o poprawnie działającym RedHat Linux czy Novell NetWare, wiec jednym sposobem jest samodzielne sprawdzenie, jak konkretny system się zachowuje.
Do powyższych wymagań należy podchodzić ze sporą rezerwą. Jak pokazuje praktyka, do komfortowej pracy wymaga się wyposażenia komputera hosta w szybszy procesor, większą ilość pamięci RAM oraz wydajniejsze i pojemniejsze dyski.
Jak już zostało wspomniane na początku artykułu, urządzenia USB nie będą poprawnie działały w środowisku wirtualnym, ale klawiatura i mysz podłączone przez interfejs USB zadziałają, gdyż wykorzystywana jest tu emulacja PS2.
Dysk twardy, CD/DVD, karta muzyczna czy modem zadziałają bez problemu w wirtualnym środowisku. Należy pamiętać o tym, że są one emulowane i nie należy — w systemie gościa — instalować sterowników otrzymanych od producenta tych urządzeń. Niestety, urządzenia SCSI nie są obsługiwane na wirtualnych maszynach.
Networking
Virtual PC 2007 to system skierowany do użytkowników niewymagających skomplikowanych ustawień związanych z siecią. Został on pozbawiony możliwości budowania wirtualnych sieci oraz mechanizmów udostępniających zdalną obsługę maszyn wirtualnych. Obsługuje on oczywiście sieć, a do dyspozycji użytkownika jest kilka trybów, w jakich może pracować wirtualna karta sieciowa:
- Not connected — wirtualne maszyny nie są posiadają kontaktu z siecią.
- Local Only — wirtualne maszyny mogą komunikować się tylko z wirtualnymi maszynami, których wirtualna karta sieciowa została ustawiona w tryb Local Only. Ważne jest to, że w tej konfiguracji nie działa komunikacja sieciowa wirtualnej maszyny z hostem.
- Virtual networking (rysunek poniżej) — wirtualna maszyna będąca w tym trybie wygląda i zachowuje się jak zwykły, posiadający własną kartę sieciową komputer. Może być osiągalna z innych wirtualnych maszyn (pracujących w trybie Virtual networking), hosta oraz komputerów podłączonych do sieci. Oczywiście, wymagana jest poprawna konfiguracja ustawień sieciowych.
Rys.1. Virtual Networking.
- Shared networking (NAT) (Rys. 2.) — zachowanie maszyn wirtualnych w tym trybie przypomina pracę komputera znajdującego się za routerem z uruchomioną usługą NAT. Wszystkie wirtualne maszyny dzielą jeden zewnętrzny IP, co powoduje, że mogą komunikować się z siecią, ale nie są one dla niej widoczne. Karta sieciowa maszyny wirtualnej otrzymuje adres z przedziału 192.168.131.1 – 192.168.131.253, więc konieczne jest ustawienie karty w tryb pobierania adresu z DHCP. Jest to wygodny tryb dla użytkowników pracujących na komputerach przenośnych, gdyż niezależnie od sieci, w której się znajdują, wirtualne maszyny otrzymują dostęp do sieci.
Rys.2. Shared networking (NAT).
Instalator program Virtual PC 2007 nie dodaje żadnych nowych interfejsów sieciowych. Jedyne, co można zauważyć po wybraniu właściwości karty sieciowej, to Virtual Machine Network Services, dzięki którym wirtualne maszyny otrzymują dostęp do sieci. Co ważne, nie jest też wymagana żadna dodatkowa konfiguracja sieci po stronie hosta.
Rys.3. Virtual Machine Network Services.
Dyski
Virtual PC obsługuje kilka typów wirtualnych dysków twardych i aby je poprawnie dostosować do swoich potrzeb, należy zrozumieć ich sposób działania i poznać różnice, jakie występują pomiędzy nimi.

- Dynamically expanding — jest to dysk rekomendowany przez kreator tworzenia nowego dysku wirtualnego i sprawdza się w większości zastosowań. Na dysku tworzony jest mały plik z rozszerzeniem VHD (Virtual Hard Disk). Rozszerza się on dynamicznie wraz z zapisem danych. Należy mieć na uwadze to, że nawet gdy znajdujące się na nim dane zostaną skasowane, to nie zostanie on zmniejszony automatycznie. W dalszej części artykułu pokazane zostanie, jak zmniejszyć jego objętość.
- Fixed size — w tym typie określa się z góry wielkość dysku. Utworzony na hoście plik VHD będzie stałej wielkości i nie będzie się rozszerzał, co pozytywnie wpływa na wydajność.
- Differencing— ten typ wirtualnego dysku bazuje na wcześniej utworzonym pliku VHD. Przechowuje on tylko zmiany, jakie zostały wykonane w stosunku do bazowego dysku. Zastosowanie tego rodzaju dysku może w znaczny sposób zmniejszyć ilość wymaganego miejsca na fizycznym dysku hosta.
- Linked to a hard disk — jeśli konieczne jest użycie fizycznego dysku w wirtualnym systemie, to należy stworzyć plik VHD, który będzie powiązany z tym dyskiem. Należy zauważyć, że możliwe jest użycie wyłącznie całego dysku, a nie partycji.
- Undo disk — specjalny rodzaj dysku, którego nie można wybrać w czasie tworzenia wirtualnego dysku. Dzięki tej funkcjonalności użytkownik otrzymuje możliwość usunięcia lub potwierdzenia zmian, jakie wykonał w czasie sesji z wirtualną maszyną. Sesja w tym przypadku oznacza czas od włączenia do wyłączenia systemu gościa. Jest to możliwe dzięki temu, że Virtual PC przechowuje zmiany w specjalnym tymczasowym pliku (rozszerzenie VUD) i dzięki niemu użytkownik na koniec swojej pracy może sam zadecydować, co ma się stać ze zmianami.
Instalacja
Instalacja Microsoft Virtual PC jest bardzo prosta. Sprowadza się ona do uruchomienia pliku instalacyjnego i zatwierdzania kolejnych pytań przyciskiem Next. Oczywiście, tak jak w przypadku większości programów, wymagane jest posiadanie uprawnień Administratora. Poniżej zostały umieszczone zrzuty ekranu instalatora demonstrujące kolejne kroki, jakie należy wykonać.
Ustawienia programu
Pierwszym krokiem, jaki powinno się wykonać po instalacji Virtual PC, jest poprawne ustawienie jego opcji. Aby to zrobić, należy z menu wybrać kolejno File -> Options.
Opcje są globalne i dotyczą całego wirtualnego środowiska. Oczywiście, istnieje możliwość ograniczenia jakiejś funkcjonalności na poziomie ustawień konkretnej wirtualnej maszyny.
Gdy opcja Restore at Start zostanie włączona i podczas zamykania Virtual PC będą pracowały wirtualne maszyny, to ponowne uruchomienie programu spowoduje ich automatyczne uruchomienie.
Zmiany w sekcji Performance wpływają na wydajność systemu hosta oraz wirtualnych gości. Opcje w części CPU Time dotyczą wirtualnych maszyn:
- All running Virtual machines get equal CPU time — ustawienie tej opcji powoduje, że wszystkie maszyny wykorzystują procesor w równy sposób.
- Allocate more CPU time to Virtual machine in the active window — to domyślne ustawienie, w którym więcej czasu procesora otrzymuje maszyna pracująca w aktywnym oknie.
- Pause Virtual machines in inactive Windows — najrzadziej wybierana, choć interesująca opcja. Powoduje, że procesor wykorzystuje tylko ta maszyna, która działa w aktywnym oknie. Jeśli aktywnego okna nie ma na żadnej maszynie, to pracuje maszyna, która była w nim jako ostania. Kiedy ta opcja może się przydać? Szczególnie wtedy, gdy wirtualne maszyny wykonują różne zadania i nie współpracują ze sobą. Pozwala to działać kilku maszynom wirtualnym na systemie hosta wyposażonym w słabszy procesor. Należy w tym miejscu podkreślić, że zasoby związane z pamięcią RAM nie zostają zwalniane.
Ustawienia w sekcji When Virtual PC is running In the background określają, co ma wyższy priorytet:
- Give processes on the host operating system priority — w tym przypadku procesy działające na hoście otrzymują wyższy priorytet niż środowisko wirtualne.
- Run Virtual PC at maximum speed — przydziela więcej mocy wirtualnym gościom.
Gdy procesor wspiera sprzętową wirtualizację oraz funkcja ta została włączona w BIOSie komputera, to możliwe jest jej użycie w środowisku wirtualnym. Wystarczy aktywować opcję Enable hardware-assisted virtualization. Na pewno spowoduje to wzrost wydajności wirtualnego środowiska. Nie będzie to oczywiście ogromna różnica, ale może osiągnąć nawet 10 – 30%, co na pewno będzie odczuwalne.
Gdy jest włączona funkcja "Enable hardware-assuisted virtualization" mogą wystąpić problemy z przenoszeniem maszyn wirtualnych pomiędzy hostami z zainstalowanym Virtual PC. Zdarzają się przypadki że maszyny wirtualne stworzone na hoście z procesorem Intel, nie chcą się uruchamiać na hoście z procesorem AMD.
Włączenie poniższych opcji spowoduje, że gdy wirtualna maszyna zostanie przełączona w tryb wyświetlania na pełnym ekranie, to rozdzielczość hosta dostosuje się tak, by wyświetlić pulpit gościa rozciągnięty maksymalnie w pionie i poziomie. Warto w tym miejscu wspomnieć, że wyjście z trybu pełnego ekranu jest możliwe po wciśnięciu klawiszy prawy ALT+Enter.
Gdy poniższa opcja zostanie zaznaczona, to host wyciszy dźwięki dochodzące z systemów gości, które nie działają w aktywnym oknie. Mimo swojej prostoty to bardzo pożyteczna opcja, gdyż podczas pracy z kilkoma wirtualnymi komputerami można się naprawdę zdziwić, kiedy słyszy się dźwięki z wielu systemów.
Virtual PC tak jak większość programów wyświetla komunikaty. Jeśli użytkownika drażnią ostrzeżenia wyświetlane przez tę aplikację, może je w prosty sposób wyłączyć. Możliwe jest także zresetowanie wszystkich komunikatów, które zostały oznaczone jako Don’t show this messages again.
Domyślnie prawy Alt jest tak zwanym klawiszem hosta. Zwraca on na przykład obsługę klawiatury i myszy z systemu gościa do hosta. Opcja poniżej pozwala zmienić ten klawisz na inny.
W sekcji Mouse można określić, w jakim momencie wskaźnik myszy ma zostać przechwycony przez wirtualną maszynę. Może to się stać, gdy wskaźnik znajdzie się w obrębie pulpitu gościa lub dopiero, gdy maszyna wirtualna zostanie kliknięta. Oczywiście to ustawienie jest ważne, gdy w systemie gościa nie zostały zainstalowane Virtual Machine Additions.
W sekcji Security można określić, do jakich funkcji Virtual PC wymagane są uprawnienia administratora.
Język interfejsu użytkownika można zmienić, wybierając jeden z sześciu dostępnych: angielski, niemiecki, francuski, japoński, włoski i hiszpański. Niestety, język polski nie jest obsługiwany.
Linki
Wstęp do wirtualizacji
Nieoficjalna lista systemów, które działają na Virtual PC 2004
Microsoft Virtual PC 2007 SP1 32 i 64-bitowa
Microsoft Acquires Connectix Virtual Machine Technology
Wnioski
Mimo że Virtual PC 2007 jest najprostszym systemem do wirtualizacji, to na pewno znajdzie on zastosowanie w systemach desktopowych, na przykład tam, gdzie pojawiają się problemy z kompatybilnością aplikacji. Prostota i brak opłat za używanie są jego największymi zaletami.
Autorzy:
Robert Stuczynski (Noise)
(Microsoft MVP, MCITP: Enterprise Administrator, MCTS: Windows Server 2008 Hyper-V, Configuration, MCSE+M+S)
Inżynier systemowy pracujący w międzynarodowej korporacji. Prowadzi własnego bloga oraz o Windows Server 2008
Jacek Doktór (Doktor)
(MCSE, MCTS: SCCM 2007, MCTS: Hyper-V)
Zajmuje się wdrażaniem rozwiązań System Center oraz prowadzi autoryzowane szkolenia MS.