使用服务器备份Windows备份失败并出现错误:备份中未找到系统编写器

本文提供了一个解决方案,可解决使用服务器备份无法执行系统状态Windows的问题。

适用于:  Windows Server 2012R2
原始 KB 编号:   2009272

症状

使用 Windows Server 2008 上的 Windows 服务器备份执行系统状态备份时,备份将失败,并出现以下错误:

系统状态备份失败 [ <DateTime> ]
文件成功备份的日志
'C:\Windows\Logs\WindowsServerBackup\SystemStateBackup <DateTime> .log'
备份失败的文件的日志
'C:\Windows\Logs\WindowsServerBackup\SystemStateBackup_Error <DateTime> .log"
备份中未找到系统编写器。

在应用程序事件日志中,将记录以下事件:

日志名称:应用程序
源:Microsoft-Windows-Backup
事件 ID:517
级别:错误
说明:
在 ' <DateTime> ' ' 启动的备份失败,出现以下错误代码"2155348226" (在 backup.) 中未找到系统编写器。 请在问题解决后重新运行备份。

日志名称:应用程序
来源:Microsoft-Windows-CAPI2
事件 ID:513
级别:错误
说明:
处理系统编写器对象中的 OnIdentity () 调用时加密服务失败。
详细信息:
AddCoreCsiFiles:BeginFileEnumeration () 失败。
系统错误:
访问被拒绝。

原因

系统编写器失败,因为对 %windir%\winsxs\filemaps\ 或 目录中的文件 %windir%\winsxs\temp\PendingRenames 的权限不正确。

解决方案

若要解决此问题,请从提升的命令提示符键入以下命令:

Takeown /f %windir%\winsxs\temp\PendingRenames /a
icacls %windir%\winsxs\temp\PendingRenames /grant "NT AUTHORITY\SYSTEM:(RX)"
icacls %windir%\winsxs\temp\PendingRenames /grant "NT Service\trustedinstaller:(F)"
icacls %windir%\winsxs\temp\PendingRenames /grant BUILTIN\Users:(RX)  
Takeown /f %windir%\winsxs\filemaps\* /a  
icacls %windir%\winsxs\filemaps\*.* /grant "NT AUTHORITY\SYSTEM:(RX)"
icacls %windir%\winsxs\filemaps\*.* /grant "NT Service\trustedinstaller:(F)"
icacls %windir%\winsxs\filemaps\*.* /grant BUILTIN\Users:(RX)
net stop cryptsvc
net start cryptsvc

键入以下命令以验证系统编写器现在是否列出:

vssadmin list writers

如果缺少系统编写器,请检查 Application 事件日志中的以下事件:

日志名称:应用程序
源:VSS
事件 ID:8213
级别:错误
说明:
卷影复制服务错误:托管名称为系统编写器且 ID 为 {e8132975-6f93-4464-a53e-1050253ae220} 的编写器的进程没有在具有足够访问权限的用户下运行。 请考虑在本地帐户(本地系统、管理员、网络服务或本地服务)下运行此过程。
操作:
初始化编写器
上下文:
Writer 类 ID:{e8132975-6f93-4464-a53e-1050253ae220}
编写器名称:系统编写器

事件"详细信息"部分 (二进制数据\以) 为单位)将显示为:

0000: 2D 20 43 6F 64 65 3A 20 - 代码:
0008: 57 52 54 57 52 54 49 43 WRTWRTIC
0010: 30 30 30 30 30 37 32 39 00000729
0018: 2D 20 43 61 6C 6C 3A 20 - 呼叫:
0020: 57 52 54 57 52 54 49 43 WRTWRTIC
0028: 30 30 30 30 30 36 34 39 00000649
0030: 2D 20 50 49 44 3A 20 20 - PID:
0038: 30 30 30 30 31 30 38 34 00001084
0040: 2D 20 54 49 44 3A 20 20 - TID:
0048: 30 30 30 31 38 39 37 36 00018976
0050: 2D 20 43 4D 44 3A 20 20 - CMD:
0058: 43 3A 5C 57 69 6E 64 6F C:\Windo
0060: 77 73 5C 73 79 73 74 65 ws\syste
0068: 6D 33 32 5C 73 76 63 68 m32\svch
0070: 6F 73 74 2E 65 78 65 20 ost.exe
0078:2D 6B 20 4E 65 74 77 6F -k Netwo
0080: 72 6B 53 65 72 76 69 63 rkServic
0088: 65 20 20 20 20 20 20 20 e
0090: 2D 20 55 73 65 72 3A 20 - 用户:
0098: 4E 54 20 41 55 54 48 4F NT AUTHO
00a0: 52 49 54 59 5C 4E 45 54 RITY\NET
00a8: 57 4F 52 4B 20 53 45 52 工作 SER
00b0: 56 49 43 45 20 20 20 20 VICE
00b8: 2D 20 53 69 64 3A 20 20 - Sid:
00c0:53 2D 31 2D 35 2D 32 30 S-1-5-20

打开 Regedit 并导航到以下键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\VssAccessControl :。

将 NT AUTHORITY\NETWORK SERVICE (REG_DWORD) 更改为 1。

您可能还需要检查 LOCAL SERVICE、NetworkService (服务条目) 事件 8213 指示。

系统编写器现在应显示在命令 vssadmin list writers 中:

编写器名称:系统编写器
编写器 ID:{e8132975-6f93-4464-a53e-1050253ae220}
编写器实例 ID:{04cf6316-f0c5-4ce7-bbe4-e56e6334124c}
状态:[1] 稳定
最后一个错误:无错误