在基于 64 位 UEFI 的计算机上安装或启动操作系统时出错(BlInitializeLibrary 失败 XXX)

本文提供了在基于 64 位 UEFI 的计算机上安装或启动操作系统时出现错误(BlInitializeLibrary 失败 XXX)的问题的解决方法。

原始 KB 数: 4020050

现象

尝试在基于 64 位 UEFI 的计算机上安装或启动操作系统时,系统不会启动,并且会收到以下错误消息:

BlInitializeLibrary 失败 XXX

注意

错误代码也可以0xc000009a或0xc0000001。

原因

出现此问题的原因是计算机上的启动固件会生成大量内存碎片。

注意

并非所有“BlInitializeLibrary 失败 XXX”错误都由此问题引起。

解决方法

建议不要让启动固件创建大量的碎片。 大型内存碎片会降低整个启动性能并导致问题。

详细信息

在预启动阶段,Windows 启动管理器将 64 位 UEFI 系统的最大全局内存描述符数设置为 512。 如果启动固件创建大量内存碎片,则内存描述符计数可能会超过设置的限制。 这会导致“BlInitializeLibrary 失败 XXX”错误。

注意

此设计仅适用于当前操作系统版本,包括 Windows 10、Windows Server 2016 和 Windows Server 2012 R2。 我们不能保证此设计适用于将来的版本。

数据收集

如果需要 Microsoft 支持方面的帮助,建议按照使用 TSS 针对与部署相关的问题收集信息中所述的步骤收集信息。