VT-x nie jest dostępny, ale jest włączony w systemie BIOS


114

Ostatnio zacząłem mieć problem z VT-x na moim systemie Windows 10 działającym na HP EliteBook. Używałem Oracle VirtualBox do uruchamiania na nim niektórych maszyn wirtualnych, a VT-x był włączony w BIOSie i działał dobrze.

Zacząłem otrzymywać VT-x is not availablebłąd za każdym razem, gdy próbowałem uruchomić dowolną maszynę wirtualną. To zaczęło się dziać po zainstalowaniu Dockera na moim komputerze, więc spróbowałem go odinstalować i zrestartować. Nie pomogło

Sprawdziłem ustawienia BIOS i mówi, że VT-x jest włączony, ale sprawdzanie za pomocą narzędzia Intel (R) Processor Identification Utility pokazuje, że VT-x nie jest obsługiwane i Oracle VirtualBox też go nie widzi.

Nie wprowadzono żadnych zmian sprzętowych, a jedyną zmianą oprogramowania była instalacja / odinstalowanie Dockera.

Jak można rozwiązać ten problem?

Odpowiedzi:


150

Istnieją trzy typowe czynniki odpowiedzialne za rodzaj błędu, który widzi użytkownik:

  • VT-x nie jest włączony w systemie BIOS
  • Procesor nie obsługuje VT-x
  • Wirtualizacja funkcji Hyper-V jest włączona w systemie Windows

Ponieważ użytkownik już wyeliminował dwóch pierwszych możliwych winowajców, następnym krokiem jest otwarcie wiersza polecenia jako administrator i uruchomienie następującego polecenia:

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

Następnie uruchom ponownie komputer i spróbuj ponownie VirtualBox.


40
W celu dalszego wyjaśnienia: Docker działa na systemie Windows Hyper-V. Instalacja Dockera włączyła go, ale deinstalacja nie wyłączyła Hyper-V.
Tonny

@cat: Jest to zasób udostępniony, aby właściwie go wyłączyć, gdy ostatni składnik zależny od niego zostanie usunięty, potrzebujesz pewnego rodzaju liczenia referencji.
Ben Voigt,

2
Dla kompletności: może się to zdarzyć również w przypadku niektórych wirusów, które używają VT-x do ukrywania się przed systemem operacyjnym. Są to jednak rzadko.
Simon Richter,

4
Należy zauważyć, że Hyper-V technicznie obsługuje zagnieżdżoną wirtualizację od czasu aktualizacji 1607. Jeśli masz potrzebę zarówno dla Hyper-V i VBox w tym samym czasie, można spróbować umożliwiając jej .
Bob

3
Ponadto należy również wyłączyć funkcję okien [Virtual Machine Platform].
lintabá

17

Po zaktualizowaniu systemu Windows 10 do „Fall Creators Update” dostałem ten sam problem. Rozwiązałem go, wykonując następujące czynności:

  1. Włącz wszystkie funkcje w „Hyper-V” w „Włącz lub wyłącz funkcje systemu Windows”.
  2. Uruchom ponownie
  3. Wyłącz wszystkie funkcje w „Hyper-V” w „Włącz lub wyłącz funkcje systemu Windows”.
  4. Uruchom ponownie
  5. Teraz VirtualBox znów działa i pokazuje (64-bit) na liście systemów operacyjnych.

5
Dla niecierpliwych: wyłączenie Hyper-V zajęło Windowsowi kilka minut.
Jens Piegsa,

4
niestety nie zadziałało dla mnie ...
Mahdi Rashidi

Miał ten sam problem po aktualizacji Win10, winowajcą jest funkcja umożliwiająca aktualizację Hyper-V. więc zrobiłem trochę prób i błędów, w końcu to zadziałało: włącz intel virtu .. i vt-d z biosu, następnie wyłącz platformę Windows Hypervisor i platformę maszyny wirtualnej z panelu sterowania> włącz lub wyłącz funkcje systemu Windows, a następnie uruchom ponownie komputer
PauAI

6

Kiedy miałem ten problem, VMWare Player dał lepszą odpowiedź diagnostyczną niż VirtualBox, gdy próbowałem utworzyć 64-bitową maszynę wirtualną.

Powiedział, że moja maszyna ma włączone funkcje Enterprise Device Device i Credential Guard . Przypuszczam, że zostały włączone, kiedy uruchomiłem MalwareBytes; Nie mogę wymyślić żadnej innej zmiany, którą wprowadziłem.

VMWare Player wskazał mi stronę o nazwie Zarządzaj Windows Defender Credential Guard . Ta strona zawiera wiele informacji na temat ustawień Menedżera zasad grupy itp., Które oczywiście nie mają znaczenia dla instalacji W10 HOME.

Ta strona z kolei wskazała mi narzędzie gotowości sprzętu Device Guard i Credential Guard, narzędzie PowerShell do włączania i wyłączania tego zestawu funkcji na serwerach.

Uruchamianie tego narzędzia w powłoce zasilania Run-As-Administrator i wydawanie tego polecenia

 .\DG_Readiness_Tool_v3.5.ps1 -Disable -AutoReboot

przeprowadził mnie przez proces wyłączania tych funkcji.

I mam z powrotem możliwość wirtualizacji.


6

Jeśli używasz trwałej wersji systemu Windows 10, wyłącz integrację pamięci w Zabezpieczeniach urządzeń i uruchom ponownie.

