| Termin | Definicja |
|---|---|
| UEFI z trybem Virtualization (VT-x / AMD-V) | UEFI z trybem Virtualization (VT-x/AMD-V) to firmware umożliwiające włączenie sprzętowego wsparcia wirtualizacji procesora. Rola UEFI w udostępnianiu funkcji VirtualizationUEFI z trybem Virtualization (VT-x w procesorach Intel oraz AMD-V w procesorach AMD) jest firmware’em płyty głównej, który pozwala włączyć sprzętowe mechanizmy obsługi wirtualizacji procesora. Sama obecność odpowiedniej opcji w UEFI nie tworzy jeszcze maszyny wirtualnej i nie zastępuje programu do wirtualizacji. Jej zadaniem jest udostępnienie systemowi operacyjnemu oraz oprogramowaniu wykorzystującemu hypervisor funkcji procesora przeznaczonych do bezpiecznego wykonywania kodu systemu gościa. Po aktywowaniu tej funkcji procesor może przełączać się między poziomem wykonania hypervisora a środowiskiem uruchamianym wewnątrz maszyny wirtualnej. W architekturze Intel mechanizm ten jest związany z technologią Intel Virtualization Technology oraz rozszerzeniami VT-x. W przypadku AMD analogiczną rolę pełni AMD-V, określane także jako SVM, czyli Secure Virtual Machine. Nazwa ustawienia w menu UEFI zależy od producenta płyty głównej i może występować jako Intel Virtualization Technology, Intel VT-x, SVM Mode albo AMD-V. Jak procesor wykorzystuje VT-x i AMD-VWirtualizacja bez wsparcia sprzętowego wymagałaby przechwytywania przez oprogramowanie wielu operacji wykonywanych przez system gościa. VT-x i AMD-V pozwalają hypervisorowi kontrolować przejścia między środowiskiem zarządzającym a maszyną wirtualną za pomocą mechanizmów procesora. Hypervisor może określić, które zdarzenia, instrukcje lub operacje dostępu do zasobów mają spowodować wyjście z trybu wykonywania maszyny wirtualnej i przekazanie kontroli do warstwy zarządzającej. W systemach Intel istotnym elementem jest tryb VMX, obejmujący między innymi instrukcje VMXON i VMXOFF oraz struktury VMCS, w których przechowywany jest stan kontroli maszyny wirtualnej. AMD-V korzysta z własnego zestawu mechanizmów i struktur kontrolnych, ale cel jest podobny: izolować środowisko gościa oraz umożliwiać hypervisorowi obsługę przełączeń procesora. Dzięki temu system gościa może działać z mniejszym narzutem niż przy pełnej emulacji procesora. Włączenie VT-x lub AMD-V nie przydziela automatycznie pamięci RAM, rdzeni procesora ani przestrzeni dyskowej dla żadnej maszyny wirtualnej. Te zasoby są konfigurowane dopiero w programie wykorzystującym hypervisor. Funkcja UEFI jest więc warunkiem sprzętowym, ale nie pełną konfiguracją wirtualnego środowiska. Jeżeli hypervisor wykryje, że wsparcie jest wyłączone, może odmówić uruchomienia maszyny, przejść do wolniejszego trybu programowego albo zgłosić brak wymaganej funkcji procesora. Ustawienie w UEFI i objawy nieprawidłowej konfiguracjiZmianę wykonuje się w ustawieniach UEFI, zwykle po ponownym uruchomieniu komputera i użyciu klawisza wskazanego przez producenta płyty głównej, takiego jak Delete lub F2. Opcja może znajdować się w sekcji dotyczącej zaawansowanych ustawień procesora, bezpieczeństwa, konfiguracji systemu albo funkcji CPU. Po ustawieniu wartości Enabled należy zapisać konfigurację i ponownie uruchomić komputer. W niektórych modelach dopiero pełny restart powoduje, że system operacyjny ponownie wykryje dostępność rozszerzeń wirtualizacji. Jeżeli opcja jest niewidoczna, przyczyną może być procesor bez obsługi VT-x lub AMD-V, ograniczenie zastosowane przez producenta firmware’u, nieaktualna wersja UEFI albo użycie innej nazwy funkcji. W komputerach z procesorem Intel należy odróżnić VT-x od VT-d. VT-x dotyczy wirtualizacji instrukcji i trybów pracy procesora, natomiast VT-d odnosi się do wirtualizacji oraz kontroli dostępu urządzeń wejścia-wyjścia przez jednostkę zarządzania pamięcią I/O. W platformach AMD podobne rozróżnienie występuje między AMD-V/SVM a funkcjami związanymi z wirtualizacją urządzeń i pamięci. Typowym objawem wyłączonego wsparcia jest komunikat hypervisora o braku akceleracji sprzętowej, niemożność uruchomienia systemu gościa albo informacja, że funkcja jest niedostępna. Podobny efekt może jednak powodować aktywny inny hypervisor, konflikt funkcji bezpieczeństwa lub niezgodność wersji oprogramowania. Dlatego samo zaznaczenie opcji w UEFI nie zawsze wystarcza do znalezienia przyczyny. Weryfikacja powinna obejmować model procesora, wersję UEFI, ustawienia firmware’u oraz informacje raportowane przez system operacyjny i używany program do wirtualizacji. Bezpieczna weryfikacja działania sprzętowej wirtualizacjiWeryfikację należy rozpocząć od sprawdzenia, czy procesor rzeczywiście obsługuje odpowiednie rozszerzenia. Informację można znaleźć w dokumentacji producenta procesora albo w narzędziach systemowych pokazujących dostępne funkcje CPU. Następnie warto sprawdzić, czy UEFI zapisuje zmianę po restarcie. Jeżeli ustawienie samoczynnie wraca do wartości Disabled, przyczyną może być niezgodność konfiguracji, problem z firmware’em, reset ustawień po błędzie uruchamiania albo ograniczenia konkretnej platformy. W systemie Windows status wirtualizacji można częściowo sprawdzić w Menedżerze zadań, w widoku informacji o procesorze, gdzie dostępna jest pozycja dotycząca wirtualizacji. Dodatkowych informacji dostarczają narzędzia diagnostyczne hypervisora oraz funkcje systemowe wymagające sprzętowej wirtualizacji. W systemach Linux używa się między innymi informacji z katalogu procesora oraz narzędzi dostarczanych przez dany hypervisor; obecność flag procesora nie gwarantuje jednak, że funkcja została włączona w UEFI ani że moduły systemowe działają poprawnie. Podczas diagnostyki trzeba zachować rozróżnienie między trzema warstwami: możliwościami procesora, ustawieniem firmware’u oraz konfiguracją systemu operacyjnego i hypervisora. Procesor może obsługiwać VT-x lub AMD-V, ale ustawienie UEFI może pozostawać wyłączone. Odwrotna sytuacja również jest możliwa: opcja może być aktywna, lecz używany program może wymagać dodatkowych funkcji, takich jak translacja adresów drugiego poziomu, albo może pozostawać w konflikcie z inną warstwą wirtualizacji. Prawidłowa diagnoza polega więc na sprawdzeniu całego łańcucha uruchamiania, a nie wyłącznie na zmianie jednej pozycji w menu UEFI. |