答案是重启vss及相关依赖服务、用命令行重载vss状态、清理第三方vss提供程序、释放并重置卷影存储空间、修复系统文件与注册表超时值。需依次执行:1. 在services.msc中将volume shadow copy、rpc、dcom server process launcher、microsoft software shadow copy provider设为自动(延迟启动)并启动;2. 以管理员身份运行net stop vss、net stop swprv、net start vss、net start swprv;3. 用vssadmin list providers确认仅剩微软原生提供者,卸载第三方备份软件;4. 执行vssadmin delete shadows /all /quiet后重新分配存储空间;5. windows server用户需在注册表hkey_local_machine\system\currentcontrolset\services\vss\settings下新建并设置clusteronlinetimeout和clusterofflinetimeout为2000000000。

当你在 Windows 10 中点击“创建还原点”却弹出“卷影副本提供程序出现错误,代码 0x80042306”时,说明系统底层的快照机制已中断——这不是界面卡顿或按钮失灵,而是 VSS(卷影复制服务)及其关键依赖项无法协同工作,导致快照根本无法生成。
重启核心服务并修正启动类型
第一步永远是检查服务状态。很多用户跳过这步直接进命令行,结果白忙半天——因为 Volume Shadow Copy 服务明明被设成了“禁用”,你再怎么注册 DLL 也没用。
按 Win + R 输入 services.msc 回车,打开服务管理器。
找到以下四项,**必须逐个右键→属性→启动类型设为“自动(延迟启动)”→点击“启动”按钮**:Volume Shadow Copy、Remote Procedure Call (RPC)、DCOM Server Process Launcher、Microsoft Software Shadow Copy Provider。
【若某服务显示“已禁用”,不改启动类型就点“启动”,会立刻失败并报错】
改完一个就点“应用”,别全改完再统一启动——有些服务依赖前序服务已运行,顺序错会导致启动失败。
用命令行强制重载VSS内部状态
图形界面重启有时只是刷新了服务图标,VSS 的内存句柄和临时锁可能还卡着。这时候得用命令行硬重置。
右键“开始”→选择“Windows 终端(管理员)”,粘贴执行:
net stop vss → net stop swprv → net start vss → net start swprv
每条命令回车后等光标返回再输下一条,不要连按。如果某步提示“服务没有响应”,说明上一步没彻底停干净,先等 5 秒再继续。
这四条命令不是简单启停,而是清空 VSS 的会话上下文,让系统从零重建快照调度链。
检查并清理第三方VSS提供程序
方法一:打开管理员终端,输入 vssadmin list providers 回车。
只允许看到一行:Provider name: 'Microsoft Software Shadow Copy Provider' —— 如果下面还列着 Kaspersky、Acronis、Synology 或任何带公司名的条目,就是它在抢资源。
方法二:去「控制面板→程序和功能」,按安装日期倒序,把近三个月装过的备份工具、磁盘加速器、安全清理类软件全部卸载。
卸载完重启电脑,再跑一遍 vssadmin list providers,确认只剩微软原生提供者。
释放并重置卷影存储空间
第一步:管理员终端中执行 vssadmin list shadowstorage,看 C 盘的 Used Space 是否接近 100% 或显示 Error。
第二步:执行 vssadmin delete shadows /all /quiet —— 这会清除所有旧快照,不可逆,请确保你不需要历史还原点。
第三步:重新分配空间,例如给 C 盘划 3GB:vssadmin add shadowstorage /for=C: /on=C: /maxsize=3GB
注意:/on= 参数必须指向与 /for= 相同的盘符,否则会报错 0x80042306 加剧。
修复系统文件与注册表超时值(仅限Windows Server)
如果你用的是 Windows Server 系统,并且错误发生在集群挂载点(比如 D:\ClusterShare 这种映射到群集磁盘的路径),那大概率是超时值太短。
Win + R → regedit → 定位到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Settings
右键新建两个 DWORD(32 位)值:
ClusterOnlineTimeout 和 ClusterOfflineTimeout
双击编辑,选“十进制”,值都填 2000000000
改完关掉注册表,必须重启生效——不重启等于没改。











