You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10系统下Docker间歇性无法启动问题求助

Docker for Windows 10 Enterprise 间歇性启动失败(卡在MobyLinuxVM挂载环节)

问题描述

在Windows 10企业版中使用Docker时遇到间歇性启动问题:机器重启后,Docker有时能正常启动,有时完全无法启动。手动终止Docker进程并重新点击「Docker for Windows」也无法解决,查看日志发现进程卡在了挂载虚拟硬盘的环节,日志尾部内容如下:

[21:40:07.907][PowerShell ][Info ] Run script with parameters: -Create True -VhdPathOverride -VhdSize 64424509440 -SwitchSubnetAddress 10.0.75.0 -SwitchSubnetMaskSize 24 -CPUs 2 -Memory 2048 -IsoFile C:\Program Files\Docker\Docker\Resources\docker-for-win.iso... 
[21:40:07.907][HyperV ][Info ] Script started at 21:40:07.907 
[21:40:07.907][HyperVGuids ][Info ] GUIDs installed 
[21:40:07.929][HyperV ][Info ] Module loaded at 21:40:07.929 
[21:40:07.929][Firewall ][Info ] All existing rules are removed. 
[21:40:07.929][Firewall ][Info ] Opening ports for C:\Program Files\Docker\Docker\Resources\com.docker.proxy.exe... 
[21:40:07.960][Firewall ][Info ] Opening ports for SMB... 
[21:40:07.960][HyperV ][Info ] Creating Switch: DockerNAT... 
[21:40:07.992][Firewall ][Info ] Ports are opened 
[21:40:14.115][HyperV ][Info ] Switch created. 
[21:40:23.431][HyperV ][Info ] Set IP address on switch 
[21:40:24.387][HyperV ][Info ] Creating VM MobyLinuxVM... 
[21:40:26.443][HyperV ][Info ] Setting CPUs to 2 and Memory to 2048 MB 
[21:40:27.072][HyperV ][Info ] Attach VHD C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\MobyLinuxVM.vhdx 

原因分析

从日志来看,进程卡在了虚拟硬盘挂载步骤,大概率是以下几种情况导致:

  • MobyLinuxVM的虚拟磁盘文件(.vhdx)出现损坏或权限异常
  • DockerNAT交换机的配置在系统重启后没有正确初始化
  • Hyper-V相关服务存在间歇性故障,无法正常处理VM挂载请求
  • 系统剩余内存/磁盘空间不足,导致虚拟磁盘无法成功挂载
  • Windows快速启动(Fast Startup)导致Hyper-V组件没有完全重置

解决方法

按以下步骤逐一排查,优先尝试前两个方法:

1. 重建损坏的虚拟磁盘和VM

这是最常见的解决手段,步骤如下:

  • 打开任务管理器,终止所有Docker相关进程(包括Docker Desktop、com.docker.proxy,以及Hyper-V相关的后台进程)
  • 打开Hyper-V管理器,找到MobyLinuxVM,右键选择「删除」(如果找不到可以跳过这一步)
  • 定位到C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\,备份MobyLinuxVM.vhdx后删除原文件
  • 重新启动Docker Desktop,它会自动重新创建虚拟磁盘和MobyLinuxVM

2. 重置Docker网络配置

网络配置异常也会导致VM挂载失败:

  • 打开Docker Desktop的设置界面,切换到Resources -> Network
  • 点击「Reset to factory defaults」按钮,确认重置网络配置
  • 重启Docker Desktop,等待网络组件重新初始化完成

3. 重启Hyper-V核心服务

如果是Hyper-V服务的间歇性故障,可以手动重启相关服务:

  • 以管理员身份打开PowerShell
  • 依次执行以下命令:
    Stop-Service vmms
    Stop-Service vmicvmsession
    Start-Service vmms
    Start-Service vmicvmsession
    
  • 执行完成后再尝试启动Docker Desktop

4. 检查系统资源

确保系统有足够的资源支撑Docker运行:

  • 剩余内存至少保留4GB以上(Docker默认分配2GB,系统自身也需要预留空间)
  • C盘剩余空间至少20GB,避免虚拟磁盘无法创建或挂载

5. 禁用Windows快速启动

快速启动可能导致Hyper-V组件没有完全重置:

  • 打开控制面板,进入「电源选项」->「选择电源按钮的功能」
  • 点击「更改当前不可用的设置」,取消勾选「启用快速启动(推荐)」
  • 保存设置后重启电脑,再测试Docker启动情况

内容的提问来源于stack exchange,提问作者SanityCheck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:04:18