错误0x80070003源于系统调用时路径真实缺失,需通过事件查看器定位日志中的确切路径,以管理员权限创建该目录并赋予system和administrators完全控制权,再检查清除悬空符号链接。

当你在启用 Hyper-V、安装 Windows 更新、执行系统升级或应用组策略时突然弹出“0x80070003 系统找不到指定的路径”错误,说明某个关键目录确实不存在——不是程序写错了路径,而是系统组件真正在调用时撞上了空文件夹或悬空链接。
定位日志中真正的缺失路径
别猜,直接看系统自己记下的“它想找但没找到的地方”。错误代码 0x80070003 总是伴随一条明确路径出现在日志里,这个路径就是修复的唯一锚点。
第一步:按 Win + R 输入 eventvwr.msc 回车,打开事件查看器。
第二步:展开左侧树形菜单 → “Windows 日志” → 分别点开“应用程序”和“系统”,在右侧面板点击“筛选当前日志”,在“事件来源”下拉框中勾选“Windows Update”“DISM”“CBS”或“Setup”,再在下方“事件ID”框中输入 1001(CBS 错误常用)或留空直接点击确定。
第三步:在结果列表中找最近时间的红色“错误”条目,双击打开 → 切换到“详细信息”选项卡 → 拉到底部看“事件数据”或“XML”视图,用 Ctrl+F 搜索 0x80070003 或 error_path_not_found,从中复制出完整路径,例如 C:\ProgramData\Microsoft\Windows\Hyper-V 或 C:\Windows\System32\Catroot2 ——【必须带引号原样复制,大小写和反斜杠一个都不能改】。
以管理员权限创建缺失文件夹
普通用户在 ProgramData、Windows\System32 这类位置新建文件夹会被系统拦截,必须用提升权限的终端执行 mkdir,否则创建失败或权限不全。
按 Win + X → 选择“终端(管理员)”或“Windows PowerShell(管理员)”。
输入命令:mkdir "C:\ProgramData\Microsoft\Windows\Hyper-V"(把引号内路径替换成上一步复制的真实路径)→ 回车。
如果路径含多级嵌套(如 A\B\C\D),PowerShell 会自动递归创建全部中间目录,不需要你手动逐层建。这一步操作起来很简单,直接把命令粘贴进去回车就行。
重置该路径的 SYSTEM 和 Administrators 完全控制权
只建个空文件夹远远不够。Windows 系统服务(如 wuauserv、vmms)默认以 SYSTEM 身份运行,若新目录没有授予 SYSTEM 完全控制权,后续任何写入操作都会再次触发 0x80070003。
在同一个管理员终端窗口中,紧接着执行:icacls "C:\ProgramData\Microsoft\Windows\Hyper-V" /grant "NT AUTHORITY\SYSTEM:(F)" /grant "BUILTIN\Administrators:(F)" /t(路径必须与上一步完全一致)。
命令末尾的 /t 表示将权限应用到该目录及其所有子对象,缺了它,将来子文件夹仍可能报错。等待终端返回“处理成功完成”提示后再进行下一步。
检查并清除非法符号链接
如果你曾用 mklink /D 把 Package Cache 或 Catroot2 重定向到另一块硬盘,而目标盘已拔掉或目录被删,系统就会把那个失效链接当成真实路径去访问,结果自然“找不到”。
方法一:在管理员终端中运行 fsutil reparsepoint query "C:\ProgramData\Package Cache",如果输出里出现 Reparse Tag Value: 0x80000000,说明这是个用户创建的符号链接,且已悬空。
方法二:运行 dir /al "C:\ProgramData",查看列表中是否有带
确认是非法链接后,用 rmdir /s /q "C:\ProgramData\Package Cache" 彻底删除它——【注意:此操作不可逆,仅对非微软官方创建的链接执行】。











