BootCurrent là gì?
Quicknote BootCurrent là gì?
BootCurrent là UEFI variable cho biết boot option nào đã được dùng để boot phiên hiện tại. OS hoặc tool có thể đọc BootCurrent để biết hệ thống vừa boot từ Boot#### nào.
Vai trò chính
- Ghi nhận boot option hiện tại.
- Hữu ích khi debug boot path.
- Có thể dùng để kiểm tra máy boot từ disk, USB hay network.
Cách hình dung nhanh
Hãy xem mỗi Boot#### như một shortcut boot. Shortcut này không chỉ có tên hiển thị, mà còn có device path trỏ tới file .efi hoặc thiết bị boot cụ thể.
Checklist nhanh
Ghi nhớ nhanh
BootCurrent trả lời câu hỏi: lần này máy đã boot bằng option nào?
Góc nhìn khi debug
Khi học BootCurrent, 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, BootCurrent là một trong những điểm nên kiểm tra trước.
Khi gặp trong thực tế
Với BootCurrent, đừ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ì?
- BootNext là gì?
- Boot#### là gì?
- Removable Media Boot là gì?
- Fallback Boot Path 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.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.