BIOS Terms Stable
UEFI Variable là gì?
Quicknote giải thích UEFI Variable và NVRAM trong firmware.
2 phút đọc
UEFI Variable là gì?
UEFI Variable là cơ chế lưu dữ liệu key-value của firmware. Mỗi variable thường được xác định bởi tên, vendor GUID và attribute. Một số variable nằm trong non-volatile storage nên vẫn còn sau khi tắt máy.
Vai trò chính
- Lưu boot option như Boot####, BootOrder, BootNext.
- Lưu cấu hình setup hoặc policy firmware.
- Lưu dữ liệu Secure Boot như PK, KEK, db, dbx.
- Cho phép OS và firmware trao đổi một số trạng thái runtime.
Pattern thường gặp
GetVariable()để đọc.SetVariable()để ghi.- Variable attribute quyết định non-volatile, boot-service access, runtime access hoặc authenticated write.
Ví dụ public-safe
Ví dụ đọc một UEFI variable ở mức ý tưởng:
Status = gRT->GetVariable(
L"BootOrder",
&gEfiGlobalVariableGuid,
&Attributes,
&DataSize,
Buffer
);
Nếu Status là EFI_BUFFER_TOO_SMALL, flow đúng thường là allocate buffer đủ lớn rồi gọi lại.
Checklist nhanh
- Variable name và vendor GUID có đúng không?
- Attribute có đúng mục đích không?
- Storage NVRAM có đầy không?
- Có cần authenticated variable không?
Ghi nhớ nhanh
UEFI Variable = cấu hình/trạng thái firmware lưu theo Name + VendorGuid + Attributes.
Bài liên quan
- UEFI Variable Store là gì?
- Variable Attribute là gì?
- NVRAM là gì?
- Runtime Services là gì?
- Variable Store Full là gì?
Nguồn tham khảo public
- UEFI Specification 2.11 — Runtime Services
- UEFI Specification 2.11
- UEFI PI Specification 1.9
- EDK II source code
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.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.