Enabling optimized boot
Phone bring-up >
Boot and UEFI
April 10, 2014
Applies to: Windows Phone hardware development
By default, the Windows Phone 8.1 OS boot process waits for all device drivers to start before starting other processes and services. However, OEMs can optionally enable an optimized boot feature in their phone images to have the boot process start some system processes and services before all device drivers start. When the optimized boot feature is enabled, the overall boot time may be shortened by as much as 5 seconds. However, enabling the optimized boot feature may cause the following issues:
- Calls from OEM drivers and services into other drivers during boot may fail. This is because the drivers receiving the calls may not be loaded when the other drivers or services issue their calls.
- Phones with only 512 MB of RAM may run out of memory in some cases during boot.
Although the optimized boot feature is not enabled by default, Microsoft recommends that OEMs consider enabling it in the following scenarios.
Phones that are built for Windows Phone 8.1
For phones built for Windows Phone 8.1, Microsoft recommends that OEMs thoroughly test their phones with optimized boot enabled, and ship their phones with optimized boot enabled in the retail phone images if there are no boot issues.
To enable optimized boot in a phone that is built for Windows Phone 8.1, include the OPTIMIZED_BOOT feature in the OEMInput XML file when building the image. For more information, see
Optional features for building images.
Phones that are updated to Windows Phone 8.1
For existing Windows Phone 8 phones that will be updated to Windows Phone 8.1, Microsoft recommends that OEMs thoroughly test their existing phones with optimized boot enabled. If there are no regressions in boot behavior, OEMs should consider releasing a BSP update to coincide with the Windows Phone 8.1 update that enables optimized boot.
To enable the optimized boot feature in an update, create a package that sets the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Pnp\BootOptions registry value to 3. This is a REG_DWORD value.