New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hardware assisted virtualization and data execution protection must be enabled in the BIOS. #1012

Closed
Oduig opened this Issue Aug 17, 2017 · 5 comments

Comments

Projects
None yet
5 participants
@Oduig

Oduig commented Aug 17, 2017

Expected behavior

Docker for Windows starts.

Actual behavior

Docker for Windows does not start. (Error message in the title appears during initialization.)

Information

Since windows security update KB4034674, Docker complains about hardware virtualization.
Coreinfo:

Coreinfo v3.31 - Dump information on system CPU and memory topology
Copyright (C) 2008-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz
Intel64 Family 6 Model 61 Stepping 4, GenuineIntel
Microcode signature: 0000001F
HYPERVISOR      -       Hypervisor is present
VMX             *       Supports Intel hardware-assisted virtualization
EPT             *       Supports Intel extended page tables (SLAT)

Containerhost debug log:
https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/live/windows-server-container-tools/Debug-ContainerHost

PS C:\temp\docker> ./test.ps1
Checking for common problems

Describing Windows Version and Prerequisites
  [+] Is Windows 10 Anniversary Update or Windows Server 2016 760ms
  [+] Has KB3192366, KB3194496, or later installed if running Windows build 14393 120ms
  [+] Is not a build with blocking issues 34ms
  [+] Has 'Containers' feature installed 44.96s

Describing Docker is installed
  [+] A Docker service is installed - 'Docker' or 'com.Docker.Service'  336ms
  [+] Service is running 50ms
  [+] Docker.exe is in path 2.17s
  [+] Docker is registered in the EventLog service 65ms

Describing User has permissions to use Docker daemon
  [+] docker.exe should not return access denied 78ms

Describing Windows container settings are correct
  [+] Do not have DisableVSmbOplock set to 1 62ms
  [+] Do not have zz values set 65ms
  [+] Do not have FDVDenyWriteAccess set to 1 54ms

Describing The right container base images are installed
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.31/images/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate
 that the docker daemon is not running.
  [-] At least one of 'microsoft/windowsservercore' or 'microsoft/nanoserver' should be installed 186ms
    Cannot validate argument on parameter 'Property'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
    at <ScriptBlock>, C:\temp\docker\test.ps1: line 115
    115:         (Measure-Object $baseImages).Count | Should Not BeNullOrEmpty


Describing Container network is created
  [+] At least one local container network is available 1.11s
  [-] At least one NAT, Transparent, or L2Bridge Network exists 63ms
    Expected {0} to be greater than {0}
    at <ScriptBlock>, C:\temp\docker\test.ps1: line 206
    206:       $totalnets | Should BeGreaterThan 0
  [-] NAT Network's vSwitch is internal 31ms
    Expected: {Internal}
    But was:  {}
    at <ScriptBlock>, C:\temp\docker\test.ps1: line 211
    211:       $switchType | Should Be "Internal"
  [+] A Windows NAT is configured if a Docker NAT network exists 989ms
  [-] Specified Network Gateway IP for NAT network is assigned to Host vNIC 56ms
    Expected: value to not be empty
    at <ScriptBlock>, C:\temp\docker\test.ps1: line 225
    225:       $natGatewayIP | Should Not BeNullOrEmpty
  [-] NAT Network's internal prefix does not overlap with external IP' 26ms
    Expected {0} to be greater than {0}
    at <ScriptBlock>, C:\temp\docker\test.ps1: line 252
    252:         $hostips.Count | Should BeGreaterThan 0

Steps to reproduce the behavior

Not sure. I reinstalled both Docker Stable, Docker Edge, the security update KB4034674 and I rebooted Windows - every time, it keeps telling me I need to enable virtualization, which is enabled according to Task Manager.

I suspect the security update did not cause the problem, because uninstalling it did not solve the problem. However, it might have triggered some change in windows settings...

Anything else that I could try?

@jasonbivins

This comment has been minimized.

Show comment
Hide comment
@jasonbivins

jasonbivins Aug 22, 2017

Hi @Oduig
Let's try to remove everything and start over with a new setup.

Warning - You will lose any docker containers or images. As always, please run a full backup before making any changes.
These steps can be done through the Windows control panel, or using the below Powershell commands with elevated privileges.
• Uninstall Docker, Hyper-V, and if installed - the Windows containers feature. Then reboot.
• Enable Hyper-V
• Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
• Reboot, then enable the containers feature.
• Enable-WindowsOptionalFeature -Online -FeatureName Containers -All
• Install Docker

jasonbivins commented Aug 22, 2017

Hi @Oduig
Let's try to remove everything and start over with a new setup.

Warning - You will lose any docker containers or images. As always, please run a full backup before making any changes.
These steps can be done through the Windows control panel, or using the below Powershell commands with elevated privileges.
• Uninstall Docker, Hyper-V, and if installed - the Windows containers feature. Then reboot.
• Enable Hyper-V
• Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
• Reboot, then enable the containers feature.
• Enable-WindowsOptionalFeature -Online -FeatureName Containers -All
• Install Docker

@Oduig

This comment has been minimized.

Show comment
Hide comment
@Oduig

Oduig Aug 23, 2017

It works now! Thanks @jasonbivins.

Oduig commented Aug 23, 2017

It works now! Thanks @jasonbivins.

@Oduig Oduig closed this Aug 23, 2017

@byander

This comment has been minimized.

Show comment
Hide comment
@byander

byander Apr 29, 2018

It works for me too! Thanks @jasonbivins!!!!

byander commented Apr 29, 2018

It works for me too! Thanks @jasonbivins!!!!

@bnm22

This comment has been minimized.

Show comment
Hide comment
@bnm22

bnm22 Sep 10, 2018

Thank you!!!!

bnm22 commented Sep 10, 2018

Thank you!!!!

@angelrc96

This comment has been minimized.

Show comment
Hide comment
@angelrc96

angelrc96 Oct 8, 2018

It worked for me too! Thank you so much @jasonbivins

angelrc96 commented Oct 8, 2018

It worked for me too! Thank you so much @jasonbivins

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment