启用WSL2后执行Optimize-VHD压缩Docker磁盘时遇对象未找到错误
解决WSL2下Docker磁盘压缩Optimize-VHD报错问题
核心解决步骤
完全停止相关进程与服务
- 关闭Docker Desktop,确保后台无残留进程
- 以管理员身份打开PowerShell,执行命令终止所有WSL实例:
wsl --shutdown - 检查Virtual Machine Management服务状态:
若服务未运行,启动服务:Get-Service vmmsStart-Service vmms
使用绝对路径执行压缩命令
报错中命令使用了相对路径.\\ext4.vhdx,极易因当前目录错误导致找不到文件。改用绝对路径并添加引号(避免路径含空格问题):Optimize-VHD -Path "$Env:LOCALAPPDATA\Docker\wsl\data\ext4.vhdx" -Mode Full卸载并重新挂载Docker WSL分发版
若磁盘仍被占用,尝试先卸载分发版再压缩:- 卸载docker-desktop-data:
wsl --unmount docker-desktop-data - 再次执行Optimize-VHD压缩命令
- 重新挂载分发版:
wsl --mount docker-desktop-data
- 卸载docker-desktop-data:
确认权限与Hyper-V状态
- 必须以管理员身份运行PowerShell,Optimize-VHD需要系统级权限
- 确保Hyper-V功能已启用(WSL2依赖该功能,可通过
控制面板->程序->启用或关闭Windows功能确认)
内容的提问来源于stack exchange,提问作者Mateusz Przybylek
相关产品推荐
相关产品推荐

