Ошибка Docker для Windows: «В BIOS должна быть включена аппаратная виртуализация и защита выполнения данных»

151

Я установил Docker, и я получаю эту ошибку при запуске графического интерфейса:

Аппаратная виртуализация и защита выполнения данных должны быть включены в BIOS

Похоже на ошибку, поскольку Docker работает как брелок из командной строки, но мне интересно, есть ли у кого-нибудь подсказка о том, почему это происходит?

Прежде чем вы спросите, да, я включил виртуализацию в BIOS, и утилита идентификации процессоров Intel подтверждает, что она активирована. Docker, docker-machine и docker-compose все работают из командной строки, Virtualbox работает, работает Docker из виртуальной машины Debian или Ubuntu.

Есть только эта странная проблема с GUI.

Мои характеристики:

  • Windows 10 Pro x64 Anniversary Edition
  • Intel Core i5-6300HQ @ 2,30 ГГц
Julien
источник

Ответы:

340

Если описанные функции включены, проблема в том, что Hyper-V отключен или агент Hypervisor не запущен

РЕШЕНИЕ A (если Hyper-V полностью отключен или не установлен)

  1. Откройте PowerShell от имени администратора и

  2. Включить Hyper-V с

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

РЕШЕНИЕ B (если функция Hyper-V уже включена, но не работает)

Включить гипервизор с

bcdedit /set hypervisorlaunchtype auto

Теперь перезагрузите систему и попробуйте снова.

РЕШЕНИЕ С

Если проблема сохраняется, возможно, Hyper-V в вашей системе поврежден, поэтому

  1. Зайдите в Панель управления -> [Программы] -> [Возможности Windows] и полностью снимите все компоненты, связанные с Hyper-V. Перезагрузите систему.

  2. Снова включите Hyper-V. Начать сначала.

ПРИМЕЧАНИЕ 1 :

Hyper-V требует аппаратной виртуализации в качестве предварительного условия. Убедитесь, что ваш компьютер поддерживает его, если да и все еще не будет работать, есть вероятность того, что ваш BIOS не настроен правильно, и эта функция отключена. В этом случае проверьте, включите его и попробуйте снова. Функции виртуализации могут быть представлены под разными именами в зависимости от используемой платформы (например, если вы не видите опции, которая явно использует метку виртуализации, в AMD вы должны проверить состояние функции SVM , в Intel - состояние функции VT-x ).

ЗАМЕТКА 2:

Hyper-V может быть установлен только с некоторой версией, например:

Windows 10 Enterprise; Windows 10 Professional; Windows 10 Образование.

Hyper-V не может быть установлен на более дешевые или мобильные версии Windows, например:

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

SilverStorm
источник
3
@Julien попытайтесь удалить и переустановить Hyper-V, см. Правку
Silverstorm
5
В случае, если у кого-то еще есть подобная проблема, я недавно установил Bash на Ubuntu в Windows (которая использует Hyper-V). После того, как я удалил его, а затем следовал инструкциям в этом ответе, Docker работал на меня!
Кайл Чаллис
9
Я использую Windows 10 в Bootcamp на MacBook Pro. У меня такая же проблема. Сначала я попробовал, dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /Allно, похоже, не решил, поэтому я попробовал, bcdedit /set hypervisorlaunchtype autoи теперь Docker работает за меня.
Джонни Ошика
1
Это не было проблемой в моем случае, это был факт, что виртуализация была отключена в BIOS. Мне пришлось включить функцию виртуализации на вкладке «Безопасность» в BIOS, что впоследствии заставило докер работать сразу.
shahar_m
5
Решение B сработало для меня после обновления / переключения моего SSD через Samsung SSD Migration Tool.
выходит
19

Ниже рабочее решение для меня, пожалуйста, следуйте этим шагам

  1. Откройте PowerShell от имени администратора или CMD от имени администратора

  2. Запустите эту команду в PowerShell-> bcdedit /set hypervisorlaunchtype auto

  3. Теперь перезагрузите систему и попробуйте снова.

веселит.

