重新安装 Linux Mint 后,Windows 7 无法启动

重新安装 Linux Mint 后,Windows 7 无法启动

最终编辑:我尝试了对这个问题的每一个修复,但最终我只是恢复了一年前使用clonezilla为新安装的系统制作的图像。之后,我运行 rescatux 来恢复 grub,一切都恢复到“正常”。

我的计算机中有一个双引导设置:一侧是 Linux Mint ( /dev/sda2 ),另一侧是 Windows 7 ( /dev/sda3 )。我在使用 Mint 时遇到了一些奇怪的问题,所以我决定安装最新版本并尝试一下。

问题是,安装新的 Linux Mint 后,Windows 7 无法启动。我进入 Grub 屏幕,选择 Windows 7,接受,然后 grub 再次出现。 Linux mint 正常启动。

  • 我下载了 rescatux 并尝试恢复 grub (我之前就遇到过类似的问题)。没有什么。
  • 还尝试了 Windows 的 MBR 恢复。没有什么。
  • 启动修复什么也没做。
  • 我安装了grub 定制器并将 Windows 7 放在列表的第一位,但什么也没有。

所以……我几乎一无所知。大多数问题都是相反的(安装 Windows 会“隐藏” grub,然后 Linux Mint 无法启动),所以如果有人遇到和我一样的问题,似乎会​​很好地隐藏在互联网上。有什么想法吗?

编辑后,这是 Windows 的脚本:

insmod part_msdos
insmod ntfs
set root='hd0,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  264CA3CF4CA39857
else
  search --no-floppy --fs-uuid --set=root 264CA3CF4CA39857
fi
parttool ${root} hidden-
chainloader +1

在 Firelord 回答后进行第二次编辑:

有了Windows安装盘,我进入控制台并执行bootrec.exe /fixmbr和/fixboot。一切似乎都很好,所以我重新启动并等待 Windows 启动。

然后,启动 Windows 时出现 \Boot\ BCD Status: 0xc000000f 错误。我发现关于该主题的问题并尝试遵循前两个答案但无济于事:

  • 第一个答案(删除并再次复制 bcd)得到“尝试复制启动文件时失败”)。
  • 尝试 bootrec .exe /fixmbr 会成功回复,尝试 /fixboot 会以“卷不包含可识别的文件系统。请确保加载所有必需的文件系统驱动程序并且卷未损坏。”
  • 看起来 rescatux 可以毫无问题地重新安装 grub,但 Windows 仍然无法启动。

答案1

您需要确定 Windows 加载程序是否完整并且 Linux 可读,才能尝试 Linux 特定的恢复。如果您确定 Linux Mint 安装顺利并且运行良好,请打开终端,然后输入

  • sudo os-prober或者,您可以TAB在写入后按两次 键,os查看 Mint 上 os-prober 的实际命令是什么。

它应该返回如下输出:

/dev/sda1:Windows 7(加载程序):Windows:链

这意味着 Linux 检测到您的 Windows 加载程序,所以让我们继续下一步。由于 Mint 使用 Grub 2.0,因此启动终端并输入

  • sudo grub-mkconfig

它应该打印一些与配置相关的输出。之后搜索您的 Windows 条目### 开始 /etc/grub.d/30_os-prober ###。如果输出显示这样的条目,请在终端中键入

  • grub-mkconfig -o /boot/grub/grub.cfg ,或 grub.cfg 的位置,具体取决于安装。
  • 现在输入grub-install /dev/sda, 其中sda是我的主要硬盘。

正常重新启动系统,然后从 Grub 中选择 Windows 条目,它应该可以启动。

如果这不起作用,那么 Windows 加载程序一定有问题,您需要恢复它。恢复 Windows 加载程序很简单,如果Windows安装盘提供。启动进入安装盘,进入显示的窗口安装, 点击维修选项在同一屏幕的底部,等待 Windows 进行一些搜索,它最终会显示一些输出(目前不相关),单击“高级恢复”,然后从那里找到命令提示符。您可以按照HTG指南进行操作这里如果您不确定下一步该去哪里。打开命令提示符,然后键入

  • bootrec.exe /fixboot
  • bootrec.exe /fixmbr

重新启动系统,您应该可以直接启动进入 Windows。但现在你无法启动进入 Linux Mint。要再次启用 GRUB,请下载超级幼虫2磁盘,刻录它,启动它,它会显示一个 Grub 菜单,其中包含它可以找到的操作系统。您可以从那里启动 Mint,然后重复上述 Grub 步骤来恢复它。

如果其他方法均失败,则必须全新安装 Windows。但是,我总是能够从上述技术中恢复它。

关于 SuperGrub 2 磁盘:

Super GRUB2 Disk 可以帮助您启动到大多数操作系统 (OS),即使您无法通过正常方式启动它...它是一个启动盘,它将尝试找到您的所有操作系统并构建一个启动菜单,以便您可以选择您想要启动的那个。从启动的 Gnu/Linux 内部,您将能够使用一个简单的命令来恢复 Grub。

SuperGrub 2 磁盘链接:

这里。选择稳定的。

答案2

插入windows磁盘然后选择修复启动然后你就可以只启动到windows之后在windows上安装easybcd并添加一个emtry到linux

答案3

好的,根据要求,我正在回答我自己的问题:

  • 我尝试了每一个可用的并提供的命令。在原始帖子中,既有我在尝试解决此问题时找到的链接,也有提供可能解决方案的链接。
  • Firelord的答案虽然没什么用,但对于这类问题更有洞察力。
  • 看起来问题出在 Windows 上,而不是 Linux 或其安装上。我敢打赌,这个问题是在安装 Linux 并将其分区标记为引导后引起的。不太确定是什么或为什么。

解决方案是“只是”从原始映像重新安装 Windows(只是为了确保一切都能恢复正常)并且恢复我的 Windows 安装的旧映像(分区的图像)这是我几个月前用 Clonezilla 做的。恢复后grub失败,我使用rescatux修复它。一切都恢复正常了。

答案4

我解决了OP描述的类似问题。我在 64 位 ACER Aspire X1301 台式电脑(BIOS/MBR 启动模式 - 不是 UEFI)上安装了 Linux Mint 18.3 over Windows 10,但是当我在 GRUB 启动菜单上选择“Windows 10(加载程序)”时,Windows 10 不会引导(GRUB 菜单将重新开始。)。 Mint 可以从 GRUB 菜单正确启动。

对我来说,让 Windows 从 GRUB 菜单启动的技巧是编辑文件 /boot/grub/grub.cfg,将该行替换chainloader +1ntldr /bootmgrunder the section ### BEGIN /etc/grub.d/30_os-prober ###.- in the sub-section Windows 10 (loader)

SuperGrub2 允许我检查这个非常有用的程序使用的引导代码,以使 Windows 正确加载 - 使用ntldr /bootmgr而不是chainloader +1(grub.cfg 使用的默认条目)。感谢 Firelord 和 SuperGrub2!

相关内容