Windows Boot Manager

Windows Boot Manager (codice_1) là trình tải khởi động được Microsoft cung cấp cho các phiên bản Windows NT bắt đầu từ Windows Vista và Windows Server 2008. Đây là chương trình đầu tiên được khởi động bởi BIOS hoặc UEFI của máy tính và chịu trách nhiệm tải phần còn lại của Windows. Nó đã thay thế cho NTLDR tồn tại trong các phiên bản Windows cũ hơn.

Boot sector hoặc UEFI sẽ tải Windows Boot Manager (một tập tin có tên codice_1 trên phân vùng hệ thống hoặc phân vùng khởi động), truy cập vào kho Boot Configuration Data và sử dụng thông tin để tải hệ điều hành thông qua codice_3 hoặc codice_4.

== Khởi động ==
Trên hệ thống sử dụng firmware BIOS, BIOS sẽ kích hoạt mã khởi động MBR từ một ổ đĩa cứng khi máy tính được khởi động. Mã khởi động MBR và mã khởi động VBR được viết riêng cho từng hệ điều hành. Trong Microsoft Windows, mã khởi động MBR tiến hành tìm một phân vùng hoạt động (MBR chỉ có kích cỡ 512 byte), sau đó chạy đoạn mã khởi động VBR của phân vùng hoạt động đó. Mã khởi động VBR sau đó tiến hành tìm và chạy tập tin codice_5 từ phân vùng hoạt động.

Trên hệ thống sử dụng firmware UEFI, UEFI kích hoạt codice_6 từ một phân vùng hệ thống EFI khi hệ thống khởi động, bắt đầu Windows Boot Manager.

== Hoạt động ==
Khi đã được khởi động, Windows Boot Manager đọc Boot Configuration Data để xác định các hệ điều hành đang có trên hệ thống và quyết định có hiện menu cho phép người dùng chọn hệ điều hành để khởi động không. Trước Windows Vista, dữ liệu này được lưu trong .

Các tùy chọn menu này có thể bao gồm:

- Tùy chọn khởi động Windows Vista hoặc các phiên bản mới hơn bằng cách gọi winload.exe.
- Tùy chọn quay trở lại Windows Vista hoặc các phiên bản mới hơn từ trạng thái ngủ đông bằng cách gọi winresume.exe.
- Tùy chọn khởi động một phiên bản cũ hơn của dòng Windows NT bằng cách gọi NTLDR của nó.
- Tùy chọn tải và chạy một volume boot record.

== Tải hệ điều hành ==
Hệ điều hành được tải bởi các trình tải khởi động riêng biệt cho mỗi phiên bản Windows được cài đặt trên hệ thống, được gọi là Windows Boot Loader.

=== winload.exe ===
Windows Boot Manager kích hoạt codice_3—trình tải khởi động—để tải nhân hệ điều hành (ntoskrnl.exe) và các trình điều khiển thiết bị cốt lõi. Theo cách hoạt động này, winload.exe có chức năng tương đường với chức năng trình tải hệ điều hành của NTLDR trong các phiên bản Windows NT trước. Trên hệ thống UEFI, tập tin này được gọi là codice_8 và luôn nằm tại đường dẫn codice_9 hoặc codice_10.

=== winresume.exe ===
Nếu máy tính vừa được ngủ đông, codice_5 thay vào đó sẽ gọi codice_4. Trên hệ thống UEFI, tập tin này có tên codice_13 và luôn nằm tại codice_9 hoặc codice_10.

== Boot Configuration Data ==
"Boot Configuration Data" (BCD - Dữ liệu cấu hình khởi động) là một cơ sở dữ liệu không phụ thuộc firmware để lưu trữ dữ liệu cấu hình tại thời điểm khởi động máy. Nó được sử dụng bởi Windows Boot Manager và thay thế cho boot.ini từng được NTLDR sử dụng.

Boot Configuration Data được lưu trong một tập tin dữ liệu có cùng định dạng như các hive Windows Registry và sau cùng sẽ được gắn vào khóa registry (với quyền hạn chế). Với hệ thống UEFI, tập tin này nằm tại codice_16 trên phân vùng hệ thống EFI. Với hệ thống BIOS truyền thống, tập tin này nằm tại codice_17 trên phân vùng hoạt động.

=== bcdedit ===
Boot Configuration Data có thể được sửa đổi bằng một công cụ dòng lệnh (bcdedit.exe), Registry Editor (regedit.exe), Windows Management Instrumentation, hoặc các công cụ bên thứ ba như EasyBCD, BOOTICE, hoặc Visual BCD Editor.

Boot Configuration Data cho phép tích hợp bên thứ ba để bất cứ ai có thể triển khai các công cụ như chẩn đoán hay tùy chọn khôi phục

== Xem thêm ==
- Quá trình khởi động của Windows NT
- Các công nghệ I/O trên Windows Vista