在GRUB 2救援模式下修复Linux引导故障

本文为您提供有关修复GRUB 2引导问题的可用选项的信息,以及有关如何使用GRUB 2的具体说明

由于GRUB 2的修复引导问题的能力比原来的GRUB引导程序大大提高。 本文提供有关修复GRUB 2引导问题的可用选项以及有关如何使用GRUB 2终端的具体说明的信息。 说明书是为GRUB 2编写的。

怎么样

当GRUB无法启动时,基本上有三个错误消息或屏幕。

grub> :这是您在GRUB找到除配置文件之外的所有内容时看到的屏幕模式。 这个文件可能是grub.conf

grub rescue> :这是GRUB 2无法找到GRUB文件夹或其内容丢失/损坏的模式。 GRUB 2文件夹包含菜单,模块和存储的环境数据。

GRUB :只是“GRUB”没有其他表示GRUB 2找不到启动系统所需的最基本的信息。

这些是引导期间可能发生的基本错误。 虽然还有一些错误可以在屏幕上看到,如冻屏幕,Busybox或Initramfs:GRUB 2开始....
但是GRUB 2的每个故障模式都可以从GRUB 2终端或发行版的Live boot CD或DVD进行更正,还可以使用第三方救援工具。

基本命令可用。

这些是当您按“c”键进入GRUB 2终端模式时可以使用的命令。

boot (Initiate the boot, also F10 or CTRL-x)

cat (view the contents of config or txt files; cat (hd0,1)/boot/grub/grub.cfg)

configfile (Load a GRUB 2 configuration file such as grub.cfg; configfile (hd0,5)/boot/grub/grub.cfg.)

initrd (Loads the initrd.img, necessary for booting; initrd (hd0,5)/initrd.img.)

insmod (Loads a module; insmod (hd0,5)/boot/grub/normal.mod, or insmod normal.)

linux (Loads the kernel; insmod /vmlinuz root=(hd0,5) ro.)

loop (Mount a file as a device; loopback loop (hd0,2)/iso/my.iso.)

ls (lists the contents of a partition/folder; ls, ls /boot/grub, ls (hd0,5)/, ls (hd0,5)/boot.)

lsmod (List loaded modules.)

normal (Activate the normal module, if loaded.)

search (Search for a device. Type help search for the available options.)

set (Review current settings, or set XXX to set a variable such as colors, prefix, root.)

vbeinfo (Display GRUB 2 available resolutions.)

救援Shell

如果你获得了一个救援shell,这通常意味着由于某些原因,GRUB无法加载“normal”模块。 有可能暂时解决这个问题:例如,如果失败的原因是“前缀”是错误的(也许是指错误的设备,或者可能是“/ boot / grub”的路径未正确生成相对于设备),那么您可以更正此并手动进入正常模式:检查当前前缀(和其他预设变量):

set

你可能会有这么多的输出:



您的输出可能有所不同,但您获得所需的信息。 了解哪些设备可用:

ls



设置为正确的值,可能是这样的:

set prefix=(hd0,1)/grub

(这必须根据您自己的驱动器名称完成)

set root=(hd0,1)

(这必须根据您自己的驱动器名称执行。)

insmod normal
normal

上述命令将使您退出救援模式至正常终端模式。 在终端模式下,您有更多的命令增加功能。
在上述命令之后,您可以继续执行其余的设置。

insmod linux
* linux /vmlinuz root=/dev/sdXY ro

(如果这不工作,尝试这个)

linux /boot/vmlinuz-3.2.0-14-generic root=/dev/sda1 ro

(可选的)

initrd /initrd.img

(选择initrd图像。)

boot

引导系统后。

更新GRUB配置文件。

sudo update-grub

在设备上重新安装Grub:

sudo grub-install /dev/sdX

这应该是救援部分,你的系统应该是好的运行。 如果不是,您可以使用启动修复来节省您的所有麻烦。 这是用于修复完整启动菜单的工具。 它可以直接下载并用作Live Boot CD或DVD。 是下载链接。