![EasyBCD 只能修复 Windows 启动表,而不能修复 Linux 启动表?](https://linux22.com/image/1222945/EasyBCD%20%E5%8F%AA%E8%83%BD%E4%BF%AE%E5%A4%8D%20Windows%20%E5%90%AF%E5%8A%A8%E8%A1%A8%EF%BC%8C%E8%80%8C%E4%B8%8D%E8%83%BD%E4%BF%AE%E5%A4%8D%20Linux%20%E5%90%AF%E5%8A%A8%E8%A1%A8%EF%BC%9F.png)
我删除了 Linux 分区,现在我的计算机无法启动任何操作系统......
使用 SuperGrubDisk,我可以再次启动到 Vista,如果我运行 EasyBCD,它只会修复 Windows 启动菜单,即 Vista 和 Wubi...
那么 EasyBCD 无法修复 Linux GRUB 部分?(该驱动器上还有另一个 Ubuntu 分区)
答案1
到目前为止最可能的问题是,当您安装 Ubuntu 时,它覆盖了硬盘的 MBR。
要修复 MBR,请使用Windows 恢复环境中的 Bootrec.exe 工具Super Grub Disk 也许也能写入通用的 MBR 代码,不过我没用过。
更详细的解释是,当 IBM 设计 PC 时,他们决定 MBR(磁盘的前 512 个字节)应该包含执行引导过程的下一部分和分区表的代码。
MBR 中的通用代码会查找active
分区表中标记的分区并加载该分区的前 512 个字节。这是由操作系统写入的,通常允许您选择要启动的操作系统并从那里继续。
因此 BIOS 代码运行 MBR 代码运行活动分区代码。活动分区代码可能是 EasyBCD 编辑的 Windows 引导加载程序、Grub(第 1 阶段)、Lilo 或其他任何程序。
问题在于,许多 Linux 发行版在启动过程中都走了捷径。它们不是在分区开始时加载 Grub,而是将其加载到 MBR 中。由于 Grub(第 1 阶段)只会查找 Grub 系统的其余部分,因此它无法在不加载自身其余部分的情况下启动 Windows。