Błąd platformy Docker dla systemu Windows: „Wspomagana sprzętowo wirtualizacja i ochrona wykonywania danych muszą być włączone w systemie BIOS”


151

Zainstalowałem Docker i otrzymuję ten błąd po uruchomieniu GUI:

W systemie BIOS musi być włączona wirtualizacja wspomagana sprzętowo i ochrona wykonywania danych

Wygląda na błąd, ponieważ Docker działa jak urok z wiersza poleceń, ale zastanawiam się, czy ktoś ma wskazówkę, dlaczego tak się dzieje?

Zanim zapytasz, tak, włączyłem wirtualizację w BIOS-ie, a narzędzie Intel Processor Identification Utility potwierdza, że ​​jest aktywowane. Docker, docker-machine i docker-compose - cała praca z wiersza poleceń, działa Virtualbox, działa Docker z Debiana lub Ubuntu VM.

Jest tylko ten dziwny problem z GUI.

Moje specyfikacje:

  • Rocznicowa edycja systemu Windows 10 Pro x64
  • Intel core i5-6300HQ @ 2,30 GHz

Odpowiedzi:


340

Jeśli opisane funkcje są włączone, problem dotyczy wyłączonej funkcji Hyper-V lub niedziałającego agenta funkcji Hypervisor

ROZWIĄZANIE A (jeśli Hyper-V jest całkowicie wyłączony lub nie jest zainstalowany)

  1. Otwórz PowerShell jako administrator i

  2. Włącz Hyper-V za pomocą

    dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

ROZWIĄZANIE B (Jeśli funkcja Hyper-V jest już włączona, ale nie działa)

Włącz Hypervisora ​​z

bcdedit /set hypervisorlaunchtype auto

Teraz uruchom ponownie system i spróbuj ponownie.

ROZWIĄZANIE C.

Jeśli problem będzie się powtarzał, prawdopodobnie Hyper-V w twoim systemie jest uszkodzony, więc

  1. Przejdź do Panelu sterowania -> [Programy] -> [Funkcje systemu Windows] i całkowicie odznacz wszystkie składniki związane z Hyper-V. Uruchom ponownie system.

  2. Włącz ponownie Hyper-V. Uruchom ponownie.

UWAGA 1 :

Hyper-V wymaga wirtualizacji sprzętu jako warunku wstępnego. Upewnij się, że Twój komputer obsługuje tę funkcję, jeśli tak i nadal nie działa, istnieje możliwość, że BIOS nie jest poprawnie skonfigurowany i ta funkcja jest wyłączona. W takim przypadku sprawdź, włącz i spróbuj ponownie. Funkcje wirtualizacji mogą być zgłaszane pod różnymi nazwami w zależności od używanej platformy (np. Jeśli nie widzisz żadnej opcji, która wyraźnie używa etykiety wirtualizacji, na AMD musisz sprawdzić stan funkcji SVM , w Intelu stan funkcji VT-x ).

UWAGA 2:

Hyper-V można zainstalować tylko z niektórymi wersjami, np .:

Windows 10 Enterprise; Windows 10 Professional; Windows 10 Education.

Hyper-V nie może być zainstalowany na tańszych lub mobilnych wersjach Windows, np .:

Windows 10 Home; Windows 10 Mobile; Windows 10 Mobile Enterprise.


3
@Julien spróbuj odinstalować i ponownie zainstalować Hyper-V zobacz edycję
Silverstorm

5
Na wypadek, gdyby ktoś inny miał podobny problem, niedawno zainstalowałem Bash na Ubuntu w systemie Windows (który używa Hyper-V). Po odinstalowaniu go, a następnie wykonaniu kroków w tej odpowiedzi, Docker zadziałał dla mnie!
Kyle Challis

9
Używam Windows 10 w Bootcamp na MacBooku Pro. Miałem ten sam problem. Najpierw próbowałem, dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /Allale nie udało mi się go rozwiązać, więc spróbowałem bcdedit /set hypervisorlaunchtype autoi Docker teraz działa dla mnie.
Johnny Oshika

1
To nie był problem w moim przypadku, był to fakt, że wirtualizacja została wyłączona w BIOS-ie. Musiałem włączyć funkcję wirtualizacji w zakładce bezpieczeństwa w BIOS-ie, co spowodowało, że docker od razu zaczął działać.
shahar_m

5
Rozwiązanie B zadziałało po uaktualnieniu / zmianie dysku SSD za pomocą narzędzia Samsung SSD Migration Tool.
plocks

19

Poniżej znajduje się działające rozwiązanie dla mnie, wykonaj następujące kroki

  1. Otwórz PowerShell jako administrator lub monit CMD jako administrator

  2. Uruchom to polecenie w PowerShell-> bcdedit /set hypervisorlaunchtype auto

  3. Teraz uruchom ponownie system i spróbuj ponownie.

Twoje zdrowie.


