/sys/firmware/efi/efivars/ 中有哪些条目?
我看到它们是小的二进制文件。是这些地址和地址的内容吗?例如 /sys/firmware/efi/efivars/BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 以十六进制显示
000000000: 0700 0000 00 ....
这是什么意思?
/sys/firmware/efi/efivars/ 中有哪些条目?
我看到它们是小的二进制文件。是这些地址和地址的内容吗?例如 /sys/firmware/efi/efivars/BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 以十六进制显示
000000000: 0700 0000 00 ....
这是什么意思?
这些是 efivars 文件系统中的文件,可让您访问 UEFI 变量。对于每个 UEFI 变量,在
/sys/firmware/efi/efivars/
.您的示例
BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
具有 NameBootFromUSB
和 VendorGuidec87d643-eba4-4bb5-a1e5-3f3e36b20da9
。GUID 确保具有相同名称但来自不同供应商的变量不会干扰。UEFI 规范中定义了一些变量,但不是这个。内容的前四个字节是属性,在 UEFI 规范中也有定义。最重要的是
所以你的变量是非易失性的,可以在启动和运行时访问。
任何剩余的字节都是变量的值。在这种情况下,有一个值为 0 的字节。
您可以使用 UEFI 变量来影响引导过程。例如,当标准固件不起作用时,我们使用了这样的变量来将下次引导切换到替代恢复固件。
请注意,
efivars
文件系统允许您通过写入文件来写入 EFI 变量。执行此操作时要小心,因为覆盖某些变量可能会破坏您的系统。EFIvars 是 UEFI 规范的一部分,其中一些变量名称具有特殊含义,但其中大多数可以是您的 UEFI 固件开发人员决定的任何名称。