Windows 启动管理器:修订间差异

删除290字节 、​ 2025 年 5 月 24 日 (星期六)
第 15 行: 第 15 行:
在 Build 5098 中短暂实现了对在 32 位 EFI 环境中引导的支持,由于硬件制造商缺乏兴趣,在 [[Windows Vista Build 5219|Build 5219]] 之后立即删除。<ref name="Beta1HWDep">Microsoft. [https://web.archive.org/web/20080117204037/http://support.microsoft.com/kb/930061 Unified Extended Firmware Interface support in Windows Vista(Windows Vista 中的统一扩展固件接口支持)], ''Microsoft Knowledge Base''. 2007 年 10 月 26 日.</ref>此功能后面在 [[Windows 8 Build 7850.0.winmain_win8m1.100922-1508|Windows 8 Build 7850]] 中重新引入。
在 Build 5098 中短暂实现了对在 32 位 EFI 环境中引导的支持,由于硬件制造商缺乏兴趣,在 [[Windows Vista Build 5219|Build 5219]] 之后立即删除。<ref name="Beta1HWDep">Microsoft. [https://web.archive.org/web/20080117204037/http://support.microsoft.com/kb/930061 Unified Extended Firmware Interface support in Windows Vista(Windows Vista 中的统一扩展固件接口支持)], ''Microsoft Knowledge Base''. 2007 年 10 月 26 日.</ref>此功能后面在 [[Windows 8 Build 7850.0.winmain_win8m1.100922-1508|Windows 8 Build 7850]] 中重新引入。


== Architecture ==
== 体系结构 ==
The Windows Boot Manager is the entry point of the Boot Environment, a small environment running on top of firmware (BIOS or EFI) APIs. Applications running within the environment are called Windows Boot Applications (of which the boot manager itself is one). The core component of a boot application is the boot library, which provides APIs for display, input, storage, loading and starting executables and reading and writing configuration in memory such that enough functionality required for loading Windows can be implemented using these APIs. The boot library was extended later to provide support for features and hardware modules such as [[w:Trusted Platform Module|TPM]]s (for BitLocker, then for measured boot in [[Windows 7]]), VHD mounting (as a type of block device), Secure Boot (in [[Windows 8]]), and additional filesystems including [[w:exFAT|exFAT]] and [[w:ReFS|ReFS]].
Windows 启动管理器是启动环境的入口点,启动环境是在固件(BIOS 或 EFI)API 上运行的小型环境。在环境中运行的应用程序称为 Windows 启动应用程序(启动管理器本身就是其中之一)。启动应用程序的核心组件是启动库,它提供用于显示、输入、存储、加载和启动可执行文件以及在内存中读取和写入配置的 API,以便可以使用这些 API 实现加载Windows所需的足够功能。启动库后来进行了扩展,以提供对功能和硬件模块的支持,例如 TPM(BitLocker,然后用于 [[Windows 7]] 中的测量启动)、VHD 装载(作为一种块设备)、安全启动(在 [[Windows 8]])中,以及其他文件系统(包括 exFAT 和 ReFS)。


The OS Loader component of <code>ntldr</code> was split out into a separate boot application (<code>winload.exe</code>) and is now a part of the Windows install itself, located within the system directory. This allows breaking changes to be introduced to the data structures passed to the kernel's entrypoint, as the loader must now be matched with the kernel executable. Furthermore, the loader no longer has to retain support for loading older versions of Windows like <code>[[ntldr]]</code>.
<code>ntldr</code> 的 OS 加载程序组件被拆分为单独的启动应用程序(<code>winload.exe</code>),现在是Windows安装本身的一部分,位于系统目录中。这允许将破坏性更改引入传递给内核入口点的数据结构,因为加载程序现在必须与内核可执行文件匹配。此外,加载程序不再需要保留对加载旧版本 Windows(如 <code>[[ntldr]]</code>)的支持。


The Windows Boot Manager uses a registry hive referred to as Boot Configuration Data (BCD) to store settings, whereas <code>ntldr</code> used a text document named <code>boot.ini</code> instead. As the BCD is a registry hive, permissions for each boot option can be set granularly instead of having one set of permissions throughout the entire configuration file. The BCD can be edited by using the built-in <code>bcdedit.exe</code> command-line utility, although third-party alternatives which feature a GUI have also been developed. BCD editing can be used to add, edit or remove new boot entries, set boot options for a boot entry or the boot process, such as turning on the [[Hyper-V]] hypervisor, disabling boot graphics functionalities in the kernel or modifying the path of a boot entry's application path. If installed onto an EFI device, it will present itself as a boot entry within the device's NVRAM.
Windows 启动管理器使用称为启动配置数据(BCD)的注册表配置单元来存储设置,而 <code>ntldr</code> 则使用名为 <code>boot.ini</code> 的文本文档。由于 BCD 是一个注册表配置单元,因此可以精细设置每个引导选项的权限,而不是在整个配置文件中拥有一组权限。BCD 可以使用内置的 <code>bcdedit.exe</code> 命令行实用程序进行编辑,尽管也开发了使用 GUI 的第三方替代方案。BCD 编辑可用于添加、编辑或删除新的引导条目,为引导条目或引导过程设置引导选项,例如打开 [[Hyper-V]] 虚拟机管理程序、禁用内核中的引导图形功能或修改引导条目的应用程序路径。如果安装在 EFI 设备上,它将在设备的 NVRAM 中显示为引导项。


== Functionality ==
== Functionality ==