grub 救援 -> 没有这样的分区

use*_*385 11 partitioning boot dual-boot bios grubrescue

我的电脑有大问题...

我减少了 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)(hd0,3)给了我错误消息:“未知文件系统”,因此我无法再设置启动。

你有什么主意吗?

tot*_*tti 10

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

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

在您的情况下,grub 文件夹和 grub.cfg 似乎可用但无法访问,因为您的操作系统分区无法安装,因为相应的模块未加载或在调整大小期间已损坏。对于加载 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 模式。如果模块加载将没有消息。如果模块加载,HELP、TAB 完成和使用 UP/DN 键的命令调用应该可用。
  5. set (可选)查看当前设置。
  6. insmod linux 加载 linux 模块。错误消息通常表示路径不正确。
  7. configfile /boot/grub/grub.cfg. 这应该加载允许启动所有操作系统的配置文件。


nol*_*eti 3

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

在 grub 中手动加载系统

如果 vmlinuz 和 initrd.img 不存在于 (hd0,3)/,则必须指定它们的确切位置才能引导到 Linux。因此,在 grub 中(请根据您的设置调整 vmlinuz 和内核版本)>

set root=(hd0,3)
linux (hd0,3)/vmlinuz root=/dev/sda3 ro
Run Code Online (Sandbox Code Playgroud)

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

linux (hd0,3)/boot/vmlinuz-2.6.32.25-generic root=/dev/sda3 ro
Run Code Online (Sandbox Code Playgroud)

然后

initrd (hd0,3)/boot/initrd.img 
Run Code Online (Sandbox Code Playgroud)

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

initrd (hd0,3)/boot/initrd.img-2.6.33-25-generic 
boot
Run Code Online (Sandbox Code Playgroud)

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