GRUB 停止工作

GRUB 停止工作

GRUB 停止检测 Windows,我按照一个现在已经失传的教程操作,但还是不行。由于我仍然需要 Windows 来玩游戏,所以我重新分区了所有内容,并将 Windows 安装到新分区上,现在 GRUB2 根本不起作用,它直接启动到 Windows。

尝试了 GRUB 定制器(来自实时启动的 Linux),只是想看看它是否会起作用,但它给了我一个错误: /usr/sbin/grub-probe: error: failed to get canonical path

注意:
我使用 mx linux 21 KDE 和 windows 10 可以进行 linux 实时启动
,但一个 Windows 安装不再起作用

分区:
sda1:根 Linux
sda2:原始 Windows 分区
sda3:系统保留(不知道这是什么意思)
sda4:工作 Windows 分区

答案1

这看起来似乎有点绕,但当 Windows 更新搞乱了双启动 PC 时,它确实有效,而且grub修复失败的:

  1. 制作一个可以在之后挂载的完整磁盘映像,使用 Live Linux USB 中的 dd、使用 Macrium Reflect 等映像软件的 Windows 中的 dd 或使用 WinRE 和映像软件的救援 USB 中的 dd。
  2. 使用现有分区重新安装 Linux,如果需要,可以双重启动。当然,这会覆盖现有的 Linux。
  3. 使用步骤 1 中的工具安装映像并恢复仅有的那个分区。

是的,有更有效的方法来修复 grub,但是当我尝试其他方法都不起作用时,这个方法却起作用了。

注意: Grub 定制器实际上很可能原因问题,因为它没有与新的 Linux 版本保持同步更新。

答案2

系统保留分区是 Windows 启动分区,它包含启动加载程序文件。通常的默认 Windows 设置在主 Windows 分区(您的 C: 驱动器)之前创建一个。因此您的 sda3 属于 sda4 上的 Windows。由于某种原因,sda2 上的 Windows 缺少该分区。很可能这就是 grub 无法再启动第一个 Windows 的原因,因为即使您通过 GRUB 启动 Windows,您也需要 Windows 启动文件 (BCD)。如果主 Windows 分区包含启动加载程序,Windows 可以在没有单独启动分区的情况下启动。这可以在 Windows 磁盘管理中看到。标记为系统是带有引导加载程序的那个。可以使用以下命令配置 Windows 引导加载程序视觉 BCD启动两个 Windows 安装。也可以使用以下命令将 Windows 启动加载程序安装到第一个 Windows 分区 (sd2):易BCD。您的 grub2 可以从任何实时 linux 系统恢复。最好的方法是将其挂载到/dev/sda1实时系统中的某个位置,然后挂载到将 root 更改为已安装的系统/dev/sda并在您安装的发行版的工具的帮助下将 GRUB 安装到(无编号)。但您也可以启动与您的发行版和版本完全相同的安装 live 系统,并按照其恢复 grub 的方式操作,例如。在使用这些工具之前进行备份是个好建议,但是将整个分区映像到其他地方来挽救您的处境并不是真正必要的。

相关内容