我遇到了一个相当严重的问题,很难解决。我已经忙了几天了,我只是想知道是否有人可以给我指点一下可能有用的方法。
我的情况是这样的:我首先安装了 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
希望这能帮助遇到类似问题的人。