Windows升级后grub无法启动

我有一个带有Ubuntu 14分区的多启动机器,一个ubuntu 16分区和一个Windows分区(可能是Windows 10)。 我在一年多的时间里没有使用Windows,重启后,它迫使我进入Windows更新。 之后,我的机器将不会重启。 我进入了GRUB救援提示。 唯一的错误信息是

error: no such partition 

我无法从GRUB救援提示中运行任何有用的命令,因此我删除了硬盘并将其安装在单独的Ubuntu PC上。 我在磁盘上跑了,这就是它的样子:

 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 

我如何解决问题以便grubs运行而不必经过grub救援提示? 可能将grub加载到主引导记录中?

Windows 10周年更新和更新的Windows 10 Creators更新有一个非常糟糕的习惯,即擦除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。