![GRUB 启动到 Windows 7 会破坏 GRUB 并使系统无法启动](https://linux22.com/image/816771/GRUB%20%E5%90%AF%E5%8A%A8%E5%88%B0%20Windows%207%20%E4%BC%9A%E7%A0%B4%E5%9D%8F%20GRUB%20%E5%B9%B6%E4%BD%BF%E7%B3%BB%E7%BB%9F%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8.png)
我已经在 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