GRUB 启动到 Windows 7 会破坏 GRUB 并使系统无法启动

GRUB 启动到 Windows 7 会破坏 GRUB 并使系统无法启动

我已经在 HP EliteBook 笔记本电脑上安装了 Ubuntu 12.04(从 21.04.12 开始的每日实时 iso)以及 Windows 7。

安装过程很顺利,只是它将 grub 安装到了我的 USB 磁盘 (/dev/sdb) 而不是硬盘 (/dev/sda)。我能够使用安装了 grub 的 USB 磁盘启动 Ubuntu 安装。然后我通过运行“grub-install /dev/sda”将 grub 手动安装到硬盘 (/dev/sda) 上。

完成上述操作后,我可以从 Grub 菜单登录到 Ubuntu 或 Windows 7。但是,在启动到 Windows 7 后,下次启动时 grub 不会加载。计算机只是一次又一次地重新启动,没有出现任何错误。屏幕只是变黑并重新启动。grub 中有两个 Windows 7 条目:/dev/sda1 和 /dev/sda3。它们实际上是使用两个分区的单个 Windows 安装。启动其中任何一个都会产生相同的效果。

如果我使用 USB 磁盘启动 Ubuntu 分区,我发现可以使用启动修复应用程序将 grub 恢复到正常工作状态。然后,如果我再次启动 Windows,grub 又会崩溃。

启动修复生成的日志文件的完整详细信息(显示分区详细信息)如下:http://paste.ubuntu.com/940155/

有任何想法吗?

答案1

这不是一个真正的“回答“。内容更适合写在评论里,但太冗长了,不适合写在评论里。抱歉 :-(

提出一些问题只是为了确保我正确阅读了您的问题。(如果您需要添加任何其他信息,请更新/编辑您的问题。)

  • 你说 ”我手动将 grub 安装到硬盘 (/dev/sda) 上。
    那么您已经启动到安装在分区上的 12.04sda5并且成功运行了
    sudo grub-install /dev/sda
  • 你说“... 启动 Windows 7 后,下次启动时 grub 不会加载。计算机只是一次又一次地重新启动。
    您使用 GRUB 菜单中的哪两个 Windows 条目来启动 Windows 有什么区别吗?
    一个用于/dev/sda1(标签“OSDisk”),另一个用于/dev/sda3(标签“BDEDrive”)。
  • 有没有任何在此无限启动循环之前或期间,是否显示任何错误或状态信息?您能分辨出是 Linux/GRUB 还是 Windows 在循环吗?

我想知道您的两个 Windows 启动配置之间是否存在冲突。似乎只需要其中一个。(可能是第一个分区上的那个,OSBoot?)

也许您可以通过安装 Windows 启动实用程序来学到一些东西,例如易BCD并确保您的 Windows 启动设置正确?


另一种选择可能是启动 Windows 7高级启动选项按以下方式启动菜单F8 立即地Repair your computer从 GRUB 菜单启动 Windows 后。如果在高级选项启动菜单中有选项,您可以运行Startup repair来检查并(可能)纠正 Windows 启动设置中的问题。

笔记:您必须快速按下F8,否则 Windows 将照常启动。


我不确定到底出了什么问题,但是您的 Windows 或 Linux 文件系统是否存在损坏?

以下摘录自您的引导修复日志,从第 616 行到第 641 行。getcwd()(获取当前工作目录)反复失败以及有关 ZISD(ZENworks Image Safe Data?)的 GRUB 警告可能意味着什么。您使用 ZENworks 吗?

REPAIROK:
Copied Win boot files from sda3 to sda1
Reinstall the GRUB of sda5 into all MBRs of disks with OS or not-USB
Reinstall the GRUB of sda5 into the MBR of sda
dpkg --configure -a sda5
sh: 0: getcwd() failed: No such file or directory
grub-install (GRUB) 1.99-21ubuntu3
grub-setup: warn: Sector 5 is already in use by ZISD; avoiding it.  This software may cause boot or other problems in future.  Please ask its authors not to store data in the boot track.
SETUPOUTPUT: SETUPEXIT:0
sh: 0: getcwd() failed: No such file or directory
/usr/sbin/grub-setup: warn: Sector 5 is already in use by ZISD; avoiding it.  This software may cause boot or other problems in future.  Please ask its authors not to store data in the boot track.
INSTALLOUTPUT: Installation finished. No error reported.
INSTALLEXIT:0
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
Generating grub.cfg ...
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
Found linux image: /boot/vmlinuz-3.2.0-23-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-23-generic-pae
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
Found memtest86+ image: /boot/memtest86+.bin
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory

答案2

重新安装 GRUB

# grub 安装 /dev/sda

你应该在 /boot/grub 中有一个 grub.conf,如果没有,请尝试

# grub-mkconfig -o /boot/grub/grub.cfg

答案3

当启动到 Windows 时,您可以使用 easy bcd 来恢复 Windows MBR,但也可以获取在 Windows 和 ubuntu 之间进行选择的菜单。

答案4

某些 Windows 程序会使用并覆盖引导扇区的某些部分。Windows 引导加载程序不会使用这些部分,但 GRUB 需要它们。每当您启动 Windows 时,GRUB 的某些部分都会被覆盖。

从我的“Ubuntu 视图”来看,我无法真正分辨出哪个程序可能是罪魁祸首,但您可能会在以下组之一中找到它:

  • 引导扇区病毒(现在很少见 - 但谁知道呢)
  • 防病毒软件(例如查找引导扇区“保护”)
  • 其他“安全”或“保护”套件
  • 自动备份解决方案
  • 来自您的 PC 制造商的定制驱动程序/软件
  • 版权——软件的“保护”

当然,这个列表是不完整的,但它可以帮助您了解要查找的位置。

要测试是否有东西覆盖了您的 MBR,您可能需要比较 GRUB 加载时和启动 Windows 后的引导加载程序。只需使用此命令将主引导记录复制并保存到文件中(假设您从 /sda 启动):

sudo dd if=/dev/sda of=/<path>/boot_loader bs=446 count=1

相关内容