Skip to content
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

Docker for Windows (and Hyper-V) not working after update to Windows 10 1709 #1221

Closed
SCWells72 opened this issue Oct 18, 2017 · 124 comments
Closed

Comments

@SCWells72
Copy link

Expected behavior

Docker starts fine after updating to Windows 10 1709.

Actual behavior

Docker fails after updating Windows to 1709 with:

Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Hyper-V encountered an error trying to access an object on computer 'MYCOMPUTERNAME' because the object was not found. The object might have been deleted. Verify that the Virtual Machine Management service on the computer is running.
at New-Switch, <No file>: line 131
at <ScriptBlock>, <No file>: line 385
   at Docker.Backend.ContainerEngine.Linux.DoStart(Settings settings, String daemonOptions) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\ContainerEngine\Linux.cs:line 246
   at Docker.Backend.ContainerEngine.Linux.Restart(Settings settings, String daemonOptions) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\ContainerEngine\Linux.cs:line 182
   at Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass9_0.<Register>b__0(Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 47
   at Docker.Core.Pipe.NamedPipeServer.RunAction(String action, Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 145

Information

  • Diagnostic ID 71BC63BB-E7FE-4D08-910F-237D3872E478/2017-10-18_14-31-46
  • Windows 10 1709 on Surface Pro 2017

So to be fair, it doesn't appear that Hyper-V made it through the OS update very well, but since I only use Hyper-V to run Docker for Windows, and since Microsoft support has so far been completely useless, I thought I'd check in here to see if a) anyone else had hit this issue; b) anyone might have thoughts on how to get back into a good state.

I've tried disabling and re-enabling Hyper-V completely (of course with the requisite reboots in between), uninstalling and reinstalling Docker for Windows, installing the edge version of Docker for Windows, resetting the Windows network interfaces completely, and even doing a system restore to the previous state, and at this point it's just not working.

As noted above, the core issue appears to be Hyper-V. The Hyper-V Host Compute Service and Hyper-V Virtual Machine Management service are both reported as Running, but even Hyper-V Manager can't connect to Hyper-V on the local machine to manage it.

Anyone else seeing this? If so, any thoughts on how to get back into a good working state? Thanks in advance!

@craigotis
Copy link

I'm not sure if I'm seeing the same issue as you, but since updating to 1709 last night, I can no longer launch a Docker QuickStart Terminal. I get two UAC prompts, which I accept, but it fails regardless with:

Starting "default"...
(default) Check network to re-create if needed...
Unable to start the VM: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm default --type headless failed:
VBoxManage.exe: error: The virtual machine 'default' has terminated unexpectedly during startup with exit code 1 (0x1).  More details may be available in 'C:\Users\Craig\.docker\machine\machines\default\default\Logs\VBoxHardening.log'
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MachineWrap, interface IMachine

Details: 12:01:00.825297 NAT: DHCP offered IP address 10.0.2.15
Looks like something went wrong in step ´Checking status on default´... Press any key to continue...

@SCWells72
Copy link
Author

That sounds a bit different, @craigotis. It looks like you're using VirtualBox whereas I'm using using Windows 10 Hyper-V which has seemingly stopped working. It's possible the root cause is the same, of course...some change in how virtualization is allowed to occur in Windows 10 after the update perhaps?

@jasonbivins
Copy link

jasonbivins commented Oct 19, 2017

@SCWells72
Try removing Hyper-V and the Containers windows features - then re-enabling through an elevated Powershell prompt. I've seen a few people have better luck doing it that way than through the GUI

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
• Reboot, then enable the containers feature.
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All

@SCWells72
Copy link
Author

Thanks for the suggestion, @jasonbivins, but same result. I have another Surface Pro...exact same model...on which I'd never enabled Hyper-V and which I also updated to 1709 this morning. I decided to enable Hyper-V to see if the same problem occurred, and it didn't. I'm able to access Hyper-V on the local machine just fine there. It appears that something happened when upgrading the active Hyper-V on the other machine and it just can't get back into a good state. I fear I'm going to have to reload the OS entirely to get it back which just seems silly.

