如何在 Fedora 16 中安全地使用 grub rescue>?系统不再启动

如何在 Fedora 16 中安全地使用 grub rescue>?系统不再启动

当我启动 PC 时,我的 Fedora 16 发行版中会出现此问题。我尝试了以下方法,但都无法启动。有什么帮助吗?我完全被阻止了。

Grub loading. 
Welcome to GRUB! 
error: file not found. Entering rescue mode... 

grub rescue>
grub rescue> ls
(hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
grub rescue> ls (hd0,gpt2)/
./ ../ lost+found/ memtest86+-4.20 grub2/ System.map-3.1.0-0.rc3.git0.0.fc16.i686 config 3.1.0.0.rc3.git0.0.fc16.i686 grub/ vmlinuz-3.1.0.0.rc3.git0.0.fc16.i686 elf-memtest86+-4.20 initramfs-3.1.0.0.rc3.git0.0.fc16.i686.img initramfs-3.1.0.0.rc4.git0.0.fc16.i686.img System.mpa-3.1.0.0.rc3.git0.0.fc16.i686 config-3.1.0.0.rc3.git0.0.fc16.i686 vmlinuz-3.1.0.0.rc3.git0.0.fc16.i686

grub rescue> set prefix=(hd0,gpt2)/boot/grub
grub rescue> set root=(hd0,gpt2)

grub rescue>insmod normal
error unknown filesystem. or sometimes "error: file not found."

grub rescue>normal
unknown command normal 

答案1

这是一个错误

我遵循了评论#26 的说明,与 LVM 略有不同,因为您必须执行以下操作:

vgchange -ay检测你的 LVM。

答案2

  • 输入“ls”查看分区。我列出的内容如下:(hd0) (hd0,msdos6) (hd0,msdos5) 等
  • 然后在所有分区中输入:“ls (hd0,msdos5)/”,直到找到包含 linux /boot 目录的目录列表
  • 找到分区后,像这样设置前缀:“set prefix=(hd0,msdos5)/boot/grub”
  • 然后输入:“set root=(hd0,msdos5)”
  • 执行“insmod normal”
  • 执行“insmod linux”
  • 执行“ls /boot”以找出最新的“vmlinuz-2.6.38-14”和“initrd.img-2.6.38-14-generic”的名称或最终名称
  • 在我的例子中,我输入了“linux /boot/vmlinuz-2.6.38-14-generic root=/dev/sda5 ro”,这是我的目录列表中最新的 vmlinuz 版本号
  • 将 initrd 设置为与上面相同的版本。在我的例子中,它是“initrd /boot/initrd.img-2.6.38-14-generic”
  • 输入“boot”

此时,您的系统应该可以启动到 Linux。您已启动到 Linux,但这些更改不是永久性的。要使它们永久生效,请进入命令提示符并输入以下命令:“sudo grub-install /dev/sda”

(“sda” 是包含您的主引导记录和您的 Linux 分区的磁盘)。

您可以在这里获取有关该过程的更多信息:https://help.ubuntu.com/community/Grub2#Command_Line_and_Rescue_Mode

答案3

在浪费时间之前fsck,您可以尝试正确获取命令:

set prefix=(hd0,gpt2)/boot/grub

这不是路径名,正如前面命令的输出所示。路径名可以是(hd0,gpt2)/grub(hd0,gpt2)/grub2,因为这些是卷上实际存在的目录。(两者中的哪一个,您必须自己弄清楚。)事实上,由于您已将 设置root为该卷,因此prefix可以简单地为:

set prefix=/grub

当该工具说找不到您命名的文件时,请尝试相信错误消息并更正名称。

答案4

我正在使用 Ubuntu 12.04,每当我尝试启动系统时,它都会停在 grub rescue 处,下面是我解决此问题的方法:

  1. 关闭系统电源并断开电源
  2. 移除硬盘并重新连接
  3. 将其拧回并重新启动系统

我一直在这么做,因为我的系统经常遇到这样的错误信息。它也能处理“未找到操作系统”的错误。

相关内容