WSL2 无法启动、重装 Ubuntu 与执行 configure.sh 权限报错的完整解决方案
适用系统:Windows 10 / 11
适用发行版:Ubuntu 20.04 / 22.04 / 24.04
🧱 一、问题背景
你在执行:
wsl -d Ubuntu-22.04
时出现:
无法将磁盘“C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx”附加到 WSL2:系统找不到指定的文件。
错误代码: Wsl/Service/CreateInstance/MountVhd/HCS/ERROR_FILE_NOT_FOUND
说明 WSL 的虚拟磁盘文件 (ext4.vhdx) 丢失或损坏,导致 Ubuntu 无法挂载。
这在系统清理、OneDrive 同步、杀毒误删时非常常见。
🩺 二、第一阶段:确认问题原因
1️⃣ 检查虚拟磁盘是否存在
打开资源管理器路径:
C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\
查看是否有文件:ext4.vhdx
| 结果 | 含义 |
|---|---|
| ✅ 存在 | 文件损坏或被占用 |
| ❌ 不存在 | 文件被删除或路径丢失 |
⚙️ 三、第二阶段:解决 ext4.vhdx 丢失问题
方法 1:如果文件存在但打不开
1️⃣ 关闭所有 WSL 服务:
wsl --shutdown
2️⃣ 尝试修复:
diskpart
然后依次输入:
select vdisk file="C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx"
attach vdisk readonly
若可挂载说明文件没坏,否则文件损坏严重。
方法 2:文件不存在(最常见)
说明 Ubuntu 的根文件系统丢失,只能重装。
🔧 四、第三阶段:卸载旧的 Ubuntu 实例
1️⃣ 停止 WSL
wsl --shutdown
2️⃣ 注销(彻底删除)旧 Ubuntu
wsl --unregister Ubuntu-22.04
若不确定发行版名称:
wsl --list
3️⃣ 删除残留文件夹
删除以下目录(若存在):
C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc
🪄 五、第四阶段:重新安装 Ubuntu
方式一:命令行快速安装(推荐)
在 PowerShell(管理员)运行:
wsl --install -d Ubuntu-22.04
如果系统提示 “Installing, this may take a few minutes…
WslRegisterDistribution failed with error: 0x80071772”,请继续往下看👇
🧯 六、第五阶段:解决安装时报错 0x80071772
错误信息:
WslRegisterDistribution failed with error: 0x80071772
Error: 0x80071772
表示系统无法访问 WSL 创建虚拟磁盘文件。
解决步骤:
✅ 1️⃣ 停止 WSL 服务
wsl --shutdown
net stop LxssManager
✅ 2️⃣ 启用必要组件
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
然后重启电脑。
✅ 3️⃣ 检查 AppData 目录权限
确保:
C:\Users\xxx\AppData\Local\Packages\
- 你拥有“完全控制”权限;
- 没有被 OneDrive 云同步(若有云图标 → 右键 “始终保留在此设备上”)。
✅ 4️⃣ 重新安装
wsl --install -d Ubuntu-22.04
🚀 七、第六阶段:初始化 Ubuntu 系统
安装完成后首次运行:
wsl -d Ubuntu-22.04
系统会提示:
Enter new UNIX username:
New password:
设置用户名与密码后即可进入 Ubuntu。
💾 八、第七阶段:备份与恢复建议
建议你立即备份 WSL 虚拟磁盘,以防下次损坏。
✅ 导出 WSL 系统镜像:
wsl --export Ubuntu-22.04 D:\Backup\Ubuntu22.04.tar
✅ 若以后要恢复:
wsl --import Ubuntu-22.04 D:\WSL\Ubuntu22.04 D:\Backup\Ubuntu22.04.tar
⚙️ 九、第八阶段:执行 configure.sh 报错 Permission denied
安装好 Ubuntu 后,你可能遇到:
-bash: ./configure.sh: Permission denied
这通常是因为文件没有执行权限。
🪜 步骤 1:查看文件权限
ls -l configure.sh
若输出为:
-rw-r--r--
说明无执行权限。
🪜 步骤 2:添加执行权限
chmod +x configure.sh
再次运行:
./configure.sh
🧩 特殊情况 1:脚本位于 Windows 目录(如 /mnt/c)
WSL 无法在 Windows 路径下执行脚本。
✅ 方法 1:
cp /mnt/c/Users/逐梦/Desktop/configure.sh ~/
cd ~
chmod +x configure.sh
./configure.sh
✅ 方法 2:
直接使用 bash 执行(绕过执行权限检查):
bash /mnt/c/Users/逐梦/Desktop/configure.sh
🧩 特殊情况 2:脚本缺少解释器声明
打开文件:
head -n 1 configure.sh
若第一行不是:
#!/bin/bash
请手动添加,然后保存文件。
📘 十、知识扩展:理解 Linux 权限
| 权限符号 | 含义 |
|---|---|
| r | 可读 (read) |
| w | 可写 (write) |
| x | 可执行 (execute) |
例如:
-rwxr-xr-x
表示:
- 所有者可读/写/执行;
- 组用户和其他人可读/执行。
✅ 十一、总结
| 阶段 | 问题 | 解决方法 |
|---|---|---|
| 1️⃣ | 无法附加 VHDX | 文件丢失或损坏 |
| 2️⃣ | 卸载 Ubuntu | wsl --unregister Ubuntu-22.04 |
| 3️⃣ | 重装时报错 0x80071772 | 启用 WSL 组件、检查权限 |
| 4️⃣ | 安装成功但脚本无法执行 | chmod +x configure.sh 或 bash configure.sh |
| 5️⃣ | 位于 Windows 目录脚本 | 复制到 Linux 路径下再运行 |
💡 十二、建议与最佳实践
1️⃣ 定期备份 WSL 实例
wsl --export Ubuntu-22.04 D:\Backup\Ubuntu22.04.tar
2️⃣ 不要清理 AppData\Local\Packages\CanonicalGroupLimited…
系统清理工具或 OneDrive 会误删 ext4.vhdx。
3️⃣ 脚本优先放在 Linux 主目录下执行
路径:/home/<用户名>/
4️⃣ 启用 WSL 自动更新
wsl --update