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模块。 错误消息通常表示路径不正确。
-
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
更多信息可以在这里找到。