我在 UEFI moth 上安装了 Arch,在准备安装双启动窗口时偶然发现了一些令人费解的东西。进入启动选项时,我突然注意到有 25 个 UEFI 启动选项都以相同的名称命名(例如:KINGSTON SH103S3:分区 1)
起初我并不在意这个问题,只是进入启动设置将它们全部删除,但是我通常访问启动选项的设置选项卡不会响应除箭头键之外的任何键盘输入。所有其他设置选项卡都工作正常,但我无法更改启动选项的任何内容。经过一番尝试和错误后,我注意到开始出现更多的启动选项。每次我重新启动机器时,都会添加一个新的启动选项,现在甚至启动菜单 UI 也发生了变化,从简单的终端黑灰色风格变成了 msdos 黑蓝色风格。
这这是我找到的有关该问题的所有信息,但除了一些花招清除启动选项外,没有提出任何解决方案。另外,我没有华硕 Moth,但是:
飞蛾:GIGABYTE H110M-A-CF
固态硬盘:金士顿 SH103S3
如果我的措辞不好,我深表歉意,但这个问题似乎远远超出了我的能力,如果你需要澄清任何内容,我会编辑此内容
答案1
我以前听说过这种问题。听起来你得到了“多”个 USB 闪存驱动器条目——这就是我对以 开头的条目的解释kingston
,因为这是一个常见的 USB 闪存驱动器制造商。另一方面,这也可能是 SSD。澄清这一点可能很重要——但无论哪种情况,解决方案或解决方法可能都相似。
我怀疑这是固件本身在每次启动时创建的条目。如果是这样,那么这就是固件中的一个错误,因此唯一真正的解决方案是让制造商发布修复该错误的固件更新。您可以检查是否已经有这样的更新,如果有,请下载并安装它。如果没有可用的更新,我建议您将此作为错误报告给制造商。请务必报告精确的正在成倍增加的条目。包括固件设置实用程序和/或计算机自己的启动管理器的屏幕截图,以及Linux 中efibootmgr -v
(键入为) 的输出。root
至于解决方法,您可以efibootmgr
在 Arch 中使用它来在每次启动时删除不需要的条目。您可以手动执行此操作(这会很麻烦),也可以编写一个简短的脚本来完成这项工作并将其作为启动脚本启动。诀窍是识别不需要的条目并删除它们,但不删除其他条目。由于您说不需要的条目都以 开头kingston
,因此这可能相当容易。可以想象,我的refind-mkdefault
脚本(rEFInd 包的一部分)可能是一个有用的起点;但不是将匹配的条目移动到启动顺序的开头,而是需要修改脚本以删除匹配的条目——当然,还要将默认匹配字符串从 更改为refind
。kingston
如果您不使用 rEFInd,您可以从中获取脚本本身rEFInd git 存储库。该脚本是用 Python 编写的,因此如果您更喜欢使用其他脚本语言,它可能不是一个有用的起点。
类似的问题可能由于为 Fedora 创建的工具中的错误而出现,该工具旨在修复 EFI 忘记启动条目的相反问题。此工具最终可能会创建一个不断扩大的相同启动条目列表。据我所知,这个问题早已得到解决,但如果您有一些旧的 Fedora 引导加载程序,则.efi
可能是旧的错误文件造成的。在这种情况下,我会尝试清除 ESP 中您不使用的所有内容,尤其是EFI/fedora
和EFI/BOOT
目录中的内容。(由于您使用的是 Arch,我假设您对 ESP 上的内容有一个很好的了解。Arch 提供的自动设置工具比大多数发行版少,因此大多数 Arch 用户比大多数 Ubuntu 或 Fedora 等发行版的用户更熟悉这些细节。)
我想到另一个想法:如果增加的条目用于 BIOS/CSM/传统模式启动,而不是用于 EFI/UEFI 模式启动,则在固件设置实用程序中禁用 CSM 可能会解决该问题。