启动和 UEFI
启动和UEFI项目03/25/2023重要
本节中的某些信息可能仅适用于Windows10移动版和某些处理器体系结构。
运行Windows10的设备在启动到OS方面有几个要求。设备固件初始化所有硬件后,设备需要确保有足够的电源启动。之后,设备需要确保设备启动到适当的OS,具体取决于用户是要在设备上执行更新或还原,还是用户想要将设备启动到mainOS。
为了适应上述每种情况,Windows10启动进程使用以下组件:
片上系统(SoC)供应商提供的固件启动加载程序。
UEFI(SoC供应商提供的统一可扩展固件接口)环境。
Microsoft提供的Windows启动管理器。
本主题概述了启动过程,并更详细地介绍了SoC固件启动加载程序、UEFI和Windows启动管理器。
启动过程概述打开Windows10设备后,会经历以下高级过程:
设备已开机并运行特定于SoC的固件启动加载程序,该加载程序可初始化设备上的硬件并提供紧急刷写功能。
固件启动加载程序启动UEFI环境,并将控制权移交给SoC供应商、Microsoft和OEM编写的UEFI应用程序。这些应用程序可以利用UEFI驱动程序和服务。
UEFI环境启动Windows启动管理器,该管理器确定是启动到完全闪存更新(FFU)映像刷写或设备重置模式,还是启动到更新操作系统,还是启动到main操作系统。
下图概括说明了此过程。
下面是有关此图中某些组件的其他详细信息:
更新OS是Microsoft提供的最小OS环境。此OS专门用于安装更新。
完全闪存更新(FFU)映像刷写模式是指将OS映像刷写到设备存储的UEFI应用程序。Microsoft提供可用于非制造方案的UEFI刷写应用程序。OEM还可以实现自己的UEFI刷写应用程序。有关详细信息,请参阅捕获和应用Windows完整闪存更新(FFU)映像。
SoC固件启动加载程序SoC固件启动加载程序初始化设备运行所需的最少硬件集。SoC固件启动加载程序旨在尽快完成,并且运行时不会在屏幕上绘制任何内容。SoC固件启动加载程序完成后,设备将启动到UEFI环境中。
SoC固件启动加载程序还包含紧急刷写功能,该功能允许在启动环境不稳定时刷写设备,并且无法使用Microsoft提供的刷写工具(FFU)基于映像的刷写。紧急刷写需要特定于SoC的工具。有关详细信息,请联系SoC供应商。
UEFIWindows10利用统一可扩展固件接口(UEFI)来支持将系统控制权从SoC固件启动加载程序移交给OS。UEFI环境是启动设备和运行Windows10操作系统的最小启动OS。有关详细信息,请参阅Windows中的UEFI。
了解Windows启动管理器Windows启动管理器是Microsoft提供的UEFI应用程序,用于设置启动环境。在启动环境中,启动管理器启动的单个启动应用程序在设备启动之前为所有面向客户的方案提供功能。
重要
启动环境中的所有组件均由Microsoft提供,OEM无法修改、替换或省略。
启动应用程序在以下方案中实现功能:
在启动前为设备电池充电。
捕获和保存脱机故障转储(开发人员仅)生成。
使用新映像刷写设备。
重置设备。
更新设备。
将设备启动到mainOS。
下图说明了启动管理器在UEFI环境启动后所遵循的过程的一些关键部分。
以下步骤更详细地描述了此过程:
UEFI环境启动启动管理器后,启动管理器将初始化启动库,读取启动配置数据库,以确定要运行哪些启动应用程序以及运行它们的顺序。启动管理器按顺序启动启动应用程序,每个应用程序在完成后退出回启动管理器。
启动库是在现有UEFI功能的基础上扩展的函数库,设计为在启动环境中使用。只有启动管理器启动的启动应用程序才有权访问启动库。
启动管理器首先捕获用户按下的任何保留硬件按钮组合。
在非零售OS映像中,启动管理器接下来运行脱机故障转储启动应用程序,该应用程序允许设备从以前的OS会话中捕获快照物理内存。当设备异常重置时,在重置期间会保留上一个OS会话的内存。发生这种情况时,脱机故障转储应用程序将保存该内存并将其转换为脱机故障转储文件,该文件可以从设备传输并进行分析。如果设备在以前的OS会话中未异常重置,则脱机故障转储应用程序会立即退出。
在所有OS映像中,启动管理器接下来运行mobilestartup.efi。此应用程序运行多个启动库,其中一些仅在首次启动(上运行,例如,)预配安全启动策略,或仅在非零售映像(例如,进入USB大容量存储模式)。始终运行以下库:
首先,mobilestartup.efi运行实现UEFI电池充电的库。此库允许用户在设备处于启动环境中(或被视为关闭)时为其设备充电。首先运行此库,以确保设备具有足够的电量来完全启动。有关涉及电池充电应用程序的方案的详细信息,请参阅启动环境中的电池充电。
接下来,mobilestartup.efi运行实现刷写、设备重置和更新的库。这些库确定设备是否应启动到闪烁或设备重置模式,或者设备是否应继续使用更新OS或主OS。
如果mobilestartup.efi未启动到刷写或设备重置模式,则启动管理器将启动到主OS或更新OS。
相关主题启动环境中的电池充电
UEFI电池充电应用程序的体系结构
Windows中的UEFI
捕获和应用Windows完整闪存更新(FFU)映像