受影响的环境:
当 Microsoft 的 SHA2/SHA256 支持补丁尚未安装或仅在最近安装(遇到备份问题后)时,以下操作系统会出现此问题:
- Windows Server 2008
- Windows Server 2008R2
- Windows 小型企业服务器 2011
- Windows 7
可能会出现两个相关的问题/症状:
问题 A:
您将 Acronis 代理程序从较早的 C21.02 之前的版本(例如,C21.01 HF1/build 15.0.26321)更新到更新的代理程序版本(例如, C21.11/内部版本 28323)。重新启动计算机后(代理安装程序提示您需要重新启动时,或出于任何其他原因),计算机不再启动,而是加载故障恢复控制台。故障恢复控制台显示一个引导错误,提示一个或多个驱动程序的签名验证失败,这些驱动程序是代理的一部分(例如,最常见的是snapman.sys)。
问题 B:
您已设法排查故障并解决问题 A,但备份仍然失败并出现错误消息,例如: “系统找不到指定的文件”
来自备份控制台的示例屏幕截图:
更多信息和症状示例:
(单击上面显示的高级错误的“详细信息”按钮) 在带有代理版本 C21.11/内部版本 28323 的 Windows Server 2008R2 上失败的备份活动的示例错误消息详细信息:
Error
Operating system error: The system cannot find the file specified
MESSAGE Operating system error: The system cannot find the file specified
Additional info:
------------------------
Error code: 20250646
Fields: {"$module":"mms_vsa64_28323","CommandID":"..."}
Message: TOL: Failed to execute the command. Backup plan '....'
------------------------
Error code: 20250646
Fields: {"$module":"agent_protection_addon_vsa64_28323","CommandID":"..."}
Message: TOL: Failed to execute the command. Backup plan '...'
------------------------
Error code: 20119593
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: Failed to execute the command.
------------------------
Error code: 20250646
Fields: {"$module":"mms_vsa64_28323","CommandID":"..."}
Message: TOL: Failed to execute the command. Resolving items to back up
------------------------
Error code: 20250646
Fields: {"$module":"agent_protection_addon_vsa64_28323","CommandID":"..."}
Message: TOL: Failed to execute the command. Resolving items to back up
------------------------
Error code: 20119595
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: Failed to execute an internal command while resolving items selected for backup.
------------------------
Error code: 16318468
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: ASYNC: Unidentified job.
------------------------
Error code: 16318468
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: Job resolves the selection rules specified in the centralized backup plan for managed machine root item backup.
------------------------
Error code: 16318468
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: ASYNC: Unidentified job.
------------------------
Error code: 16318468
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: ASYNC: Lazy barrier action job.
------------------------
Error code: 16318468
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: GXT searches for items by type.
------------------------
Error code: 16318468
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: GXT started going through hierarchy.
------------------------
Error code: 16318468
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: GXT is going through hierarchy.
------------------------
Error code: 16318468
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: ASYNC: Lazy barrier action job.
------------------------
Error code: 16318468
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: ASYNC: Action sequence pending action job.
------------------------
Error code: 16318468
Fields: {"$module":"agent_protection_addon_vsa64_28323"}
Message: GXT is going through hierarchy.
------------------------
Error code: 16318468
Fields: {"$module":"mms_vsa64_28323"}
Message: ASYNC: Action sequence pending action job.
------------------------
Error code: 16318468
Fields: {"$module":"mms_vsa64_28323"}
Message: ASYNC: Full barrier action job.
------------------------
Error code: 9764951
Fields: {"$module":"disk_bundle_vsa64_28323"}
Message: DAAPI has failed to collect information about the machine.
------------------------
Error code: 1048581
Fields: {"$module":"disk_bundle_vsa64_28323"}
Message: Failed to initialize the snapshot manager library.
------------------------
Error code: 9
Fields: {"$module":"disk_bundle_vsa64_28323","code":2}
Message: Unknown status.
------------------------
Error code: 65520
Fields: {"$module":"disk_bundle_vsa64_28323","code":2147942402}
Message: The system cannot find the file specified
------------------------
来自稍旧(且同样受影响)代理版本 28156 的示例错误:
Full machine backup fails with the error:
Windows error: (0x80070002) The system cannot find the file specified
Checking the MMS logs we can find text similar to:
| error 0xf90004: ASYNC: Action sequence pending action job.
| line: 0xd7761d47edeb39a4
| file: d:\81\enterprise\common\async\semaphore.cpp:154
| function: Async::Detail::SemaphoreLogic::SemaphoreJob::Describe
| $module: mms_vsa64_28156
|
| error 0xf90004: ASYNC: Full barrier action job.
| line: 0x368cb7423c1c08db
| file: d:\81\enterprise\common\async\full_barrier.cpp:227
| function: Async::FullBarrier::BarrierJob::Describe
| $module: mms_vsa64_28156
|
| error 0x950057: DAAPI has failed to collect information about the machine.
| line: 0xce47d41ec1026b89
| file: d:\81\enterprise\disk_manager\daapi1\disk_manager_impl.cpp:690
| function: DiskManagement::Da1DiskManagerImpl::GetView
| $module: disk_bundle_vsa64_28156
在 SnapAPI 日志中,我们可以找到类似于以下内容的信息:
[20211209-084329-099][SnapAPI][E] Failed to open control device '\\.\Global\SnapApiControl4050': status 2
[20211209-084329-099][SnapAPI][T] Init kernel 0x2
[20211209-084329-099][SnapAPI][T] Initialize status Error: 10 (status 2h) Text: \\.\Global\SnapApiControl4050
问题原因
问题 A
此问题与已知问题 ABR-330569 和 ABR-330765 完全相关。
- [ABR-330569] Windows Server 2008 R2 上的代理安装失败。这与在受影响操作系统之一的计算机上手动运行新代理版本的安装程序有关 - 作为全新安装(如果之前计算机上没有 Acronis 代理),或作为更新(如果计算机上已经存在较旧的 C21.02 之前版本的代理,并且新版本的安装程序现在自动以更新程序模式运行)。在这两种情况下,安装程序都会生成一条用户可见的错误消息,提示由于代码签名而安装某些组件时出现问题。
- [ABR-330765] 在 Win2008R2 上更新代理需要重新启动并将机器启动到恢复模式。如果代理被远程更新(通过备份控制台 界面手动触发更新)或被配置为自动更新(注意:代理自动更新仅在 C21.02 之后可用),则这是相关的。
如果计算机管理员在其启动屏幕(恢复控制台)禁用驱动程序签名验证,则计算机可以继续成功启动。但是,之后的备份可能仍然无法正常工作,失败并显示类似于“系统找不到指定的文件”的错误消息。
问题 B
即使您已经设法解决了问题 A(SHA2 补丁/KB 更新手动或通过 Windows 更新安装,并且当受影响版本(例如 C21.11)的代理重新安装,并且系统启动正常),之后的备份可能仍然无法工作,失败并显示类似于“系统找不到指定的文件”的错误消息。
在这种情况下,可以使用以下解决方法,假设 SHA2/SHA265 补丁已通过 Windows 更新安装:
- 完全卸载代理(使用例如 cleanup_tool清理工具)
- 重启机器
- 全新安装 C21.11/current 代理程序
全新安装应该让我们的驱动程序正确“看到”磁盘,并进行备份。
根本原因
正如下面 Microsoft 资源中所解释的,在过去几个月中,Windows 开始执行更严格的驱动程序签名算法,并且 Microsoft(以及大多数软件供应商 - 包括 Acronis)开始使用现代且更强大的 SHA2/SHA256 加密算法用于对驱动程序和用户空间可执行文件等代码进行签名。这是整个行业逐步淘汰使用 SHA1 的计划的一部分,几年来,SHA1 被认为不再足够安全。
从 C21.02(2 月发布)开始,用于备份/网络保护产品的云的 Acronis 代理,以及在同一时间范围内发布的产品本地的相应版本,已切换到使用 SHA2/SHA256 - 代理需要运行的各种内核驱动程序组件的位加密签名。
有关更多信息,请参阅:
- Windows 和 WSUS 的 2019 SHA-2 代码签名支持要求
- Windows Server 2008 R2、Windows 7 和 Windows Server 2008 的 SHA-2 代码签名支持更新:2019 年 9 月 23 日
解决方法
为了解决问题 A:
1.要让受影响的机器启动,请重新启动机器,然后在系统启动时按 F8 并选择“禁用驱动程序签名强制”选项。
- 手动安装 Microsoft 的 SHA2 支持补丁,或通过 Windows Update 应用所有可用更新。
- 重新安装代理(当前版本)。
为了解决问题 A 和问题 B(完全防止问题 B 发生):
1.要让受影响的机器启动,请重新启动机器,然后在系统启动时按 F8 并选择“禁用驱动程序签名强制”选项。
2.手动安装 Microsoft 的 SHA2 支持补丁,或通过 Windows Update 应用所有可用更新。
3.使用清理工具对代理进行深度清理完全卸载
4.再次重新启动服务器。
5.对当前代理版本进行全新安装(例如 C21.11)
为避免问题 A 和问题 B 发生而建议的预防措施:
确保保持您的 Windows 操作系统充分更新。特别是,在更新您的 Acronis 代理之前,应用 Microsoft 的所有稳定性关键和安全关键补丁。在更新您的 Acronis 代理之前安装来自 Microsoft 的 SHA2 相关补丁。
在这种特殊情况下使用清理工具的注意事项
在其新版本中,您只需从显式 ELEVATED 的 Windows CMD 启动它;无需指定任何参数或标志:该工具只是运行和扫描。工具完成后(可能需要几分钟,有时甚至超过 10 分钟),现在不需要执行 KB 中提到的任何手动后期检查 - 当工具完成清理时,它的最后一行输出会让你知道你需要重新启动。
(!) 清理实用程序不会自行触发重新启动,它只会在需要重新启动时通知用户。
注意:在极少数情况下(在 Windows Server 2008/R2 和 2012/R2 上出现过几次),操作系统可能会在 cleanup_tool 完成后的第一次重启期间出现 BSOD;这是由于这些旧 Windows 版本处理驱动程序删除的方式; 以后的版本就好了。