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.