windows10安装wsl ubuntu,提示拒绝访问,怎么解决?
2026-05-02
意思是:你现在打开的 PowerShell / CMD 权限不够,需要用“管理员权限”运行。
也就是 wsl --update 这个操作要改系统组件,普通窗口执行不了,所以提示:
请求的操作需要提升
英文一般是:
The requested operation requires elevation.
解决方法
方法一:用管理员 PowerShell 执行
点击 Windows 左下角开始菜单;
搜索:
PowerShell
右键 Windows PowerShell;
选择 以管理员身份运行;
再执行:
wsl --update
然后继续执行:
wsl --set-default-version 2 wsl --install -d Ubuntu --web-download
方法二:用管理员 Windows Terminal
如果你装了 Windows Terminal:
开始菜单搜索:
Windows Terminal
右键;
选择 以管理员身份运行;
执行:
wsl --update
如果你右键没有“以管理员身份运行”
说明当前 Windows 账户可能不是管理员账户。
你可以先检查:
net user %username%
看里面有没有类似:
本地组成员 *Administrators
如果没有,那你需要切换到管理员账户,或者让电脑管理员帮你授权。
你现在该做的就是这个
直接关闭当前窗口,重新打开一个 管理员 PowerShell,然后按顺序执行:
wsl --shutdown wsl --update wsl --set-default-version 2 wsl --install -d Ubuntu --web-download
如果 wsl --update 还是报错,把完整报错截图或文字发我,我继续帮你定位。
我问:
问题我就说以管理员运行的。
AI答:
你这个情况我明白了:不是你没点“以管理员运行”,而是系统实际没有给当前窗口完整管理员令牌,或者 wsl.exe 被异常路径/策略拦住了。
先别继续乱装,按下面排。
一、先验证:这个窗口到底是不是真管理员
在你那个“管理员 PowerShell”里执行:
net session
情况 A:如果返回类似这个
发生系统错误 5。 拒绝访问。
那就说明:这个窗口看起来是管理员,但实际没提权成功。
继续执行:
whoami /groups | findstr /i "S-1-16-12288"
如果没有输出,说明当前窗口不是高权限管理员令牌。
二、换 CMD 管理员,不要用 PowerShell 试一次
有时候 PowerShell/Terminal 权限状态会很诡异。你这样操作:
开始菜单搜索:
cmd
右键 命令提示符 → 以管理员身份运行。
然后执行:
net session
如果这次不报“拒绝访问”,再执行:
wsl --update
微软 WSL 排障文档也明确提到,安装或更新 WSL 时需要确认命令行用户具备管理员权限,并建议右键终端选择“Run as Administrator”。(Microsoft Learn)
三、用绝对路径执行 wsl,排除路径劫持
在管理员 CMD 里执行:
where wsl
正常应该看到:
C:\Windows\System32\wsl.exe
然后直接执行:
C:\Windows\System32\wsl.exe --update
如果你看到多个 wsl.exe,或者不是 C:\Windows\System32\wsl.exe 排第一,那就可能是路径混乱。
四、换成 web-download 更新方式
如果普通更新还是提示权限问题,试这个:
wsl --update --web-download
然后再执行:
wsl --status
微软官方安装说明里也提供了 --web-download 方式,用来绕开 Microsoft Store 下载路径的问题。(Microsoft Learn)
五、如果 net session 都是拒绝访问,说明你的账号不是“真正管理员”
执行:
net user %username%
看里面有没有:
本地组成员 *Administrators
如果没有,你这个账号不是管理员。
如果有,但还是无法提权,可能是 UAC 或组策略限制。继续执行:
whoami /groups
重点看有没有:
BUILTIN\Administrators
以及完整性级别是不是:
高强制级别
六、修复 WSL 功能,不走 wsl --update
如果 wsl --update 一直不行,先把底层功能打开:
管理员 CMD 执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart bcdedit /set hypervisorlaunchtype auto
然后重启电脑。
重启后管理员 CMD 执行:
wsl --set-default-version 2 wsl --install -d Ubuntu --web-download
WSL 2 需要启用 VirtualMachinePlatform,并且 Windows 10 版本也要满足要求,微软手动安装文档里对 Windows 10 Build 有明确要求。(Microsoft Learn)
七、最关键的一步:你现在先执行这个
在你所谓的“管理员窗口”里执行:
net session
如果它还是提示:
系统错误 5 拒绝访问
那就不用怀疑了:当前窗口并没有真正拿到管理员权限。
这时候请用:
开始菜单 → 搜索 cmd → 右键 → 以管理员身份运行
不要从普通 PowerShell 里再启动,不要从 VSCode 终端里启动,也不要从普通 Windows Terminal 标签页里启动。
我问:
net session执行结果是:列表是空的。
AI答:
那就很关键了:net session 显示“列表是空的”,说明你这个窗口确实已经是管理员权限。
所以现在问题不是“你没管理员运行”,而是下面几类之一:
wsl --update调用了 Store / WSL 更新包时被系统策略或组件拦住;当前
wsl.exe状态异常;WSL 功能没完整启用或没重启生效;
Windows 10 版本太老,
wsl --update这套新命令支持不完整;Microsoft Store / App Installer 组件有问题。
微软官方说明里,wsl --install 和相关安装更新命令要求 Windows 10 Version 2004、Build 19041 及以上;旧版本需要走手动安装路线。(Microsoft Learn)
你现在按这个顺序继续
第一步:确认 wsl.exe 路径
在管理员 CMD 里执行:
where wsl
正常应该优先看到:
C:\Windows\System32\wsl.exe
然后直接用绝对路径执行:
C:\Windows\System32\wsl.exe --status C:\Windows\System32\wsl.exe --update --web-download
重点是第二条:加 --web-download,它会绕开 Microsoft Store 下载路径。微软文档也建议安装卡住或商店路径异常时使用 --web-download。(Microsoft Learn)
第二步:如果还提示“请求的操作需要提升”,先跳过 update
你不一定非要先跑 wsl --update。直接重新启用底层组件。
管理员 CMD 执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart bcdedit /set hypervisorlaunchtype auto
然后重启电脑。
重启后执行:
wsl --set-default-version 2 wsl --install -d Ubuntu --web-download
三、如果你的 Windows 10 版本偏老,走手动安装
先查版本:
winver
如果不是 Windows 10 2004 / Build 19041 以上,不要继续折腾 wsl --update,直接走老版本手动路线。
管理员 CMD 执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启后,手动安装 WSL2 Linux 内核更新包。
你可以用浏览器打开微软官方手动安装页,下载:
WSL2 Linux kernel update package for x64 machines
微软官方手动安装步骤明确要求:先启用 WSL 功能,再启用 Virtual Machine Platform,然后安装 WSL2 Linux kernel update package。(Microsoft Learn)
四、我建议你现在直接执行这 5 条
管理员 CMD,不要 PowerShell:
where wsl C:\Windows\System32\wsl.exe --status C:\Windows\System32\wsl.exe --update --web-download winver wsl --list --online
把这几条的输出发我,尤其是:
where wsl wsl --status winver 里的版本号和 OS 内部版本
我就能判断你到底是 版本太老、Store 路径问题、还是 WSL 组件损坏。
我问:
where wsl,执行结果没返回。
AI答:
这就更明确了:where wsl 没返回,说明系统现在找不到 wsl.exe。
但这里有一个坑:如果你是在 PowerShell 里执行的,where 可能不是 Windows 的 where.exe,而是 PowerShell 的别名,所以可能假装“没结果”。
你现在先这样做。
一、先确认你是在 CMD 还是 PowerShell
如果窗口前面是:
PS C:\Windows\System32>
那是 PowerShell。
请执行这个:
where.exe wsl Get-Command wsl
如果是在 CMD,前面一般是:
C:\Windows\System32>
那执行:
where.exe wsl
二、直接检查 wsl.exe 文件在不在
不管 CMD 还是 PowerShell,都执行:
dir C:\Windows\System32\wsl.exe
情况 A:能看到文件
比如看到:
C:\Windows\System32\wsl.exe
那说明 wsl.exe 存在,只是 PATH 或当前终端解析有问题。
直接执行:
C:\Windows\System32\wsl.exe --status C:\Windows\System32\wsl.exe --update --web-download
情况 B:提示找不到文件
那说明你的 Windows 当前确实没有装好 WSL 系统组件。
管理员 CMD 执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart bcdedit /set hypervisorlaunchtype auto
然后重启电脑。
微软官方手动安装文档也要求先启用 Microsoft-Windows-Subsystem-Linux,再启用 VirtualMachinePlatform,之后重启机器。(Microsoft Learn)
三、重启后再检查
重启后,管理员 CMD 执行:
where.exe wsl wsl --status wsl --install -d Ubuntu --web-download
微软官方安装文档里也提到,wsl --install 可以安装 WSL 和 Ubuntu;如果安装过程卡住,可以用 --web-download 绕开商店下载路径。(Microsoft Learn)
四、如果启用功能后还是没有 wsl.exe
执行:
winver
看 Windows 10 的版本号。
WSL 2 对 Windows 10 有版本要求:x64 至少要 Windows 10 Version 1903,Build 18362.1049 以上;ARM64 至少 Version 2004,Build 19041 以上。(Microsoft Learn)
如果版本太老,wsl --update、wsl --install 这些新命令就可能不完整或不可用。
你现在最该发我这三个结果
复制执行:
where.exe wsl dir C:\Windows\System32\wsl.exe winver
重点看:
dir C:\Windows\System32\wsl.exe
这一条。如果这个文件不存在,我们就走“启用系统组件 + 重启 + 手动内核包”的路线。
发表评论: