Windows 下无法挂载虚拟磁盘导致 Docker Desktop 无法启动问题解决记录
Windows 下无法挂载虚拟磁盘导致 Docker Desktop 无法启动问题解决记录
问题描述
我对 Docker 不是很熟悉,在 Windows 上安装了 Docker Desktop 并顺利按照部署并成功运行项目后,我认为已经万事大吉,没成想第二天重启计算机后打开 Docker Desktop 时发生了如下报错:

详细信息如下:
deploying WSL2 distributions
ensuring data disk is available: exit code: 4294967295:
running WSL command wsl.exe C:\Windows\System32\wsl.exe --
mount --bare --vhd D:\Docker\wsl\disk\docker_data.vhdx: 无法
将磁盘"\\?D:\Docker\wsl\disk\docker_data.vhdx"附加到 WSL2: 拒
绝访问。
- 错误代码: Wsl/Service/AttachDisk/MountVhd/HCS/E ACCESSDENIED
- exit status 0xffffffff
checking if isocache exists: CreateFile \\wsl$\docker-
desktop-data\isocache: The filename, directory name, or
volume label syntax is incorrect.
当时我没有仔细看报错信息(这果然是一个坏习惯),先是按照它的提示运行了wsl --shutdown,也试着重装了 Docker Desktop,“以管理员方式运行”也试过,但都没有什么用。
后来我开始在网上查找相关问题的解决方案,然而跟着网上的方案试着如重置网络配置等操作依旧都不起作用。
解决方案
机缘巧合之下我重新注意到报错信息中的“拒绝访问”,突发奇想想亲自运行这个发生错误的命令:
wsl.exe C:\Windows\System32\wsl.exe --mount --bare --vhd D:\Docker\wsl\disk\docker_data.vhdx
输出结果与 Docker Desktop 报错信息中一样:拒绝访问。
根据我贫乏的 linux 知识,出现“拒绝访问”的时候大概率是因为权限不够。于是,我试着在启动Docker Desktop前先用 PowerShell(管理员模式下)以root用户启动 WSL2:
wsl -u root
再在此基础上启动 Docker Desktop,没想到居然成功启动了!?
实话实说,我现在也不是很清楚背后的原因是什么,反正能用就行。(doge)
这篇博客仅用来记录这次神奇的解决过程。
2025年3月更新
看起来只需要在 PowerShell(管理员模式下)启动 WSL2 就可以解决问题,真是奇妙。
如果有哪位大佬知道背后的原因,还请不吝赐教,我将感激不尽。
2025年7月更新
普通用户对 Docker Desktop 的虚拟磁盘文件 docker_data.vhdx 没有“完全控制”的权限,现在看只要修改一下权限就可以了。不过这样在启动时可能会出现 “WSL 启动期间出错” 的警告,从事件查看器中看到原因:
Unknown key 'automount.crossDistro' in /etc/wsl.conf:3
上网查了之后得知(相关链接),该选项已被废弃,故直接在配置文件里删掉即可消除警告。

浙公网安备 33010602011771号