Grub 2.02 无法看到所有驱动器

Grub 2.02 无法看到所有驱动器

我今天在安装 Windows 10 的同时安装了 Linux mint。设置是这样的:

  • 第一驱动器 SSD:Windows 10 (MBR)
  • 第二驱动器:一些数据(MBR)
  • 第三驱动器:更多数据(MBR)
  • 第四个驱动器:以前驱动器的备份和我安装了 mint 的单独分区。 (GPT,因为它是一个大驱动器)

启动不是 UEFI 而是标准的(尽管 BIOS 允许 UEFI,Windows 和 Mint 都以标准方式安装)。安装进行得很顺利,重新启动后,grub 出现了启动 Mint、memtest 和 Windows 10 的选项,我继续启动到 Mint。执行了系统更新,当它变得奇怪时。

重新启动后,我会进入 grub rescushell,并显示以下消息:

error: no such device: {UUID}
error: unknown filesystem

当我发出“ ls”时我只得到

(hd0)

我再次重新启动进入 Live USB,检查 UUID 是否已更改或其他内容,但一切似乎都很好。我安装了根分区,检查了 grub.cfg 并且存在“ insmod part_gpt”,因此它应该加载 gpt 模块。

我重新启动后,grub 又出现了。

现在,事情变得更奇怪了!一旦我从 grub 启动任何操作系统,它都会正常启动,但是一旦我重新启动,我就会遇到与以前相同的错误并具有相同的行为。我恢复常规 grub 的唯一方法是启动实时 USB,然后重新启动(实际上没有别的),它会提示我使用 Mint 和 Windows 以及 memtest 等安装 grub。尝试了几次,要么启动到薄荷或Windows,每当我重新启动时,我都会陷入困境,我必须执行提到的解决方法。

当我从 LIVE 重新启动后设法恢复 grub 时,我进入 grub 控制台并发出“ ls”,我可以看到所有驱动器和分区。

(hd0) (hd1) (hd2) (hd3) (hd3,gpt3) (hd3,gpt2) (hd3,gpt1) (hd4)

(也许它显示了更多,因为我仍然插入了闪存驱动器)。

我尝试解决该问题的步骤(没有收益):

    1. grub-install /dev/sda(因为它是第一个驱动器,猜测它需要引导加载程序在哪里)来自Live USB Outcome:失败,因为它有“/cow”路径的问题(不记得确切的错误消息,我凭记忆写,我可以如果需要的话,当我回家时添加)
    1. grub-install /dev/sda从 Live USB 重新启动后,来自 Mint 结果:安装成功,没有错误消息,update-grub随后发出
    1. grub-probe,它告诉我引导已打开/dev/sdd(因为引导分区技术上是打开的),所以我尝试了“ grub install /dev/sdd” 结果:错误消息表明它无法在没有黑名单的 GPT 分区上安装 grub,因此不建议这样做。
    1. 尝试将“”添加insmod part_gpt到 grub.cfg 文件的最顶部 结果:什么也没有。不用找了。

答案1

看起来您的某些磁盘并不总是能以可靠的方式被检测到。这表明可能存在硬件或固件问题。

使用 Windows 检查磁盘的运行状况水晶磁盘信息或 Linuxsmartctl命令。例如,要检查磁盘/dev/sda

smartctl -i -HA -l error -f brief /dev/sda

如果您的所有磁盘都正常,请查看您的 BIOS 设置是否允许在启动过程中添加短暂的延迟,以便在 BIOS 尝试检测磁盘之前让您的磁盘有更多时间旋转/重置。

答案2

这发生在我身上,和你一样,我很困惑它有时有效,但大多数时候不起作用,直到我意识到在我启用 BIOS 上的快速启动后它开始发生。

修理,禁用快速启动在 BIOS 设置中进行引导/启动。

如果仍然不起作用,则意味着由于某种原因磁盘超时(坏磁盘或 BIOS 未等待),未检测到(外部驱动器缺乏足够的 USB 电源)。

在超时的情况下,一些BIOS 有一个设置来指定 SATA 驱动器的类型,特别是它是否是 HDD/SSD 以及是否有旋转时间。环境类型=硬盘自旋=真应该告诉 BIOS 等待足够长的时间来检测它。

相关内容