如何在启动时插入 linuxefi 模块

如何在启动时插入 linuxefi 模块

我正在运行带有内核 3.11.0-14-generic 的 Ubuntu 13.10。

一切都运行正常,但当我进行常规软件更新时,计算机却无法启动。不幸的是,我不确定更新了什么软件,但我感觉它修改了我的 grub 配置(稍后会详细介绍原因)。

无论我尝试使用 3.11.0-14 和 3.11.0-12 内核的常规模式还是恢复模式,启动都会在“加载初始 ramdisk”处冻结。

在四处寻找的过程中,我找到了一个可以让我启动的解决方案:在高级启动选项菜单中按 c 进入 grub> 命令提示符。输入以下命令插入 linuxefi 模块

insmod (hd0,gpt7)/usr/lib/grub/x86_64-efi/linuxefi.mod

其中 hd0,gpt7 是我的 Linux 分区。

之后,我按下 ctrl-alt-delete,似乎重新启动了(听到计算机发出哔哔声,并再次提供 grub 选项)。但是,现在当我选择任何启动选项(默认或恢复模式)时,计算机都可以正常启动。

然而,如果我真的重新启动,我就会回到同样的“加载初始 ramdisk”冻结状态。

那么我怎样才能使 linuxefi 模块的插入永久生效呢?我假设我应该在其中一个 grub 配置文件中执行此操作,但不确定是哪一个。

如果您能提供关于导致这一混乱的原因的其他想法,我们将不胜感激。

答案1

可以想象启动修复工具可以解决这个问题;但是,我之前从未听说过您的具体问题,因此我不能保证这能解决问题。

另一件你可以尝试的事情(基本上没有风险)是准备一个 USB 闪存驱动器或 CD-R,里面有我的rEFInd 启动管理器。(该页面上有这两种图像的下载链接。)如果 rEFInd 可以启动 Linux(如果您是多重启动,还可以启动任何其他操作系统),那么您可以安装 Debian 软件包版本的程序,让它接管 GRUB。请注意,rEFInd 可能会为您提供通过 GRUB 启动的选项(这可能没有帮助)或vmlinuz直接启动 Linux 内核(选项);您应该尝试后一种选项。

相关内容