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

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

windows-server/backup-and-storage/system-writer-not-found-in-backup#symptoms" aria-labelledby="symptoms" style="box-sizing: inherit;outline-color: inherit;cursor: pointer;overflow-wrap: normal;background-color: rgba(0, 0, 0, 0);outline-style: initial;outline-width: 0px;font-family: docons;font-size: 1rem;speak: none;font-variant-numeric: normal;font-variant-east-asian: normal;text-align: center;direction: ltr;-webkit-font-smoothing: antialiased;font-weight: 400;line-height: 16px;display: inline-block;width: 1px;transition: opacity 0.1s linear 0s;position: absolute;left: 0px;transform: translateY(-50%) scale(1);top: 1.38125rem;clip: rect(1px, 1px, 1px, 1px);clip-path: inset(50%);height: 1px;opacity: 0;border: 0px;padding: 0px;overflow: hidden">症状

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

系统状态备份失败 [<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\temp\PendingRenames目录中文件的%windir%\winsxs\filemaps\权限不正确。

解决方案

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

控制台
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

如果系统编写器缺失,请检查应用程序事件日志是否存在以下事件:

日志名称:应用程序
源:VSS
事件 ID:8213
级别:错误
说明:
卷影复制服务错误:承载具有名称系统编写器和 ID {e8132975-6f93-4464-a53e-1050253ae220} 的编写器的过程不会在具有足够访问权限的用户下运行。 考虑在本地系统、管理员、网络服务或本地服务的本地帐户下运行此过程。
操作:
初始化编写器
上下文:
编写器类 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 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 WORK 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] 稳定
上次错误:无错误