为 Windows 10 缩减 Ubuntu 后引导加载程序损坏

为 Windows 10 缩减 Ubuntu 后引导加载程序损坏

我遇到了一个相当严重的问题,很难解决。我已经忙了几天了,我只是想知道是否有人可以给我指点一下可能有用的方法。

我的情况是这样的:我首先安装了 ubuntu,然后在另一个分区上安装了 windows。我必须修复 grub 才能使其正常工作,而且修复得很好。随着时间的推移,我意识到我的 Windows 分区上需要更多的空间,所以我启动了 LiveUSB 并使用 Gparted 来缩小 Ubuntu。

这是我当前系统上 fdisk -l 的输出,因此我可以更好地解释这个错误。

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1            2048 327841791 327839744 156.3G 83 Linux
/dev/sda2  *    327841792 329338879   1497088   731M  7 HPFS/NTFS/exFAT
/dev/sda3       329338880 608585727 279246848 133.2G  7 HPFS/NTFS/exFAT
/dev/sda4       608587774 625141759  16553986   7.9G  5 Extended
/dev/sda5       608587776 625141759  16553984   7.9G 82 Linux swap / Solaris

现在问题就出在这里了。我的 Linux 分区在 /sda1 上。Windows 引导程序在 /sda2 上,Windows 在 /sda3 上。由于缩小后移动可用空间一次只能移动 1 个设备。我只是将其向下移动。将 /sda1 70gb-> /sda2 -> sda3。

好吧,这样做完全破坏了我的 Windows 引导程序。当我使用 grub 菜单选择窗口时,我收到以下消息:

winload.exe is Missing or Corrupt.

我的 Xubuntu 分区仍能正常启动,而这正是我写这篇文章的原因。我尝试运行 EasyRT,但无法真正启动任何东西。

任何帮助是极大的赞赏!

答案1

我修复了这个问题。虽然经历了一些尝试和错误,但我会尽量详细说明修复它的步骤。

首先,我使用了 Windows 10 安装盘。我启动了它,而不是安装,而是转到故障排除 > 高级设置 > 命令提示符。我发出了以下命令:

bootrec /fixMbr
bootrec /fixboot

然后我重新启动,发现它没有加载 Grub,而是直接进入 winload.exe 丢失屏幕。我确信这一步是不必要的,我可以继续以下命令:

bootrec /scanos
bootrec /rebuildbcd

发出这些命令并重置后,我能够成功启动到我的 Windows 分区,并且可以看到我成功地将分区大小从 70gb 增加到 140gb。下一步是从 Ubuntu LiveUSB 重新安装 grub。

我用了启动修复修复 grub。我使用了图形化方法和所有默认选项,它运行完美。

gksudo Boot-Repair

希望这能帮助遇到类似问题的人。

相关内容