BootNext là gì?
Quicknote BootNext là gì?
BootNext là UEFI variable chỉ định boot option dùng cho lần boot kế tiếp. Sau khi được dùng, BootNext thường bị firmware xóa để hệ thống quay lại BootOrder bình thường.
Vai trò chính
- Override BootOrder trong một lần boot.
- Dùng cho restart vào USB, recovery, firmware update hoặc OS chọn boot tạm thời.
Ví dụ thực tế
Khi OS muốn reboot một lần vào firmware update tool, nó có thể set BootNext trỏ tới một Boot#### đặc biệt. Sau lần boot đó, firmware thường xóa BootNext để lần sau quay lại BootOrder bình thường.
Checklist nhanh
Ghi nhớ nhanh
BootNext = lựa chọn boot một lần; BootOrder = thứ tự boot mặc định.
Góc nhìn khi debug
Khi học BootNext, mình không muốn chỉ dừng ở định nghĩa. Mình thường tự hỏi ba câu: nó được tạo ra ở đâu, ai sẽ đọc nó, và nếu nó sai thì lỗi sẽ biểu hiện ở tầng nào. Cách nhìn này giúp biến một thuật ngữ khô khan thành một điểm kiểm tra cụ thể trong flow debug.
Ví dụ dễ gặp
Một lỗi boot đôi khi không nằm ở boot loader, mà nằm ở metadata dẫn đường: boot option, device path, variable hoặc thứ tự thử boot. Khi gặp trường hợp máy từng boot được nhưng sau update BIOS, đổi disk hoặc clear CMOS lại boot sai, BootNext là một trong những điểm nên kiểm tra trước.
Khi gặp trong thực tế
Với BootNext, đừng chỉ đọc như một biến độc lập. Hãy đặt nó vào chuỗi: Boot Manager đọc NVRAM → chọn Boot option → parse Device Path → mở file .efi → chuyển quyền cho loader. Khi boot sai thiết bị, lỗi thường nằm ở metadata dẫn đường trước khi nằm ở bản thân boot loader.
Một cách debug nhanh là dump các biến boot từ UEFI Shell hoặc OS tool, rồi kiểm tra xem giá trị đang trỏ tới option nào, option đó còn active không, và device path bên trong còn đúng với disk/partition hiện tại không.
Bài liên quan
- BootOrder là gì?
- Boot#### là gì?
- BootCurrent là gì?
- EFI_LOAD_OPTION là gì?
- Removable Media Boot là gì?
Nguồn tham khảo public
- UEFI Specification 2.11 - Boot Manager
- EDK II - UefiBootManagerLib/BmBoot.c
- EDK II - UefiBootManagerLib.h
Thấy nội dung này hữu ích?
Lưu lại hoặc chia sẻ cho người cũng đang học firmware, BIOS/UEFI và embedded systems.
Nội dung liên quan
Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.
Boot####, BootOrder và BootNext là gì?
Boot#### là EFI_LOAD_OPTION trong NVRAM chứa attributes, Device Path và optional data. BootOrder và BootNext điều khiển thứ tự BDS thử boot.
BDS là gì trong UEFI?
BDS là phase chọn boot option sau DXE. Firmware đọc BootOrder, connect device, load và start EFI image. Hiểu BDS giúp debug khi máy không boot đúng option.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.