Po włączeniu tej opcji miałem do czynienia z wirtualnym polem podobnego problemu. Wyłączenie to działało dla mnie.

Izolacja rdzenia - zrzut ekranu z integralności pamięci


2

Virtualbox działał dobrze. Zaktualizowałem program antywirusowy Avast dzisiaj, 29 czerwca 2017 r. Następnie Virtualbox podał błąd VT-x. W Ustawieniach Avast przejdź do Rozwiązywanie problemów i włącz „Użyj zagnieżdżonej wirtualizacji, jeśli jest dostępna”, a następnie uruchom ponownie komputer. To zadziałało dla mnie bez żadnych innych zmian.


Dostaję tutaj niebieskie ekrany (vmm.sys), korzystam z avast free, ale nie widzę tej opcji.
Dan

Miałem ten sam problem z Windows Defender. Włączyłem Zabezpieczenia urządzeń - izolacja rdzenia. Wyłączenie rozwiązało mój problem.
Tsuharesu

2

Byłem zaskoczony faktem, że w oknie dialogowym Funkcje systemu Windows były 2 opcje wyłączenia:

  • Hyper-V
  • Windows Hypervisor Platform

Podjąłem próbę uaktualnienia do VirtualBox 6 i niektóre problemy z wydajnością, obniżyłem do VirtualBox 5 i miałem te problemy. Mam nadzieję, że pomoże to komuś innemu.


0

Doszedłem do tego postu, myśląc, że VT-x nie jest włączony, ponieważ Hyper-V mówił mi, że „Maszyna wirtualna używa funkcji specyficznych dla procesora, które nie są obsługiwane na fizycznym komputerze”. Rozpoczęło się to po zainstalowaniu aktualizacji systemu Windows i ponownym uruchomieniu serwera. W rzeczywistości VT-x był faktycznie włączony.

Poprawka polegała na usunięciu stanu zapisanego dla wszystkich maszyn wirtualnych, w efekcie wyłączenia zasilania.

Wygląda na to, że przyczyną tego mogła być aktualizacja mikrokodu procesora, ale trudno się upewnić, to po prostu coś, co pojawiło się w wielu wynikach wyszukiwania.


0

Jak wspomniano w innej odpowiedzi, izolacja rdzenia, ochrona aplikacji, ochrona poświadczeń i ochrona urządzeń wykorzystują funkcję Hyper-V. Jeśli nie potrzebujesz tego poziomu bezpieczeństwa, możesz je wyłączyć, uruchamiając

DG_Readiness_Tool_v3.5.ps1 -Enable -AutoReboot

lub

mountvol X: /s
copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi"
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
bcdedit /set hypervisorlaunchtype off
mountvol X: /d

Bardziej szczegółowe informacje na temat tych poleceń można znaleźć na stronie Zarządzaj programem Windows Defender Credential Guard

Jednak w systemie Windows 10 Build 18305 i nowszych , oprócz funkcji ochronnych, Windows Sandbox włączy również Hyper-V, ponieważ jest to również cienka warstwa wirtualizacji

Jeśli chcesz użyć funkcji piaskownicy, niestety nie możesz wyłączyć funkcji Hyper-V, jak w przypadku innych odpowiedzi. Istnieją na to 2 rozwiązania

  • Zamiast tego użyj Hyper-V. Jeśli masz maszyny wirtualne działające w innych hiperwizorach, takich jak VirtualBox, po prostu migruj je do Hyper-V
  • Włącz zagnieżdżanie stronicowania, aby można było uruchamiać inne hiperwizory w Hyper-V. Po prostu uruchom poniższe polecenie, aby włączyć tę funkcję

    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
    

Aby uzyskać więcej informacji przeczytaj


bcdedit /set hypervisorlaunchtype offpracował dla mnie
użytkownik1641838

@ user1641838 czy przeczytałeś wszystkie odpowiedzi? Istnieje wiele nowych funkcji wykorzystujących wirtualizację, więc nie będziesz w stanie uruchomić innego hiperwizora, nawet jeśli
wyłączysz

tak, przeczytałem i wypróbowałem wszystkie odpowiedzi w tym wątku. I był nawet niebieski ekran po uruchomieniu DG_Readiness_Tool. bcdedit /set hypervisorlaunchtype offto jedyny sposób na pozbycie się „VT-x nie jest dostępne”. Później pojawiły się jednak inne problemy. I w końcu przestawiłem się na Hyper-V. BTW, korzystam z podglądu poufnych informacji w systemie Windows, więc mój wygląd może się różnić.
user1641838

0

Mam ten sam problem na Virtualbox i sprawdziłem następujące na moim komputerze

  • VT-x jest włączony w systemie BIOS
  • Wirtualizacja Hyper-V i platforma Windows Hypervisor są wyłączone w systemie Windows
  • Integracja pamięci jest wyłączona

Po wykluczeniu powyższych powodów przypomniałem sobie, że właśnie włączyłem Windows Sandbox, znalazłem ten post .

Problem dotyczy piaskownicy systemu Windows, ale po prostu wyłącz piaskownicę systemu Windows w funkcjach systemu Windows, a ponowne uruchomienie nie będzie działać. Musisz wykonać następujące czynności, jak opisano w powyższym poście:

  • Wyłącz Windows Sandbox i uruchom ponownie
  • Wyłącz wirtualizację w systemie BIOS i uruchom ponownie
  • Włącz wirtualizację w systemie BIOS i uruchom ponownie
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.