Czy mój komputer/procesor wspiera Hyper-V?

Wydawało mi się, że temat wirtualizacji to już raczej norma na rynku. Ale nadal w trakcie moich spotkań, konferencji i prezentacji o wirtualizacji (również w ostatnim tygodniu) padają pytania typu:

Czy mój komputer (i procesor w nim) poradzi sobie z działaniem Hyper-V? Czy mogę to sprawdzić na jakiejś liście wspieranego sprzętu?

Kiedyś faktycznie mieliśmy listę sprzętu, który musiał przejść certyfikacje, żeby obsługiwać albo określony system operacyjny, albo jego elementy (np. klastry). Teraz coraz częściej odchodzimy od tego podejścia, bo chcemy dać Klientowi jak największy wybór jeśli chodzi o sprzęt.

Wirtualizacja

O samej wirtualizacji i jej uruchamianiu pisałem już trochę (i szczerze polecam jeśli ktoś nie czytał):

  • 2008.02.25 - Hyper-V na laptopie
    Mimo, że Hyper-V na początku nie był projektowany do działania w laptopach, to można go tam uruchomić. Ten post opisywał moje sugestie co do działania wirtualizacji na laptopie.
  • 2008.02.27 - Hyper-V i procesory
    W tym poście opisałem jak sprawdzić czy dany procesor (tylko Intela) obsługuje wirtualizację. Ten sposób nadal działa, ale wymaga sprawdzania procesora, modelu, później odwiedzin stron Intela i sprawdzania określonych informacji tam. Dziś pokażę jak zrobić to prościej.
  • 2012.06.06 - Hyper-V + SLAT w Windows 8 i Windows Server 2012
    Post o tym dlaczego uruchomienie Hyper-V w systemie klienckim (Windows 8) wymaga dodatkowej technologii w procesorze (SLAT).
  • 2013.01.18 - Wirtualizacja Microsoft (Hyper-V kiedyś i dziś)
    Post o bieżących możliwościach wirtualizacji Microsoft i jak to wyglądało kiedyś. Plus odpowiedzi na kilka częstych pytań (w tym licencyjne).

Zwłaszcza w pierwszych dwóch postach opisywałem co jest konieczne do działania Hyper-V, a tu tylko szybko przypomnę:

  • procesor musi być 64-bitowy
  • wspierana (i włączona w BIOSie) wirtualizacja (Intel VT lub AMD-V) 
  • wspierana (i włączona w BIOSie) funkcja DEP "Data Execution Protection" (Intel XD bit lub AMD NX bit)
  • wsparcie dla technologii SLAT (tylko jeśli Hyper-V będziemy instalować na klienckim systemie Windows)

Uwaga: Od razu dopiszę też coś o czym warto pamiętać. Może się okazać, że mimo, że spełniacie warunek odpowiedniego procesora i teoretycznie macie dostępną obsługę wirtualizacji, ale nie potraficie jej włączyć w BIOSie, bo nie widać tej opcji... To sugeruję zacząć od aktualizacji BIOSu. To jedna z najczęstszych przyczyn problemów z włączeniem wirtualizacji :)

Narzędzie Coreinfo

No dobrze, obiecałem, że pokażę Wam prostszą niż opisywałem kiedyś i uniwersalną (bo nie tylko dla procesorów Intela) metodę na sprawdzenie możliwości Waszego sprzętu pod kątem uruchomienia na nim Hyper-V.

Do tego celu potrzebny Wam będzie bezpłatny, malutki (192 kB) programik z naszego pakietu Windows Sysinternals, a konkretnie Coreinfo.

Pobieracie go i odpalacie z linii poleceń:

coreinfo

Pojawi się Wam sporo informacji na temat Waszego procesora (to powyżej to tylko pierwsze linie).

Ogólnie w wynikach tego polecenia pojawia się funkcja, jej krótki opis oraz status. Status oznaczany jest gwiazdką (*) lub minusem (-):

  • Gwiazdka (*) oznacza, że dana funkcja jest wspierana / dostępna w procesorze
  • Minus (-) oznacza, że dana funkcja NIE jest wspierana / NIE jest dostępna w procesorze.

Wirtualizacja

Możecie również ten program wywołać z parametrem "-v" (jak na poniższym zrzucie) - wtedy dostaniecie wyniki powiązane z wirtualizacją (zwłaszcza te dotyczące SLAT).

Tu do sprawdzenia tego będziecie potrzebowali uruchomić coreinfo z uprawnieniami administratora (tylko dla procesorów Intela).

coreinfo -v

Interpretacja wyników

W powyższym przykładzie z mojego Surface Pro 3 możecie zobaczyć, że:

  • HYPERVISOR - nie jest dostępny (minus), bo nie mam zainstalowanego Hyper-V (o tym jeszcze za chwilę)
  • VMX - mam (gwiazdka) wspieraną sprzętowo wirtualizację
  • w wypadku procesora AMD sprawdzamy funkcję SVM
  • EPT - mam (gwiazdka) wspierane SLAT (EPT to oznaczenie SLAT)

Tak więc w moim wypadku, mój sprzęt jest gotowy na instalację Hyper-V i co ważne mogę to zrobić również dla Windows 8 (bo mam SLAT).

W wynikach ogólnych (bez parametru "-v") możecie również zwrócić uwagę na:

  • EM64T - pokazuje czy wspierany jest tryb 64-bitowy
  • NX - pokazuje czy wspierana jest technologia DEP (również wymagana do działania Hyper-V)

Uwaga: Ważne!

Teraz dosyć ważna informacja - żeby sprawdzić czy Wasz procesor wspiera odpowiednio wirtualizację to podczas wykonywania tych poleceń samo Hyper-V musi być wyłączone! Czyli przy funkcji HYPERVISOR musi być minus.

Jeśli zdarzyłoby się, że sprawdzilibyście za pomocą coreinfo jakiś sprzęt, na którym już działa wirtualizacja to efektem będzie takie coś:

coreinfo

Czyli narzędzie pokaże Wam, że Hypervisor jest włączony (to prawda), ale pokaże też, że teoretycznie nie jest wspierana wirtualizacja :)

To samo (taki sam wynik) stałoby się, gdybyście coreinfo uruchomili w środku maszyny wirtualnej działającej na Hyper-V. Narzędzie pokaże Wam, że hypervisor działa (prawda) oraz że nie jest wspierana wirtualizacja - tu związane jest to z tym, ze funkcja VMX nie jest przekazywana do wirtualnego procesora maszyny wirtualnej.

Czyli pamiętajcie, skoro już macie Hyper-V to nie ma potrzeby uruchamiać narzędzia :) Robimy to wcześniej, więc faktycznie HYPERVISOR powinien mieć minus.

Teraz mam nadzieję, że już wiecie jak szybko i prosto sprawdzić czy Wasz serwer, komputer czy laptop poradzi sobie z Hyper-V!