Error (BlInitializeLibrary failed XXX) when you install or start an operating system on a 64-bit UEFI-based computer

This article provides a workaround for an issue where an error (BlInitializeLibrary failed XXX) occurs when you install or start an operating system on a 64-bit UEFI-based computer.

Applies to:   Windows 10 - all editions, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Original KB number:   4020050

Symptoms

When you try to install or start an operating system on a 64-bit UEFI-based computer, the system does not start, and you receive the following error message:

BlInitializeLibrary failed XXX

Note

The error code could also be 0xc000009a or 0xc0000001.

Cause

This problem occurs because the boot firmware on the computer generates lots of memory fragmentation.

Note

Not all "BlInitializeLibrary failed XXX" errors are caused by this issue.

Workaround

We recommend that you do not let boot firmware create large amounts of fragmentation. Large memory fragmentation degrades the overall startup performance and causes problems.

More information

At the pre-boot stage, Windows Boot Manager sets the maximum number of global memory descriptor for a 64-bit UEFI system at 512. If the boot firmware creates a large amount of memory fragmentation, the memory descriptor count may exceed the set limit. This causes the "BlInitializeLibrary failed XXX" error.

Note

This design applies only to the current operating system releases, including Windows 10, Windows Server 2016, and Windows Server 2012 R2. We do not guarantee that this design will apply to future versions.