Windows 更新后 Grub 和 Ubuntu 消失了

Windows 更新后 Grub 和 Ubuntu 消失了

我安装了 Windows 10 和 Ubuntu 14.04 双启动系统。每个系统大约 125GB。

Windows 更新后,PC 只显示 grub 救援终端。我既不能使用 Ubuntu,也不能使用 Windows。

我插入了 liveCD 并运行了启动修复。

之后 Windows 正常出现,但没有 GRUB 和 Ubuntu。

这是我运行时得到的结果sudo fdisk -l

在此处输入图片描述

Ubuntu 必须是 或/dev/sda2/dev/sda4因为它们是最大的分区,但它们都没有被识别为 Linux 系统。

我应该怎么办?

答案1

如果您使用的是 Windows,请搜索“命令提示符”并以管理员身份运行。然后,在命令行中输入:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

然后,重新启动,一切就绪。如果要撤消设置,请输入:

bcdedit /deletevalue {bootmgr} path \EFI\ubuntu\grubx64.efi

这是在 Windows 上恢复 grub 的最简单的方法。

答案2

Windows 10 周年更新,据我所知 Windows 10 Creators Update 也一样,两者都会无缘无故地删除 Linux 分区。目前尚不清楚是什么因素触发了此操作,但这可能与 MBR 格式的磁盘有关。

您的 sda4 是一个扩展分区,当前包含 sda5 交换分区,并且还保存了之前的 Ubuntu 分区,大概是 sda6...位于块 253681662 和 484151295 之间。

您可以尝试使用它testdisk来恢复您的分区。

启动到 Ubuntu Live DVD/USB,然后输入terminal

sudo apt-get update

sudo apt-get install testdisk

sudo testdisk

http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step以获得关于如何使用此工具的帮助。

答案3

为了详细说明 heynnema 的答案,Windows 分区工具有长的存在错误,导致它们删除逻辑分区或将其不正确地转换为主分区,从而导致严重问题。我尝试用谷歌搜索示例,但我发现就这一个,关于 Windows XP。Windows XP!这些错误已经存在了这么久。我 100% 确定还有其他错误报告,但它们可能已经存在很久了,以至于 Google 不会在我的搜索结果的前几页中显示它们。自 Windows 8 发布以来,基于 MBR 的安装数量一直在下降,因此问题报告的数量也在减少。

事实上,我对这类问题的报告感到非常沮丧,以至于在 2011 年我写了修复零件,它基于我的 GPT fdisk 实用程序套件(也是其中的一部分),安装在gdiskUbuntu 的软件包中。但是,FixParts 不会解决您的特定问题;正如 heynnema 所说,您需要 TestDisk(或类似的东西)才能解决该问题。我提到这一点是为了再次说明这些 Windows 磁盘分区错误是多么常见和长期存在。

根据您的情况,我们可以得到一些实用的建议:

  • 尽量少用 Windows 分区工具,特别是在 MBR 磁盘和最多尤其是在具有扩展分区和逻辑分区的 MBR 磁盘上。当然,Windows 更新(如您所报告的)可能很难(或至少是不可取的)避免……
  • 如果您必须使用 Windows 分区工具(无论是直接使用还是作为您所做的更新的一部分),请先备份您的磁盘。这包括传统文件备份和分区表备份。您可以使用类似 的命令执行后者sudo sfdisk -d /dev/sda > parts.txt,该命令将分区表备份到/dev/sdaparts.txt如果您需要恢复该分区表,则可以使用sudo sfdisk -f /dev/sda < parts.txt;但是,如果 Windows 修改了您的分区表,它可能已经进行了必须保留的更改(例如调整 Windows 分区的大小),因此请小心。不过,备份可能仍然有助于有选择地恢复已删除的 Linux 分区。(分区表sfdisk备份是人类可读的,尽管您需要了解一点才能理解它的格式。)
  • 尽可能使用 GPT 和 EFI 安装,而不是 MBR 和 BIOS 安装。由于 GPT 不使用扩展分区或逻辑分区,因此 Windows 工具在处理它们时出现的问题对于 GPT 磁盘来说并不重要。我不清楚 Windows 分区工具在处理 GPT 磁盘时是否存在任何缺陷,其严重程度接近您在处理 MBR 磁盘时遇到的缺陷。当然,如果您的计算机仅使用 BIOS,则这不是一个选项;从 MBR/BIOS 转换为 GPT/EFI 本身就有风险,可能比它的价值更麻烦。(此 Windows 工具会进行转换,如果你想研究一下的话。不过请注意,我不知道它在双启动配置下运行得如何。)

答案4

就我的情况而言(Linux 和 Windows 位于不同的驱动器上),Windows 更新后 BIOS 中的启动顺序发生了变化。我需要进入 BIOS 设置并更改启动顺序,以便在 Windows 启动管理器之前获取 Ubuntu。每台机器都不同,但每个 BIOS 都有启动顺序设置。

相关内容