Windows Boot Manager

**Windows Boot Manager** (`BOOTMGR`) 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 `BOOTMGR` 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 `winload.exe` hoặc `winresume.exe`.

## 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 `bootmgr` từ phân vùng hoạt động.

Trên hệ thống sử dụng firmware UEFI, UEFI kích hoạt `bootmgfw.efi` 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 `winload.exe`—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à `winload.efi` và luôn nằm tại đường dẫn `\windows\system32` hoặc `\windows\system32\boot`.

### winresume.exe
Nếu máy tính vừa được ngủ đông, `bootmgr` thay vào đó sẽ gọi `winresume.exe`. Trên hệ thống UEFI, tập tin này có tên `winresume.efi` và luôn nằm tại `\windows\system32` hoặc `\windows\system32\boot`.

## 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 `/EFI/Microsoft/Boot/BCD` 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 `/boot/BCD` 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

## Tham khảo


## Đọc thêm

*