4
Pracowałem dla mnie bez odinstalowywania Intel HAXM, ale teraz vmware już nie działa :(
realtebo

11

Odinstalowałem Intel HAXM i VirtualBox, Docker teraz działa


12
Zainstalowałem HAXM dla Android Development i musiałem wyłączyć HyperV. Usunięcie go przywróciło Docker for Windows. Czy teraz ktoś może mi powiedzieć, jak sprawić, by emulator Androida i Docker współistniały?
Dieter Menne



3

Dla mnie wszystko, co musiałem zrobić, odinstalowując VMware.

Docker jest teraz uruchomiony


1

Czy możesz spróbować ręcznie włączyć Hyper-V i potencjalnie ręcznie utworzyć i uruchomić maszynę wirtualną Hyper-V? Detale:


3
U mnie to nie działało, nawet gdy włączono Hyper-V i skonfigurowano BIOS; Nadal otrzymywałem ten błąd. Wyłączenie Hyper-V +, ponowne uruchomienie systemu Windows, a następnie włączenie go ponownie rozwiązało problem.
Tadej

1

W moim przypadku musiałem odinstalować hyper-v, zrestartować komputer i ponownie uruchomić docker.


1

Spróbuj tego w PowerShell (z włączonym administratorem):

Enable-WindowsOptionalFeature –Online -FeatureName Microsoft-Hyper-V –All -NoRestart

Spowoduje to zainstalowanie HyperVisor bez narzędzi do zarządzania, a następnie będzie można uruchomić Dockera.


1

Wypróbowałem wiele sugestii powyżej, ale docker wciąż narzeka na błąd wirtualizacji wspomaganej sprzętowo. Wirtualizacja jest włączona w systemie BIOS, a także jest zainstalowana i włączona funkcja Hyper-V. Po kilku próbach i błędach w końcu pobrałem narzędzie coreinfo i odkryłem, że Hypervisor nie jest faktycznie włączony. Używanie ISE (wersja 64-bitowa) jako administratora i uruchamianie polecenia z powyższego rozwiązania B, co z powodzeniem włącza hiperwizor (ponownie sprawdzane przez coreinfo -v). Po ponownym uruchomieniu docker działa teraz pomyślnie.


1

Spróbuj wykonać te czynności

  1. Uruchom to polecenie w programie PowerShell ---> bcdedit / set hypervisorlaunchtype auto
  2. Uruchom ponownie komputer
  3. Teraz spróbuj docker --version w linii cmd


0

Używam też włóczęgi. Wygląda na to, że mogę używać tylko jednej rzeczy naraz. Odinstalowanie vagrant / virtualBox pozwoliło mi uruchomić docker i vice versa



0

@Silverstorm

Miałem zainstalowany Hyperv i włączoną wirtualizację w moim BIOS-ie.

Ale ROZWIĄZANIE A nie zadziałało dla mnie.

Jednak ROZWIĄZANIE B zadziałało jak urok.

ROZWIĄZANIE B (Jeśli funkcja Hyper-V jest już włączona, ale nie działa)

Włącz Hypervisora ​​z

bcdedit / set hypervisorlaunchtype auto Teraz zrestartuj system i spróbuj ponownie.


0

Oprócz oryginalnej odpowiedzi, wykonałem następujące czynności:

  • Wyłącz Hyper-V w funkcjach systemu Windows
  • Wyłączanie i włączanie wirtualizacji w systemie BIOS
  • Zaloguj się ponownie w systemie Windows z włączoną funkcją Hyper-V. Zostałem poproszony o aktualizacje dla Hyper-V i zrobiłem aktualizację. Uruchom ponownie po wyświetleniu monitu.
  • Zadziałało!

0

Jeśli wszystko jest w porządku z opcją BIOS, właśnie wymusiłem wyłączenie i włączenie wszystkich funkcji HyperV, a to rozwiązało mój problem - cmd Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All --restart Enable-WindowsOptionalFeature -Online -FeatureName Microsoft- Hyper-V - All


0

W moim przypadku musiałem włączyć wirtualizację w ustawieniach BIOS-u.

  1. Uruchom ponownie komputer
  2. Gdy jesteś na ekranie 'restart', naciśnij dowolny z tych klawiszy, aby wprowadzić ustawienia BIOS w systemie Windows: esc, f1, f2, f3, f4, f8 lub delete
  3. Dla systemów opartych na Intelu:
    • naciśnij f7 (tryb zaawansowany)
    • przejdź do zaawansowanych
    • konfiguracja cpa
    • włączyć wirtualizację

I po wszystkich powyższych krokach w końcu działa :-)


0

W moim przypadku wykorzystałem wszystkie wymienione powyżej rozwiązania, ale nic mi nie wyszło. Postanowiłem więc odinstalować dockera i zainstalować go ponownie.

Teraz w trakcie zauważyłem, że nie sprawdzałem Use Windows containers instead of Linux containers (this can be changed after installation)swojej poprzedniej instalacji i dlatego mam problem powyżej, a rozwiązania nadal go nie rozwiązały. Dlatego upewnij się, że sprawdziłeś to przed uruchomieniem Dockera na pulpicie lub odinstaluj go i zainstaluj ponownie, zaznaczając tę ​​opcję.

Proces instalacji platformy Docker

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.