VarStore là gì?

VarStore là vùng dữ liệu backing cho HII question, thường liên hệ với UEFI variable trong NVRAM.

2 phút đọc
Đọc bằng Tiếng Việt English 日本語
HII / BIOS Setup Terms cover

VarStore là nơi HII question đọc và ghi dữ liệu. Nếu question là “ô nhập liệu”, VarStore chính là “bộ nhớ backing” phía sau ô đó.

Trong BIOS Setup, VarStore thường liên kết trực tiếp hoặc gián tiếp với UEFI variable trong NVRAM.

01 Question

UI item

OneOf/Checkbox/Numeric/String.

02 VarStore

Backing data

Struct buffer hoặc name/value.

03 Config

RouteConfig

Browser chuyển cấu hình về driver.

04 NVRAM

SetVariable

Dữ liệu được lưu cho boot sau.

Các kiểu VarStore thường gặp

Mục Giá trị Ghi chú
Buffer VarStore Map vào struct C Phổ biến nhất cho BIOS Setup lớn.
EFI VarStore Map trực tiếp tới EFI variable Dễ hiểu nhưng phải cẩn thận GUID/name/attributes.
Name/Value VarStore Dạng key/value string Hay dùng cho cấu hình linh hoạt hoặc driver-specific.
String VarStore Dữ liệu string người dùng nhập Cần chú ý size và encoding.

Layout ví dụ

typedef struct {
  UINT8  FastBoot;      // offset 0x00
  UINT8  SataMode;      // offset 0x01
  UINT8  NetworkStack;  // offset 0x02
  UINT16 BootTimeout;   // offset 0x04, chú ý alignment
} SETUP_DATA;
varstore SETUP_DATA,
  varid = Setup,
  name  = Setup,
  guid  = SETUP_GUID;

Nếu VFR nghĩ BootTimeout ở offset 0x03 nhưng struct thật đặt ở 0x04, UI có thể ghi nhầm field khác. Đây là loại bug rất khó nhìn bằng mắt nếu không dump IFR hoặc kiểm tra layout.

Liên hệ CMOS

Legacy BIOS từng lưu nhiều setup option trong CMOS/RTC RAM. UEFI hiện đại thường lưu cấu hình trong NVRAM variable nằm trong SPI Flash. Vì vậy:

  • Clear CMOS có thể reset clock và một phần setting legacy/platform-specific.
  • Nhưng nhiều UEFI variable vẫn nằm trong NVRAM store.
  • Một số vendor có logic “CMOS clear detected” rồi restore default UEFI variable.

Vì vậy khi user nói “clear CMOS rồi mà setting vẫn còn”, đừng vội kết luận bug. Cần biết setting đó nằm trong CMOS thật, UEFI NVRAM, hay được sync giữa hai bên.

Bài liên quan

Nguồn tham khảo public

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.