You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在非管理员Windows账户的WSL发行版上执行需权限提升的操作?

如何在非管理员Windows账户的WSL发行版上执行需权限提升的操作?

我太懂你的烦恼了——在非管理员账户装的WSL发行版,碰到像--mount --bare这类需要提权的操作时,管理员账户居然看不到这个发行版,还不想给普通用户开管理员权限,确实挺棘手的。

先给你吃个定心丸:WSL发行版本来就是按用户安装的,每个用户的发行版数据都存在各自的用户目录下,管理员账户默认看不到,这是正常设计,不是你哪里配置错了。

下面给你几个不用给普通用户加管理员权限的可行方案:

方法一:直接挂载非管理员的WSL虚拟磁盘

管理员账户有权限访问非管理员用户目录下的WSL虚拟磁盘文件,步骤很简单:

  1. 先找到你的WSL发行版虚拟磁盘路径,一般在非管理员用户的目录里:C:\Users\<你的非管理员用户名>\AppData\Local\Packages\<发行版对应包名>\LocalState\ext4.vhdx
    • 比如Ubuntu的包名通常是CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc,你可以在Packages文件夹里找到对应发行版的目录
  2. 切换到管理员账户,打开PowerShell或命令提示符,执行挂载命令:
    wsl --mount C:\Users\<非管理员用户名>\AppData\Local\Packages\<发行版包名>\LocalState\ext4.vhdx --bare
    
  3. 完成提权操作后,记得卸载磁盘:
    wsl --unmount C:\Users\<非管理员用户名>\AppData\Local\Packages\<发行版包名>\LocalState\ext4.vhdx
    

方法二:导出再导入发行版到管理员账户

如果需要频繁在管理员账户操作这个发行版,可以把非管理员的发行版导出备份,再导入到管理员账户:

  1. 在非管理员账户的WSL里,执行导出命令(把发行版打包成tar文件,存到管理员能访问的路径,比如C:\WSL-Backups):
    wsl --export <你的发行版名称> C:\WSL-Backups\my-distro.tar
    
    • 比如你的发行版叫Ubuntu-22.04,就替换成这个名称
  2. 切换到管理员账户,导入这个发行版:
    wsl --import <新发行版名称> <安装路径> C:\WSL-Backups\my-distro.tar
    
    • 比如新名称设为Ubuntu-Admin,安装路径选C:\WSL\Ubuntu-Admin
  3. 之后在管理员账户里就能直接用这个导入的发行版执行提权操作了。注意:导入后的版本和原非管理员的发行版是独立的,要同步数据的话,可以复制重要文件或者用挂载共享。

方法三:用runas命令在非管理员账户直接启动管理员权限的WSL

如果你不想切换管理员账户,可以在非管理员账户用runas命令直接启动管理员权限的WSL并挂载自己的虚拟磁盘:

  1. 打开非管理员账户的命令提示符,执行:
    runas /user:<管理员用户名> "wsl --mount C:\Users\<你的非管理员用户名>\AppData\Local\Packages\<发行版包名>\LocalState\ext4.vhdx --bare"
    
  2. 输入管理员密码后,就会以管理员权限完成挂载操作了。

你可以根据自己的使用频率选最顺手的方法,完全不用给非管理员账户开管理员权限~

备注:内容来源于stack exchange,提问作者Albert Patton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 09:44:37