Лавекуш Агравал
источник
4
Работал у меня, не удаляя Intel HAXM, но теперь vmware больше не работает :(
realtebo
11

Я удалил Intel HAXM и VirtualBox, теперь Docker работает

Марк
источник
12
Я установил HAXM для разработки Android и должен был отключить HyperV. Удаление его восстановил Docker для Windows. Теперь, если кто-нибудь может сказать мне, как заставить эмулятор Android и Docker сосуществовать?
Дитер Менн
1
itwriting.com/blog/…
Дитер Менн
3

Для меня все, что мне нужно было сделать, это удалить VMware.

Докер сейчас работает

Яхья Хуссейн
источник
1

Можете ли вы попробовать включить Hyper-V вручную, а также создать и запустить виртуальную машину Hyper-V вручную? Подробности:

friism
источник
3
Для меня это не сработало, даже когда Hyper-V был включен и настроен BIOS; Я все еще получал эту ошибку. Отключение Hyper-V +, перезапуск Windows и его повторное включение решило проблему для меня.
Тадей,
1

В моем случае мне пришлось удалить Hyper-V, перезагрузить компьютер и снова запустить Docker.

aph5
источник
1

Попробуйте это в PowerShell (администратор включен):

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

Это установит HyperVisor без инструментов управления, и после этого вы сможете запустить Docker.

H35am
источник
1

Я попробовал много предложений выше, но докер продолжает жаловаться на аппаратную ошибку виртуализации. Виртуализация включена в BIOS, а также Hyper-V установлен и включен. После нескольких попыток и ошибок я в конечном итоге загрузил инструмент coreinfo и обнаружил, что Hypervisor фактически не был включен. Используя ISE (64 бита) в качестве администратора и запустите команду из вышеупомянутого решения B, и это успешно активирует гипервизор (снова проверяется через coreinfo -v). После перезапуска Docker теперь успешно работает.

стивен
источник
1

Попробуйте эти шаги

  1. Запустите эту команду в powershell ---> bcdedit / set hypervisorlaunchtype auto
  2. Перезагрузите компьютер
  3. Теперь попробуйте docker --version в строке cmd
Вамши Кришна
источник
0

Проблема для меня была решена, когда я удалил Cygwin.

Инес Ван Лаер
источник
0

Я также использую бродягу. Похоже, я могу использовать только 1 вещь одновременно. Удаление vagrant / virtualBox позволило мне запустить Docker и наоборот

MGreenfield
источник
0

@Silverstorm

Я установил Hyperv и включил виртуализацию в моем BIOS.

Но РЕШЕНИЕ А не сработало для меня.

Однако РЕШЕНИЕ В работало как шарм.

РЕШЕНИЕ B (если функция Hyper-V уже включена, но не работает)

Включить гипервизор с

bcdedit / set hypervisorlaunchtype auto Теперь перезапустите систему и попробуйте снова.

Ральф
источник
0

Помимо первоначального ответа, я сделал следующее:

  • Отключить Hyper-V в Windows
  • Включение и выключение виртуализации в BIOS
  • Войдите в Windows, включили Hyper-V. Мне сказали, что есть обновления для Hyper-V, и я сделал обновление. Перезапустите, когда будет предложено.
  • Это сработало!
Питер Вен
источник
0

Если все в порядке с опцией BIOS, я просто принудительно отключил и включил все функции HyperV, и это решило мою проблему --cmd Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All --restart Enable-WindowsOptionalFeature -Online -FeatureName Microsoft- Hyper-V - все

Поли Хамза
источник
0

В моем случае мне пришлось включить виртуализацию в настройках BIOS.

  1. Перезагрузите компьютер
  2. Находясь на экране «перезагрузки», нажмите любую из этих клавиш и введите настройки BIOS в Windows: esc, f1, f2, f3, f4, f8 или delete.
  3. Для систем на базе Intel:
    • нажмите f7 (расширенный режим)
    • перейти на продвинутый
    • конфигурация cpa
    • включить виртуализацию

И после всех вышеперечисленных шагов, это наконец работает :-)

EdwinN1337
источник
0

В моем случае, хотя я использовал все решения, упомянутые выше, но у меня ничего не получалось. Поэтому я решил удалить докер и установить его снова.

Сейчас в процессе, я заметил, что я не проверял Use Windows containers instead of Linux containers (this can be changed after installation)мою предыдущую установку, и именно поэтому я получил проблему выше, и решения все еще не решили ее. Поэтому убедитесь, что вы проверили его перед запуском док-станции или удалите его и установите снова, установив этот параметр.

Процесс установки докера

ДИНА ТАКЛИТ
источник