登录
首页 >  文章 >  软件教程

Windows更新失败0x80070005怎么解决

时间:2026-03-01 11:36:48 101浏览 收藏

推广推荐
前往下载Windows工具 ➜
支持 PC / 移动端,安全直达
当Windows更新频繁报错0x80070005“访问被拒绝”时,别急着重装系统——这通常不是硬件或网络问题,而是系统底层权限链出现了断裂:从Windows Update服务、CBS注册表项、SYSTEM账户配置单元(S-1-5-20),到临时升级文件夹$WINDOWS.~BT的ACL异常,任一环节权限缺失都可能触发该错误;本文提供一套经实战验证的五步修复方案,涵盖重置更新组件、精准修复TrustedInstaller注册表权限、抢救关键SID配置、激活依赖服务及安全清理升级残留,步骤清晰、工具开源、操作可控,助你彻底摆脱更新失败困扰,让系统恢复稳定自动升级能力。

Windows更新失败错误0x80070005_Windows权限修复步骤【攻略】

如果您在尝试安装 Windows 更新时遇到错误代码 0x80070005,该错误通常表示“访问被拒绝”,根本原因多为系统关键服务、注册表项或文件夹的权限配置异常。以下是针对此错误的多种权限修复步骤:

一、重置 Windows Update 组件及 SoftwareDistribution 文件夹

该方法通过停止相关服务、重命名缓存目录并重启服务,清除可能损坏的更新临时文件并重置权限上下文。

1、以管理员身份运行命令提示符:按 Win + X,选择“Windows 终端(管理员)”或“命令提示符(管理员)”。

2、依次执行以下命令,每行输入后按回车:

net stop wuauserv

net stop cryptsvc

net stop bits

net stop msiserver

3、重命名两个关键文件夹:

ren %systemroot%\SoftwareDistribution SoftwareDistribution.old

ren %systemroot%\System32\catroot2 catroot2.old

4、删除下载队列残留数据:

Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"

5、重新启动服务:

net start wuauserv

net start cryptsvc

net start bits

net start msiserver

6、重启计算机后再次尝试检查更新。

二、修正 Windows Update 相关服务权限

错误 0x80070005 常由 TrustedInstaller 或 SYSTEM 账户对 CBS(Component Based Servicing)注册表项缺少完全控制权限引发。需通过 subinacl 工具授予必要权限。

1、新建一个文本文件,粘贴以下内容:

@echo off

IF exist "%ProgramFiles(x86)%" set OSBIT=64

set RUNNINGDIR=%ProgramFiles%

IF %OSBIT% == 64 set RUNNINGDIR=%ProgramFiles(x86)%

"%RUNNINGDIR%\Windows Resource Kits\Tools\subinacl.exe" /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing" /grant="nt service\trustedinstaller"=f

pause

2、将文件另存为 fix_permissions.cmd,保存类型设为“所有文件(*.*)”,编码为 ANSI。

3、确保已下载并安装 SubInACL v5.2,并将 subinacl.exe 放置于 %ProgramFiles%\Windows Resource Kits\Tools\ 路径下(64位系统需同步放入 %ProgramFiles(x86)% 对应路径)。

4、右键单击 fix_permissions.cmd,选择“以管理员身份运行”。

5、等待窗口显示“操作成功”并按任意键退出。

三、修复 HKEY_USERS\S-1-5-20 注册表权限

该 SID 表示“NT AUTHORITY\SYSTEM”在注册表中的用户配置单元,其权限缺失会直接导致 Office 激活与 Windows 更新失败。修改前必须备份注册表。

1、关闭所有 Office 程序及 Windows Update 进程。

2、按 Win + R 打开“运行”,输入 regedit,点击“确定”。

3、导航至 HKEY_USERS → S-1-5-20,右键点击该项,选择“权限”。

4、点击“添加”,输入当前登录用户名,点击“检查名称”,确认后点击“确定”。

5、选中刚添加的用户,点击“高级”,在“权限条目”列表中双击该用户条目。

6、勾选“完全控制”,点击“确定”;返回后再次点击“高级”,找到“网络服务”条目,同样赋予“完全控制”权限。

7、关闭注册表编辑器,重启系统。

四、启用并配置关键系统服务

Windows 更新依赖多个底层服务协同工作,若 Background Intelligent Transfer Service、Cryptographic Services 等未启用或启动类型非“自动”,将触发 0x80070005。

1、按 Win + R,输入 services.msc,回车打开服务管理器。

2、依次查找以下服务并双击打开其属性:

— Background Intelligent Transfer Service

— Cryptographic Services

— Windows Update

— Windows Installer

— Microsoft Software Shadow Copy Provider

— Volume Shadow Copy

3、对每一项,将“启动类型”设为 自动,若状态为“已停止”,点击“启动”按钮。

4、特别注意:若“Windows 备份”服务存在,也需设为自动并手动启动。

5、全部设置完成后,重启电脑。

五、清理 $WINDOWS.~BT 临时升级文件夹

当系统正在进行功能更新或版本升级时,$WINDOWS.~BT 文件夹会存储大量临时文件和权限元数据。若其 ACL 损坏,将导致后续更新操作被拒绝。

1、打开文件资源管理器,在地址栏直接输入:C:\$WINDOWS.~BT,按回车。

2、若该路径存在且可访问,全选其中所有子文件夹与文件。

3、按 Shift + Delete 永久删除(绕过回收站)。

4、如提示“需要提供管理员权限”,点击“继续”;如提示“某些项目无法删除”,记录具体路径,后续使用管理员 CMD 执行 takeown /f "路径" /r /d y & icacls "路径" /grant administrators:F /t 授权后重试。

5、完成删除后,再次运行 Windows Update。

终于介绍完啦!小伙伴们,这篇关于《Windows更新失败0x80070005怎么解决》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>