NVRAMとは?
BIOS/UEFIおよびembedded firmware学習者向けにNVRAMを説明するクイックノート。
NVRAMは、BootOrder、Boot####、setup setting、Secure Boot databaseなどのUEFI variableを保持するnon-volatile storageである。
なぜ重要か
- firmwareが設定をreboot後も保持する仕組みを説明する。
- setup setting消失、boot order問題、variable store問題のdebugに役立つ。
- legacy CMOSと現代的なUEFI variableの違いを明確にする。
実例
例:電源を抜くたびにBIOS設定が消える場合、RTC/CMOS電池、NVRAMの保持、variable storeがresetされていないかを確認する。
クイックチェックリスト
覚えておくポイント
NVRAMは小さな概念に見えても、logを読むときや実際のfirmware debugで重要になる。
システムの流れに置く
NVRAM は、単独の用語として暗記するよりも、firmware の流れの中に置くと理解しやすいです。誰が作り、誰が読み、値が間違ったときにどの症状として出るのかを意識すると、学習用のメモがそのまま debug のチェックポイントになります。
イメージしやすい例
boot 失敗は boot loader そのものではなく、そこへ到達するための metadata が原因になることがあります。BIOS update、disk 交換、CMOS clear の後に挙動が変わったときは、boot variable、device path、boot order を先に確認します。NVRAM はその経路を読むための手がかりです。
実際のデバッグで見るポイント
NVRAM は単独の用語ではなく、boot chain の一部として見ると理解しやすいです。つまり Boot Manager が NVRAM を読む → Boot option を選ぶ → Device Path を parse する → .efi file を開く → loader に制御を渡す という流れです。意図しない device から boot する場合、boot loader そのものよりも、そこへ到達するための metadata が原因になることがあります。
実務では、boot variable を dump し、その値がどの option を指しているか、その option が active か、内部の device path が現在の disk/partition 構成と一致しているかを確認します。
関連ノート
- UEFI Variable Storeとは?
- Variable Attributeとは?
- Variable Store Fullとは?
- UEFI Variableとは?
- NVRAM Corruptionとは?
公開参考資料
- UEFI Specification 2.11 - Boot Manager / NVRAM variables
- UEFI Specification 2.11 - Runtime Services
- EDK II - VariableRuntimeDxe
この記事は役に立ちましたか?
ファームウェア、BIOS/UEFI、組み込みシステムを学んでいる人に共有できます。
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 Corruptionとは?
BIOS/UEFIおよびembedded firmware学習者向けにNVRAM Corruptionを説明するクイックノート。
UEFI Variableとは?
BIOS/UEFIおよびembedded firmware学習者向けにUEFI Variableを説明するクイックノート。
Runtime Servicesとは?
BIOS/UEFIおよびembedded firmware学習者向けにRuntime Servicesを説明するクイックノート。
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.