我有一个索尼 Vaio 笔记本电脑。直到昨天,我还安装了 Windows 7 和 Ubuntu 12.04(Precise Pangolin)。今天我升级到了 Windows 8,导致我的操作系统选择屏幕消失。因此,我从 USB 启动到 Ubuntu 12.10,并运行了 Boot Repair。这恢复了GRUB屏幕并让我启动到我的 Ubuntu 12.04 安装,但现在我无法启动 Windows 8。
当我选择之前启动 Windows 7 的选项时,它看起来好像想要再次启动 Windows 7(原文如此)(黑屏,显示“Windows 正在加载”等文字),但几秒钟后重新启动机器。
我确信 Boot Repair 可以解决这个问题,但是我对整个启动过程了解甚少,不知道正确的设置。
这是我的启动修复报告:http://paste.ubuntu.com/1308117/
更新 1:
我设法重新回到 Windows。我更改了以下行:
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi.bkp
(/etc/grub.d/25_custom
如果你正在阅读本文寻求有关同一问题的帮助:你的文件可能被命名为不同的名称)
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
并将文件bootmgfw.efi
从[Windows partition]/Windows/Boot/EFI
复制到/boot/efi/EFI/Microsoft/Boot
。(该文件已经存在,因此我将其重命名为 以bootmgfw.efi.old
进行备份。)最后,我运行了sudo update-grub
。
当我重启电脑时,Windows 8 再次启动,但没有 GRUB 屏幕。所以猜猜怎么着……我现在无法启动 Ubuntu。
在 Windows 中,我安装了易BCD并添加了 Ubuntu 启动选项。当我尝试在另一次重启后选择该选项时,它失败了,因为它找不到某个文件。我尝试使用 EasyBCD 选项自动查找我的 Linux 安装,并且我还尝试手动选择分区。两者的结果相同。
因此,我再次尝试从我的 Ubuntu USB 启动并运行 Boot Repair。这次我得到了 Windows 的操作系统选择屏幕(我在 EasyBCD 中设置的那个)。当我在那里选择 Windows 8 时,它重新启动了计算机。
我该如何修复这个问题?
更新 2:
我现在可以在 Ubuntu 和 Windows 8 之间“切换”。但不是通过启动菜单。(到目前为止,我得到的所有答案都无法解决我的具体问题。)
当我在 Ubuntu 中时并且想要启动 Windows 8,我按照第一次更新中描述的方式操作(bootmgfw.efi
从 Windows 目录复制并更改其中的一行/etc/gib.d/25_custom
)。然后 Windows 8 启动时没有任何启动菜单。
当我使用 Windows 8 时想要启动 Ubuntu,我从 USB 启动 Ubuntu 12.10,然后运行 Boot-Repair。然后 GRUB 1.99 启动,当我选择 Ubuntu 时,它可以正常工作。(Windows 选项不起作用。)
这就是目前的情况——我能切换操作系统,但这真的很痛苦。
答案1
您只需要更新 grub。打开终端窗口并CtrlAltt输入:
sudo update-grub
答案2
我遇到了和你一模一样的问题,而且我在另一个论坛上找到了解决方案(实际上,我认为那个解决方案可能是你发布的)。不过,我以略有不同的方式解决了它。
我按照您使用的说明进行操作,bootmgw.efi
从 Windows 分区复制到 Ubuntu 分区,而且我确信我也做了sudo update-grub
。然而,/etc/grub.d/25_custom
我没有像第一步那样手动更改文件,而是进入 Grub Customizer(Ubuntu 中的一个工具,您可能已经拥有或还没有),右键单击相应的 Windows 启动选项(我的启动选项是“Windows UEFI 加载程序”,您的启动选项将是整个崩溃之前启动 Windows 7 的选项,正如您所说),然后我转到“源”选项卡,在那里进行了更改。(我刚刚删除了.bkp
,就像您手动操作时一样。)然后我保存了所有更改,问题就解决了。
如果你好奇的话,我使用 Grub Customizer 而不是手动编辑文件,原因有二:1.我无法访问该文件,而且我又懒得去尝试使用 Linux 终端这个鬼地方来访问它;2.我担心仅仅更改文件可能不会真正影响启动文件中的更改(尽管这纯粹是猜测;我也不知道启动是如何工作的)。我认为 Grub Customizer 实际上会负责使更改在启动文件中真正显现出来。
唯一的问题是,Windows 8 的小“加载圆圈”(我不知道该怎么称呼它们)出现在 Grub 使用的紫色背景上;看起来有点丑。不过,我想这个问题也可以通过 Grub Customizer 来修复。
更新
如果您直接启动 Windows,则应确保 GRUB 是 BIOS 中的第一个启动选项。除非我知道您使用的 BIOS 实用程序,否则我无法告诉您如何执行此操作,但我可以为您提供一些常规步骤。
1.打开电脑并访问 BIOS 菜单。通常,这是F8在电脑开机后通过按下 来完成的,但每个电脑的情况都不一样(对我来说是F2)。快速在 Google 上搜索你的特定机器,你就会知道应该按哪个键。
2.找到允许您更改启动顺序的部分,然后将 Ubuntu/Linux/Grub(我不确定确切的标签,但应该很明显)移到顶部。如果您有多个这样的启动选项,只需选择其中一个即可。
3.保存并重新启动您的电脑,现在它应该启动到 GRUB。
答案3
请按照以下步骤操作:
- 插入 Windows 7 或 Windows 8 安装或修复光盘并启动它。
- 在 Windows 屏幕上启动后,选择“修复您的计算机”,然后在接下来出现的对话框中选中第二个选项。
- 然后从可用的恢复选项列表中选择命令提示符。
- 在命令提示符中输入BootRec.exe /fixmbr-按 Enter,然后BootRec.exe /fixboot-进入
- 给出这两个命令后,只需重新启动您的机器。
现在您将进入 Windows BootLoader 并选择要启动的操作系统。如果您没有启动 Linux 12.04 的选项,请不要担心。您可以使用名为易BCD。
答案4
当您安装 Windows 时,Windows 会假定它是机器上唯一的操作系统 — 或者至少它不考虑 Linux。因此,它用自己的引导加载程序替换了 GRUB。
您需要做的是用 GRUB 替换 Windows 引导加载程序。只需chroot
进入安装并运行即可update-grub
。