NVRAM Corruption là gì?
Quicknote NVRAM Corruption là gì?
NVRAM Corruption là tình trạng dữ liệu trong variable store bị hỏng, không nhất quán, hoặc không còn parse được đúng bởi firmware. Nó khác với “variable store full”: full là hết chỗ usable, còn corruption là dữ liệu/metadata có vấn đề.
Triệu chứng
- BIOS setup không mở được hoặc mở nhưng setting hiển thị sai.
- Boot option biến mất, nhân đôi hoặc trỏ tới device path vô nghĩa.
- Secure Boot state mâu thuẫn: UI nói enabled nhưng variable không khớp.
- Firmware tự load default hoặc rebuild boot option.
- Sau BIOS update/power loss, NVRAM state trở nên bất thường.
| Mục | Giá trị | Ghi chú |
|---|---|---|
| Header hỏng | Variable store/header không hợp lệ | Firmware có thể format/reinitialize store. |
| Record hỏng | Name/GUID/DataSize/State sai | Một variable cụ thể không đọc được hoặc parse sai. |
| Boot option stale | Device Path không còn khớp disk thật | Không nhất thiết store hỏng vật lý, nhưng metadata boot đã sai. |
| Power loss during write | Update bị cắt giữa chừng | Firmware cần cơ chế state/recovery để tránh brick. |
Ví dụ dump đáng nghi
BootOrder: 0000,0007,0002
Boot0000* Windows Boot Manager HD(1,GPT,...)/File(\EFI\Microsoft\Boot\bootmgfw.efi)
Boot0002* UEFI PXE IPv4 ...
# Boot0007 không dump ra được hoặc data parse lỗi
Ở đây BootOrder tham chiếu Boot0007, nhưng Boot0007 không tồn tại hoặc corrupt. BDS có thể bỏ qua option đó, fallback option khác, hoặc log lỗi tuỳ implementation.
Hướng xử lý an toàn
Không nên bắt đầu bằng “format NVRAM” nếu chưa dump được trạng thái. Với máy lab thì có thể thử reset/rebuild, nhưng với máy thật, cần cẩn thận vì NVRAM có thể chứa Secure Boot keys, platform enrollment, boot entries và setting khách hàng.
Dump variable trước
BootOrder, Boot####, SecureBoot, SetupMode, setup variables liên quan.
So sánh với hardware hiện tại
Device Path còn khớp disk/partition/file không?
Rebuild có kiểm soát
Xoá/recreate boot option stale thay vì xoá bừa toàn bộ.
Reboot nhiều vòng
Đảm bảo variable update bền và không tái corrupt.
Checklist NVRAM corruption
Bài liên quan
- NVRAM là gì?
- UEFI Variable Store là gì?
- Variable Attribute là gì?
- Variable Store Full là gì?
- CMOS khác NVRAM như thế nào?
Nguồn tham khảo public
- UEFI Specification 2.11 - Runtime Services
- UEFI Specification 2.11 - Boot Manager
- EDK II VariableRuntimeDxe
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.
NVRAM là gì?
Quicknote NVRAM là gì?
UEFI Variable là gì?
UEFI Variable lưu cấu hình firmware theo dạng Name + VendorGuid + Attributes + Data. Hiểu variable giúp debug boot option mất, Secure Boot fail và NVRAM đầy.
Runtime Services là gì?
Runtime Services là nhóm API UEFI còn hợp lệ sau ExitBootServices. Bao gồm variable, time, reset và virtual address mapping - truy cập qua gRT.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.