Any other thoughts on where to look for error logging during Hyper-V startup? I scanned the Event Viewer and didn't see anything suspicious, but this is definitely not my forte. It's possible I just don't know where to look.

@compkickers
Copy link

Ive got the exact same issue, but i came accross this when rs3 was an insider build. Does your hyper v work just after you have installed it? Mine does but then after a reboot it dies everytime.

Its def a Hyper-V issue though, would really appreciate some ideas?

JK

@SCWells72
Copy link
Author

@compkickers mine doesn't work at all anymore. Prior to this morning, zero problems. Since the 1709 update, Hyper-V simply doesn't start any longer even though the services are both shown as running.

@jasonbivins
Copy link

@SCWells72
According to the logs and your system events - HyperVisor is starting, and we're able to create and delete the DockerNAT switch without error.
Do you see anything useful in the event viewer under Applications and Services > Microsoft > Windows >Hyper-V
Do you get an error when Hyper-V won't start?

@SCWells72
Copy link
Author

@jasonbivins I'm not sure I understand your most recent comment. I haven't provided any logs. Were you responding to someone else?

And there are no errors from Hyper-V initialization. In fact, if you open the Services control panel it shows both services (Hyper-V Host Compute Service and Hyper-V Virtual Machine Management) as Started. However, if I tried to use Hyper-V Manager to connect to the local Hyper-V instance it says:

"An error occurred while attempting to connect to server 'MyHostName'. Check that the Virtual Machine Management service is running and that you are authorized to connect to the server. Hyper-V encountered an error trying to access an object on computer 'MyHostName' because the object was not found. The object might have been deleted. Verify that the Virtual Machine Management service on the computer is running."

If I try to start the services from a admin CLI, they show as running:

> net start vmcompute
The requested service has already been started.

> net start vmms
The requested service has already been started.

@rvprasad
Copy link

rvprasad commented Oct 19, 2017

I too encountered this issue after updating to Windows 10 build 1709. This issue only happens when Docker is in "Linux Containers" mode.

Diagnostic ID for the corresponding crash report is 17A5BBF0-D955-4DB7-A538-CEF004DD5BA1/2017-10-19_00-52-09.

@SCWells72
Copy link
Author

@rvprasad I think we're seeing slightly different issues. In my case Hyper-V never even starts successfully. It looks like you're able to get things to start but not to stay started. Still, there's obviously some general class of issues with this stuff in 1709 that weren't present before. It doesn't fix my issue, but I do prefer that mine isn't a total one-off because it raises the likelihood of a resolution!

@SCWells72
Copy link
Author

Okay, so here's a WTF update...I went into the office today and it all started just fine on my work network. Doesn't work at all on my home network, though. Anyone have any idea why that might be the case? Again, the main culprit here is Hyper-V. Is there perhaps something in the VM created by Docker that's tied to a specific network on which it's created?

@jasonbivins
Copy link

@SCWells72 The diagnostic ID you provided gives me Docker logs and a few relevant system events.
You can try clearing out your virtual switches, it sounds like one of them is stuck or was using an outdated driver. I've also read through some forums that Resetting Networking in Windows 10 helps, but it's more of a nuclear scorched earth option: https://www.howtogeek.com/265870/how-to-reset-your-entire-network-in-windows-10-and-start-from-scratch/

@jasonbivins
Copy link

jasonbivins commented Oct 19, 2017

@rvprasad Let's create the MobyLinuxVM manually to see if the issue is directly with Hyper-V, or to see if we can get a more specific error. Make sure you run Powershell as an Admin
powershell -ExecutionPolicy ByPass -File "C:\Program Files\Docker\Docker\resources\MobyLinux.ps1" -create

Here is the error message that I'm seeing
[00:52:04.556][NamedPipeClient][Error ] Unable to send Start: Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Hyper-V encountered an error trying to access an object on computer 'VENKATESHW10BOX' because the object was not found. The object might have been deleted, or you might not have permission to perform the task. Verify that the Virtual Machine Management service on the computer is running. If the service is running, try to perform the task again by using Run as Administrator.
at New-MobyLinuxVM

@compkickers
Copy link

