grub rescue – >没有这样的分区

我的电脑问题很严重……

我已经减少了Windows分区,当我重新启动时,我有grub救援错误消息:“ 没有这样的分区 ”。

此外,我无法访问BIOS,因此似乎无法将启动顺序更改为在我的live usb或live cd上启动。

命令行ls给我: (hd0) (hd0,1) (hd0,2) (hd0,3)

我有一个恢复Windows分区(我认为1),一个Windows分区和一个linux分区。

然而,命令行ls (hd0,1)ls (hd0,2)ls (hd0,2)给出了错误消息:“ unknown filesystem ”,所以我不能再设置启动了。

你有什么主意吗?

grub rescue>提示表示GRUB 2 未能找到grubfolder ,grub.cfg文件和/或相关模块。 提供了救援提示,以便用户可以提供grub文件夹的路径,加载必要的模块,并提供正确的引导命令。 grub rescue>提示符的常见原因是grubfolder的路径不正确。 提示的原因还包括在某些系统或分区操作 ,grubfolder位置的不正确指定,缺少linux中的linux或initrd.img符号链接或安装失败后更新GRUB 2失败。 要从grub rescue>提示符成功启动:

1. grubfolder必须存在并包含必要的GRUB 2文件和模块。
2.必须通过set prefix命令设置正确的路径。 在设置正确的路径之前,许多GRUB 2命令将无法工作 。 如果grubfolder的路径(通常是/ boot / grub)不正确,则可能会出现未知命令或文件未找到消息。
3.必须加载必要的模块。 在加载“linux”模块之前,无法加载内核。 4.必须找到并加载Linux内核和initrd.img。

在您的情况下,grub文件夹和grub.cfg似乎可用但无法访问,因为您的操作系统的分区无法装入,因为相应的模块未加载或在resize期间已损坏。 对于要加载grub的模块,应该完全加载或者应该设置前缀。 为此,请执行以下操作。

1. set prefix=(hdX,Y)/boot/grub
使用先前确定的值。 示例:如果Ubuntu系统在sda5上,请输入:set prefix =(hd0,5)/ boot / grub
在你的情况下,最可能的是它的hd0,3

2. set root=(hdX,Y)
确认正确的X,Y值,然后按ENTER。 示例:如果Ubuntu系统在sda5上,请输入:set root =(hd0,5)

3. insmod normal
加载正常模块。
如果模块加载,则不会有消息。 如果模块加载失败,请尝试完整路径: insmod (hdX,Y)/boot/grub/normal.mod

4.normal转换到正常GRUB 2模式,function增加。 如果模块加载,则不会有消息。 如果模块加载,则应使用UP / DN键进行HELP,TAB完成和命令调用。
5. set (可选)查看当前设置。
6. insmod linux加载linux模块。 错误消息通常表示路径不正确。

  1. configfile /boot/grub/grub.cfg 。 这应该加载允许引导所有操作系统的配置文件。

如其他地方所述,正确的命令是ls (hd0,1)/ 。 请尝试查看是否列出文件系统的内容。

在grub中手动加载系统

如果(hd0,3)/中不存在vmlinuz和initrd.img,则必须指定它们引导进入linux的确切位置。 所以,在grub中(请调整vmlinuz和内核版本到你的设置)>

 set root=(hd0,3) linux (hd0,3)/vmlinuz root=/dev/sda3 ro 

或者如果(hd0,3)/ vmlinuz不存在:

 linux (hd0,3)/boot/vmlinuz-2.6.32.25-generic root=/dev/sda3 ro 

然后

 initrd (hd0,3)/boot/initrd.img 

或者如果(hd0,3)/initrd.img不存在:

 initrd (hd0,3)/boot/initrd.img-2.6.33-25-generic boot 

更多信息可以在这里找到。