在里面建筑维基我看到两个内核变量CONFIG_EFIVAR_FS
&CONFIG_EFI_VARS
应该分别设置=y
为 和=n
。Arch 说,“应禁用此选项以防止在启用 efivarfs 和 sysfs-efivars 时出现任何潜在问题。”在 Ubuntu 20.04 中,它们都设置为=y
。如果我理解正确的话,结果似乎是dump-*
中的文件/sys/firmware/efi/efivars
和dump-*
中的目录/sys/firmware/efi/vars
。
$ ls -l efivars/dump*
-rw-r--r-- 1 root root 644 Feb 27 00:12 efivars/dump-type0-10-1-1645912016-C-cfc8fc79-be2e-4ddc-97f0-9f98bfe298a0
[& etc.]
$ ls -l vars/dump*
vars/dump-type0-10-1-1645912016-C-cfc8fc79-be2e-4ddc-97f0-9f98bfe298a0:
total 0
-r-------- 1 root root 4096 Feb 27 00:48 attributes
-r-------- 1 root root 4096 Feb 27 00:48 data
-r-------- 1 root root 4096 Feb 27 00:48 guid
-rw------- 1 root root 4096 Feb 27 00:48 raw_var
-r-------- 1 root root 4096 Feb 27 00:48 size
[& etc.]
由于我的 NVRAM 已被这些填满(请参阅这里和这里对于由于包装而导致的麻烦acpi-call
,特别是在老化的 Thinkpad 中 - 我的是 W530),我想知道我的理解是否正确,因此我需要删除文件和目录及其内容?
编辑1:按照 user1686 的回答,我尝试删除../efivars/dump*
。即使重新启动后,../vars/dump*
目录仍然存在。更糟糕的是,../efivars/dump*
文件又回来了!
编辑2: 我../efivars/dump*
第二次删除了它们,重启后它们和../vars/dump*
目录都消失了。
答案1
两个位置代表同一件事——它们是同一个 EFI“变量”存储的不同视图,并且底层只有一个该变量的副本。
因此,无论您先删除哪一个,内核都会要求 EFI 运行时服务删除完全相同的 EFI 变量,并且该条目应同时从两个位置消失。
(如果它没有从两个位置消失,不要尝试从另一个位置删除它,而是重新启动。)