WSL2 启动报错“拒绝访问“ E_ACCESSDENIED 完整解决方案

WSL2 启动报错"拒绝访问" E_ACCESSDENIED 完整解决方案

  • 前言
  • 一、问题现象
  • 二、解决步骤
    • [2.1 关闭 WSL](#2.1 关闭 WSL)
    • [2.2 查看当前文件权限](#2.2 查看当前文件权限)
    • [2.3 查看当前用户名](#2.3 查看当前用户名)
    • [2.4 以管理员身份修复权限](#2.4 以管理员身份修复权限)
    • [2.5 重新启动 WSL](#2.5 重新启动 WSL)
  • 三、常见原因总结
  • [四、补充:关于 localhost 代理警告](#四、补充:关于 localhost 代理警告)
  • 总结

前言

将 WSL 迁移到非系统盘(如 D 盘)后,再次启动时可能遇到 "拒绝访问" 错误,本文记录完整排查与修复过程。


一、问题现象

打开 PowerShell,输入 wsl 启动,报错如下:

bash 复制代码
PS D:\file\军哥聊技术> wsl
无法将磁盘"\\?\D:\Software\wsl\ext4.vhdx"附加到 WSL2: 拒绝访问。
错误代码: Wsl/Service/CreateInstance/MountDisk/HCS/E_ACCESSDENIED

根本原因 :当前 Windows 用户对 WSL2 虚拟磁盘文件 ext4.vhdx 没有完全控制权限,导致 WSL 无法挂载磁盘。


二、解决步骤

2.1 关闭 WSL

先确保 WSL 完全关闭:

powershell 复制代码
wsl --shutdown

2.2 查看当前文件权限

powershell 复制代码
icacls "D:\Software\wsl\ext4.vhdx"

输出如下:

复制代码
D:\Software\wsl\ext4.vhdx BUILTIN\Administrators:(I)(F)
                          NT AUTHORITY\SYSTEM:(I)(F)
                          NT AUTHORITY\Authenticated Users:(I)(M)
                          BUILTIN\Users:(I)(RX)

可以看到:

  • Administrators 和 SYSTEM 有完全控制权限 (F)
  • 普通用户只有读取和执行权限 (RX),缺少写入权限

2.3 查看当前用户名

powershell 复制代码
$env:USERNAME

记住输出的用户名(例如 23670),下一步要用。

2.4 以管理员身份修复权限

普通终端没有权限修改该文件的 ACL,直接运行 icacls /grant 会报"拒绝访问":

powershell 复制代码
# ❌ 普通权限下会失败
icacls "D:\Software\wsl\ext4.vhdx" /grant "23670:(F)"
# 输出:D:\Software\wsl\ext4.vhdx: 拒绝访问。

正确做法 ------通过 Start-Process -Verb RunAs 提权执行,运行后会弹出 UAC 管理员确认窗口 ,点击 "是":

powershell 复制代码
Start-Process powershell -Verb RunAs -ArgumentList "-Command", "icacls 'D:\Software\wsl\ext4.vhdx' /grant '你的用户名:(F)'; icacls 'D:\Software\wsl' /grant '你的用户名:(OI)(CI)(F)'; pause"

⚠️ 注意 :将 你的用户名 替换为上一步获取的实际用户名。

例如用户名为 23670,完整命令为:

powershell 复制代码
Start-Process powershell -Verb RunAs -ArgumentList "-Command", "icacls 'D:\Software\wsl\ext4.vhdx' /grant '23670:(F)'; icacls 'D:\Software\wsl' /grant '23670:(OI)(CI)(F)'; pause"

参数说明:

参数 含义
(F) Full Control,完全控制权限
(OI) Object Inherit,子文件继承此权限
(CI) Container Inherit,子文件夹继承此权限

等弹出的管理员窗口显示 "请按任意键继续" 后,说明权限修复成功。

2.5 重新启动 WSL

powershell 复制代码
wsl

正常输出:

bash 复制代码
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

(base) wyj@wyj:/mnt/d/file/军哥聊技术$

✅ WSL 启动成功!


三、常见原因总结

原因 说明
WSL 迁移到非系统盘 从 C 盘迁移到 D 盘后,新位置的文件权限未正确继承
Windows 更新 系统更新后可能重置部分文件夹权限
手动移动 vhdx 文件 复制/移动虚拟磁盘文件时权限丢失
多用户环境 其他管理员创建的 WSL 实例,当前用户无权限

四、补充:关于 localhost 代理警告

启动时可能看到以下警告:

复制代码
wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。

这条警告 不影响 WSL 正常使用 ,可以忽略。如需消除,在 %USERPROFILE%\.wslconfig 中添加:

ini 复制代码
[wsl2]
networkingMode=mirrored

保存后执行:

powershell 复制代码
wsl --shutdown
wsl

重启即可消除警告。


总结

步骤 命令
关闭 WSL wsl --shutdown
查看权限 icacls "D:\Software\wsl\ext4.vhdx"
查看用户名 $env:USERNAME
提权修复权限 Start-Process powershell -Verb RunAs ...
重启 WSL wsl

核心思路:用管理员权限给当前用户授予 vhdx 文件的完全控制权限,一行命令即可解决。

bash 复制代码
PS D:\file\军哥聊技术> wsl --shutdown; icacls "D:\Software\wsl\ext4.vhdx" 2>$null
D:\Software\wsl\ext4.vhdx BUILTIN\Administrators:(I)(F)
                          NT AUTHORITY\SYSTEM:(I)(F)
                          NT AUTHORITY\Authenticated Users:(I)(M)
                          BUILTIN\Users:(I)(RX)

已成功处理 1 个文件; 处理 0 个文件时失败
PS D:\file\军哥聊技术> $env:USERNAME
PS D:\file\军哥聊技术> wsl --shutdown; icacls "D:\Software\wsl\ext4.vhdx" 2>$null
D:\Software\wsl\ext4.vhdx BUILTIN\Administrators:(I)(F)
                          NT AUTHORITY\SYSTEM:(I)(F)
                          NT AUTHORITY\Authenticated Users:(I)(M)
                          BUILTIN\Users:(I)(RX)

已成功处理 1 个文件; 处理 0 个文件时失败
PS D:\file\军哥聊技术> wsl --shutdown; icacls "D:\Software\wsl\ext4.vhdx" 2>$null
D:\Software\wsl\ext4.vhdx BUILTIN\Administrators:(I)(F)
                          NT AUTHORITY\SYSTEM:(I)(F)
                          NT AUTHORITY\Authenticated Users:(I)(M)
                          BUILTIN\Users:(I)(RX)
PS D:\file\军哥聊技术> wsl --shutdown; icacls "D:\Software\wsl\ext4.vhdx" 2>$null
D:\Software\wsl\ext4.vhdx BUILTIN\Administrators:(I)(F)
                          NT AUTHORITY\SYSTEM:(I)(F)
PS D:\file\军哥聊技术> wsl --shutdown; icacls "D:\Software\wsl\ext4.vhdx" 2>$null
D:\Software\wsl\ext4.vhdx BUILTIN\Administrators:(I)(F)
                          NT AUTHORITY\SYSTEM:(I)(F)
PS D:\file\军哥聊技术> wsl --shutdown; icacls "D:\Software\wsl\ext4.vhdx" 2>$null
D:\Software\wsl\ext4.vhdx BUILTIN\Administrators:(I)(F)
                          NT AUTHORITY\SYSTEM:(I)(F)
PS D:\file\军哥聊技术> wsl --shutdown; icacls "D:\Software\wsl\ext4.vhdx" 2>$null
D:\Software\wsl\ext4.vhdx BUILTIN\Administrators:(I)(F)
                          NT AUTHORITY\SYSTEM:(I)(F)
PS D:\file\军哥聊技术> wsl --shutdown; icacls "D:\Software\wsl\ext4.vhdx" 2>$null
D:\Software\wsl\ext4.vhdx BUILTIN\Administrators:(I)(F)
D:\Software\wsl\ext4.vhdx BUILTIN\Administrators:(I)(F)
                          NT AUTHORITY\SYSTEM:(I)(F)
                          NT AUTHORITY\Authenticated Users:(I)(M)
                          BUILTIN\Users:(I)(RX)

已成功处理 1 个文件; 处理 0 个文件时失败
PS D:\file\军哥聊技术> $env:USERNAME
23670
PS D:\file\军哥聊技术> icacls "D:\Software\wsl\ext4.vhdx" /grant "${env:USERNAME}:(F)"
D:\Software\wsl\ext4.vhdx: 拒绝访问。
已成功处理 0 个文件; 处理 1 个文件时失败
PS D:\file\军哥聊技术> Start-Process powershell -Verb RunAs -ArgumentList "-Command", "icacls 'D:\Software\wsl\ext4.vhdx' /grant '23670:(F)'; icacls 'D:\Software\wsl' /grant '23670:(OI)(CI)(F)'; pause"
PS D:\file\军哥聊技术> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         2
PS D:\file\军哥聊技术> wsl
wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

(base) wyj@wyj:/mnt/d/file/军哥聊技术$
相关推荐
mpp00718 小时前
36氪《2026 中国 AI Agent 行业发展报告》:当 Agent 进入「交付」主战场
大数据·人工智能
吃饱了得干活20 小时前
Agent 的决策与规划:ReAct、Plan-and-Execute、Reflexion 与 Tree of Thoughts
人工智能·llm·agent
databook20 小时前
使用 SciPy 库进行时间序列分析
python·数据分析·scipy
阿明620 小时前
小白入门机器学习基础【AI】
人工智能·机器学习
java资料站20 小时前
十一、评估测试
开发语言·人工智能·python
东方佑20 小时前
从《事件发生与智能》的框架看中国古代命理学
人工智能·深度学习·语言模型·自然语言处理·架构
szial20 小时前
网络爬虫与 CDP 实战(二):浏览器能访问,Python 却被拒绝?拆开登录态与 CSRF
爬虫·python·csrf
天远API20 小时前
零信任架构实战:基于天远运营商三要素简版V即时版查询构建自动化司乘安全绑定网关
人工智能·安全·架构·自动化
Henry-SAP20 小时前
SAP PP核心引擎计划策略业务解析
人工智能·云原生·sap·erp
DP DPharness21 小时前
拆开 dsh-knowledge 的检索链路,看 RRF 融合与锚点续读
人工智能·dpharness