| Termin | Definicja |
|---|---|
| VIRTUALIZATION_EXCEPTION | VIRTUALIZATION_EXCEPTION to ogólny wyjątek zgłaszany przez warstwę wirtualizacji sprzętowej podczas nieprawidłowej operacji procesora w kontekście maszyny wirtualnej. VIRTUALIZATION_EXCEPTION oznacza wyjątek związany z obsługą mechanizmów wirtualizacji procesora. Pojawia się wtedy, gdy system operacyjny, monitor maszyny wirtualnej albo oprogramowanie korzystające z izolowanego środowiska wykonawczego zleci procesorowi operację, której nie można poprawnie zrealizować w aktualnym trybie pracy. Sam komunikat nie wskazuje jeszcze jednej, konkretnej przyczyny. Jest raczej sygnałem, że doszło do niezgodności pomiędzy oczekiwanym sposobem wykonywania instrukcji a stanem sprzętu, firmware'u lub warstwy odpowiedzialnej za uruchamianie środowisk odseparowanych od głównego systemu. Czym jest VIRTUALIZATION_EXCEPTION i co oznaczaWspółczesne procesory udostępniają mechanizmy pozwalające kontrolować uprzywilejowane operacje wykonywane przez system gościa. Dzięki nim można uruchamiać dodatkowe środowisko systemowe bez bezpośredniego przekazywania mu pełnej kontroli nad sprzętem. Monitor maszyny wirtualnej przechwytuje wybrane działania, zarządza dostępem do pamięci i urządzeń oraz utrzymuje rozdzielenie pomiędzy systemem głównym a uruchomionym środowiskiem. VIRTUALIZATION_EXCEPTION może wystąpić, gdy taka kontrolowana operacja zostanie wykonana w nieprawidłowym momencie, z nieoczekiwanymi parametrami albo przy niespójnym stanie rejestrów procesora. Znaczenie komunikatu zależy od miejsca jego wystąpienia. Inaczej należy interpretować wyjątek zgłoszony podczas startu systemu gościa, inaczej błąd pojawiający się po wznowieniu komputera ze stanu uśpienia, a jeszcze inaczej zatrzymanie pracy po zmianie ustawień firmware'u. W praktyce komunikat może odnosić się do sprzętowej obsługi wirtualizacji, tablic opisujących pamięć, przełączania poziomów uprawnień albo mechanizmu przechwytywania instrukcji. Nie oznacza automatycznie uszkodzenia procesora. Często konieczne jest ustalenie, czy problem powstał w samym środowisku uruchomieniowym, w systemie operacyjnym, w sterowniku, czy dopiero na styku oprogramowania ze sprzętem. Kontekst techniczny i porównanie z innymi błędami - VIRTUALIZATION_EXCEPTIONVIRTUALIZATION_EXCEPTION różni się od typowego błędu aplikacji, ponieważ nie dotyczy wyłącznie jednego programu działającego w zwykłym trybie użytkownika. Wystąpienie wyjątku jest związane z warstwą, która pośredniczy pomiędzy procesorem a uruchamianym systemem. Z tego powodu skutkiem może być nie tylko zamknięcie aplikacji, lecz także zatrzymanie systemu gościa, przerwanie startu środowiska albo ponowne uruchomienie całego komputera. Podobne objawy mogą wywoływać błędy pamięci, niestabilne ustawienia procesora, niezgodne wersje sterowników oraz problemy z obsługą funkcji bezpieczeństwa. Warto odróżnić VIRTUALIZATION_EXCEPTION od zwykłego komunikatu o braku zasobów. Zbyt mała ilość pamięci może spowolnić działanie środowiska lub uniemożliwić jego uruchomienie, ale nie musi oznaczać wyjątku procesora. Z kolei uszkodzenie danych dysku może powodować błędy systemu gościa, choć sama warstwa wirtualizacji działa poprawnie. Istotne jest również rozróżnienie pomiędzy wirtualizacją sprzętową a rozwiązaniami programowymi, które jedynie emulują określone urządzenia lub tryby pracy. W pierwszym przypadku procesor wykonuje specjalne operacje zarządzane przez odpowiedni monitor. W drugim część funkcji może być realizowana przez dodatkową warstwę programową, co zmienia sposób powstawania i rejestrowania błędów. Dlatego sama nazwa wyjątku nie wystarcza do postawienia diagnozy. Analiza powinna obejmować dzienniki systemowe, moment pojawienia się komunikatu, konfigurację firmware'u, wersję systemu, używane sterowniki oraz informacje o ostatnich zmianach. Przydatne bywa także sprawdzenie, czy błąd powtarza się wyłącznie przy konkretnym środowisku, po wybudzeniu, podczas dużego obciążenia albo po włączeniu określonej funkcji ochronnej. Typowe problemy prowadzące do wyjątku - VIRTUALIZATION_EXCEPTIONJedną z częstszych przyczyn jest niespójna konfiguracja funkcji wirtualizacji w firmware'ie. Zmiana ustawień bez ponownego uruchomienia, przywrócenie wcześniejszego profilu albo aktualizacja oprogramowania płyty głównej może spowodować, że system otrzyma inne informacje o dostępnych możliwościach procesora niż te, których oczekuje używany monitor. W takiej sytuacji środowisko może uruchamiać się tylko częściowo albo zatrzymywać się przy pierwszej operacji wymagającej specjalnego trybu procesora. Problem może także wynikać z niezgodności wersji. Aktualizacja systemu, sterownika chipsetu, narzędzia do obsługi maszyn wirtualnych lub firmware'u może zmienić sposób przekazywania informacji o rejestrach, pamięci i uprawnieniach. Jeżeli poszczególne elementy nie współpracują ze sobą poprawnie, pojawia się wyjątek podczas przełączania kontekstu. Inną grupę przyczyn stanowią niestabilne parametry sprzętu. Podkręcanie procesora, nieprawidłowe napięcia, przegrzewanie, błędy pamięci operacyjnej albo problemy z zasilaniem mogą ujawniać się szczególnie wyraźnie podczas intensywnego przełączania pomiędzy systemem głównym a środowiskiem gościa. W takim przypadku komunikat VIRTUALIZATION_EXCEPTION może być skutkiem szerszej niestabilności, a nie jedyną usterką. Do błędu mogą prowadzić również konflikty pomiędzy narzędziami bezpieczeństwa, izolacją pamięci, funkcjami ochrony systemu oraz oprogramowaniem przejmującym kontrolę nad określonymi instrukcjami procesora. Czasami objaw pojawia się po wybudzeniu komputera, zmianie profilu zasilania albo podłączeniu urządzenia wymagającego własnego sterownika. Weryfikacja powinna wtedy uwzględniać kolejność zdarzeń, a nie tylko ostatni komunikat widoczny na ekranie. Nie należy pomijać uszkodzeń pamięci masowej i plików konfiguracyjnych. Błędny zapis konfiguracji może sprawić, że środowisko zostanie uruchomione z niewłaściwymi parametrami. Zanim zostaną zmienione ustawienia systemowe, zaleca się zabezpieczenie ważnych danych oraz zapisanie aktualnej konfiguracji, aby można było wrócić do poprzedniego stanu i porównać wyniki. Kiedy trzeba oddać urządzenie do diagnozy - VIRTUALIZATION_EXCEPTIONZgłoszenie do serwisu jest uzasadnione, gdy VIRTUALIZATION_EXCEPTION powtarza się po każdym uruchomieniu, prowadzi do restartów, uniemożliwia dostęp do danych albo pojawił się równocześnie z innymi objawami niestabilności. Pomoc może być potrzebna także wtedy, gdy błąd wystąpił po aktualizacji firmware'u, wymianie podzespołu, zmianie ustawień procesora lub instalacji nowego oprogramowania systemowego. Przed przekazaniem urządzenia warto zanotować pełną treść komunikatu, okoliczności jego wystąpienia oraz wykonane wcześniej czynności. Przydatne są informacje o tym, czy system uruchamia się bez dodatkowego środowiska, czy błąd pojawia się tylko przy określonym zadaniu oraz czy komputer reaguje na próbę uruchomienia w trybie awaryjnym. Takie dane ułatwiają odróżnienie problemu konfiguracji od usterki sprzętowej. W Warszawskim Pogotowiu Komputerowym 24/7 można zlecić sprawdzenie komputera, który zatrzymuje się podczas pracy lub nie uruchamia się prawidłowo. Analiza obejmuje ocenę objawów, kontrolę podstawowych elementów konfiguracji oraz weryfikację, czy przyczyną jest oprogramowanie, ustawienia firmware'u, pamięć, zasilanie lub inny podzespół. Naprawy są zazwyczaj realizowane w ciągu do 3 dni roboczych, zależnie od charakteru usterki i dostępności koniecznych części. Nie powinno się wielokrotnie zmieniać ustawień procesora ani wyłączać kolejnych mechanizmów ochronnych bez zapisania poprzedniej konfiguracji. Jeżeli wyjątek występuje razem z utratą danych, samoczynnymi restartami, przegrzewaniem lub nietypowymi dźwiękami, dalsze próby uruchamiania mogą zwiększać ryzyko pogłębienia problemu. W takiej sytuacji bezpieczniejsze jest przerwanie testów, zabezpieczenie nośników i przekazanie urządzenia do diagnostyki. |