Yeah does sound like we have a few causes of the same outcome here, ive had Hyper V issues ever since 1709 insider. My vms always fail to start from the worker service failing. It seems some people here are able to get Hyper V to run sometimes but not with Moby linux, for me its all Vms in 1709. I only use hyper v for docker so i tried docker first then other vms. But i still have the same error msgs in my Docker client, but as some have pointed out it all points back to Hyper-V. Ive also posted on MS forums in the hopes they can help, im almost certain if i can get Hyper-V to run initially then Docker will run.

Just out of interest what Security products are people using?? I use Sophos Central, the reason i ask this is i had 1 time where i had a VM start from a clean install and before i installed Sophos. But ive not had time to test if Sophos had any effect.

Im going to try building a VM on Azure later using Win 10 ent 1709, and use this to run tests. Ill post any findings.

Thanks

JK

@rvprasad
Copy link

Based on the error message, it seems the issue I am observing is a bit different from the one observed by @SCWells72. So, I have created another issue #1224.

BTW, the behavior seems to be the same with the Docker release available on edge channel.

@rvprasad
Copy link

@jasonbivins I tried the command you suggested and I encountered the same message that you reported.

@Artgit
Copy link

Artgit commented Oct 20, 2017

I also faced several issues with virtualization after updating to Windows 10 1709 - https://stackoverflow.com/questions/46831762/maven-build-and-maven-failsafe-plugin-the-forked-vm-terminated-without-properl
Right now I have no idea about their source and how to resolve this...

@stritti
Copy link

stritti commented Oct 20, 2017

@SCWells72
Copy link
Author

And now that I'm working from home again, the same problem occurs. I guess when I'm back in the office on Monday where it does work, I'll go ahead and clean out the virtual switch, etc., and let those reinstall/rebuild to see if that puts things back into a good state. I'll definitely keep folks posted here on my findings since it seems to be affecting a decent number of people at this point, albeit with multiple manifestations.

@PatrickLang
Copy link

PatrickLang commented Oct 23, 2017

@SCWells72 what kind of user are you logging in as? Microsoft account (email), local account, Azure Active Directory / work (still email), or Active Directory domain? Is your machine domain joined? I'm trying to figure out why it would behave differently at home vs at work and if you're domain joined that could be a possibility.

Have you tried using a local admin user account to run Hyper-V manager instead?

cc @scooley

@MrMonkeyMonk
Copy link

No clue as to why @SCWells72 has differing behavior between home and work, but I was able to get linux containers working after removing the 'Windows Subsystem for Linux' feature. After linux containers were working again, I was able to re-enable the Linux Subsystem.

@stritti
Copy link

stritti commented Oct 26, 2017

Using Version: 17.10.0-ce (edge, Git commit: f4ffd25 Built: Tue Oct 17 19:09:12 2017) Docker works for me on Win10 (Update 1709) using the new Option to use "Linux Containers" (settings/general: last option flag).

@rvprasad
Copy link

@MrMonkeyMonk I tried your solution and it did not work.

@rvprasad
Copy link

@stritti I was able to reproduce your observation. However, the failure persists with LCOW support disabled.

@joesixpack
Copy link

None of the above fixes worked. However, this did:

net localgroup administrators LOCAL SERVICE /add
net localgroup administrators LOCAL /delete
net localgroup administrators SERVICE /delete

Then reboot.

@zekth
Copy link

zekth commented Jun 22, 2019

Just fixed this case on my env, i had the peripheral "enumerator of microsoft virtual drive" disabled (litteral translation).

@foggy-glasses
Copy link

I resolved it following this link:
https://social.technet.microsoft.com/Forums/en-US/ee5b1d6b-09e2-49f3-a52c-820aafc316f9/hyperv-doesnt-work-after-upgrade-to-windows-10-1809?forum=win10itprovirt

Summary:
1, Open "Window Security"
2, Open "App & Browser control"
3, Click "Exploit protection settings" at the bottom
4, Switch to "Program settings" tab
5, Locate "C:\WINDOWS\System32\vmcompute.exe" in the list and expand it
6, Click "Edit"
7, Scroll down to "Code flow guard (CFG)" and uncheck "Override system settings"
8, Start vmcompute from powershell "net start vmcompute"

