efivarfs - 一個 (U)EFI 變數檔案系統¶
建立 efivarfs 檔案系統的目的是為了解決使用 sysfs 中的條目來維護 EFI 變數的缺點。舊的 sysfs EFI 變數程式碼僅支援最大 1024 位元組的變數。此限制存在於 EFI 規範的 0.99 版本中,但在任何完整版本釋出之前已刪除。由於變數現在可以大於單個頁面,因此 sysfs 不是此目的的最佳介面。
可以使用 efivarfs 檔案系統建立、刪除和修改變數。
efivarfs 通常像這樣掛載
mount -t efivarfs none /sys/firmware/efi/efivars
由於存在大量韌體錯誤,其中刪除非標準 UEFI 變數會導致系統韌體無法 POST,因此非標準化的已知 UEFI 變數的 efivarfs 檔案被建立為不可變檔案。 這不會阻止刪除 - “chattr -i” 會起作用 - 但它確實防止了意外完成此類失敗。
警告
當顯示/sys/firmware/efi/efivars 中 UEFI 變數的內容時,例如使用“hexdump”,請注意輸出的前 4 個位元組代表 UEFI 變數屬性,以小端格式表示。
實際上,每個 efivar 的輸出由以下部分組成:
4_bytes_of_attributes + efivar_data
另請參閱