Windows 升级后 grub 无法启动

Windows 升级后 grub 无法启动

我有一台多启动计算机,其中有一个 Ubuntu 14 分区、一个 ubuntu 16 分区和一个 Windows 分区(可能是 Windows 10)。我已经一年多没用过 Windows 了,重启后,它强制我进行 Windows 更新。之后,我的机器无法重启。我进入了 GRUB 救援提示。唯一的错误消息是

error: no such partition

我无法从 GRUB 救援提示符运行任何有用的命令,因此我移除了硬盘并将其安装在另一台 Ubuntu PC 上。我在磁盘上运行了 parted,它看起来像这样:

Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  525MB   524MB   primary   ntfs            boot
 2      525MB   1015GB  1014GB  primary   ntfs
 3      1015GB  1015GB  891MB   primary   ntfs            diag
 4      1015GB  2000GB  985GB   extended
 5      1983GB  2000GB  17.1GB  logical   linux-swap(v1)

我想修复 grub,以便它可以多重启动 Windows(分区 2)、Ubuntu 14 和 Ubuntu 16。我不记得我是如何创建 Ubuntu 分区的,但我希望它们位于扩展分区 4 的某个位置(也许它们是逻辑卷?)。我可以这样做吗?

更新:我能够使用 testdisk 恢复两个 Ubuntu 分区。然后我通过 grub 救援模式重新启动到 Ubuntu 14。我认为最困难的部分已经完成了。现在,我必须让 grub 正常工作。目前,为了进入 grub 启动菜单,我必须执行以下操作:

    set root=(hd0,msdos5)
    set prefix=(hd0,msdos5)/boot/grub
    insmod normal
    normal

我该如何修复,以便 grub 无需经过 grub 救援提示即可运行?是否可以将 grub 加载到主引导记录中?

答案1

Windows 10 周年更新和较新的 Windows 10 创意者更新有一个非常糟糕的习惯,即清除 MBR 磁盘上的 Linux 分区。听起来您就是受害者。

恢复是可能的,但是可能会比较棘手。

启动至 Ubuntu Live DVD/USB。

打开Software & Updates并确保所有软件存储库都已启用。

terminal...

sudo apt-get update # update the software database
sudo apt-get install testdisk # install testdisk
man testdisk # read the manual
sudo testdisk # start testdisk

您还可以在这里获取具体说明:http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step

更新:

您丢失的 Ubuntu 分区位于分区 4 和 5 之间,大小从 1015GB 到 1983GB-1。

相关内容