Michele

Thanks! This worked for me and I tried quite a few options before this worked. One of the previous suggestions only mentioned about changing the Exploit Protection Settings.

@josh-axy
Copy link

Me too.

@bhupendra23
Copy link

BB7D9C25-ADCF-4CB8-A26D-1663C64B201E/20191213165157

Unable to stop - vmcompute service is disabled. The service must be enabled to run Docker Desktop.

at Docker.Core.Pipe.NamedPipeClient.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters)
at Docker.Actions.DoStart(SynchronizationContext syncCtx, Boolean showWelcomeWindow, Boolean executeAfterStartCleanup)
at Docker.Actions.<>c__DisplayClass24_0.b__0()
at Docker.ApiServices.TaskQueuing.TaskQueue.<>c__DisplayClass17_0.<.ctor>b__1()

can someone help in this.
am trying to do every possible thing but couldnt get any solution

1 similar comment
@bhupendra23
Copy link

BB7D9C25-ADCF-4CB8-A26D-1663C64B201E/20191213165157

Unable to stop - vmcompute service is disabled. The service must be enabled to run Docker Desktop.

at Docker.Core.Pipe.NamedPipeClient.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters)
at Docker.Actions.DoStart(SynchronizationContext syncCtx, Boolean showWelcomeWindow, Boolean executeAfterStartCleanup)
at Docker.Actions.<>c__DisplayClass24_0.b__0()
at Docker.ApiServices.TaskQueuing.TaskQueue.<>c__DisplayClass17_0.<.ctor>b__1()

can someone help in this.
am trying to do every possible thing but couldnt get any solution

@joesixpack
Copy link

Looks like your Hyper-V isn't installed/running.

@bhupendra23
Copy link

Looks like your Hyper-V isn't installed/running.

its runing.

@sirudog
Copy link

sirudog commented Dec 19, 2019

This solved the issue for me:
#2090 (comment)

@HardToGiveaName
Copy link

I resolved it following this link:
https://social.technet.microsoft.com/Forums/en-US/ee5b1d6b-09e2-49f3-a52c-820aafc316f9/hyperv-doesnt-work-after-upgrade-to-windows-10-1809?forum=win10itprovirt
Summary:
1, Open "Window Security"
2, Open "App & Browser control"
3, Click "Exploit protection settings" at the bottom
4, Switch to "Program settings" tab
5, Locate "C:\WINDOWS\System32\vmcompute.exe" in the list and expand it
6, Click "Edit"
7, Scroll down to "Code flow guard (CFG)" and uncheck "Override system settings"
8, Start vmcompute from powershell "net start vmcompute"
Michele

Thanks! This worked for me and I tried quite a few options before this worked. One of the previous suggestions only mentioned about changing the Exploit Protection Settings.

It does work! Thranks

@dariusgm
Copy link

I resolved it following this link:
https://social.technet.microsoft.com/Forums/en-US/ee5b1d6b-09e2-49f3-a52c-820aafc316f9/hyperv-doesnt-work-after-upgrade-to-windows-10-1809?forum=win10itprovirt
Summary:
1, Open "Window Security"
2, Open "App & Browser control"
3, Click "Exploit protection settings" at the bottom
4, Switch to "Program settings" tab
5, Locate "C:\WINDOWS\System32\vmcompute.exe" in the list and expand it
6, Click "Edit"
7, Scroll down to "Code flow guard (CFG)" and uncheck "Override system settings"
8, Start vmcompute from powershell "net start vmcompute"
Michele

Thanks, also had to do this on a fresh installed Windows 10 pro build 1909

@docker-robott
Copy link
Collaborator

Issues go stale after 90 days of inactivity.
Mark the issue as fresh with /remove-lifecycle stale comment.
Stale issues will be closed after an additional 30 days of inactivity.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so.

Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle stale

@docker-robott
Copy link
Collaborator

Closed issues are locked after 30 days of inactivity.
This helps our team focus on active issues.

If you have found a problem that seems similar to this, please open a new issue.

Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle locked

@docker docker locked and limited conversation to collaborators Aug 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests