Menu chọn hệ điều hành của Windows Boot Manager | |
Tên khác | BOOTMGR |
---|---|
Phát triển bởi | Microsoft |
Hệ điều hành | Windows |
Thay thế cho | NTLDR |
Thể loại | Trình tải khởi động |
Giấy phép | Độc quyền |
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.[1] 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
.[2]
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.[3]
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.
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 boot.ini.
Các tùy chọn menu này có thể bao gồm:
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.
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
.
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
.[4]
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.[5] 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 HKEY_LOCAL_MACHINE\BCD00000[6] (với quyền hạn chế[7]). 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.[8]
Boot Configuration Data có thể được sửa đổi bằng một công cụ dòng lệnh (bcdedit.exe), Registry Editor[6] (regedit.exe), Windows Management Instrumentation, hoặc các công cụ bên thứ ba như EasyBCD, BOOTICE,[9] hoặc Visual BCD Editor.[10]
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