我有一台多启动计算机,其中有一个 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。