这可能是另一个用户发布的问题的重复,但不幸的是,当我尝试访问该问题时,我收到一条消息,指出原始问题由于审核原因已被删除。
我之前安装过可以双启动 Windows 8 的 Ubuntu 12.10,不过我必须运行推荐的 Boot-Repair 设置才能使 Ubuntu 正常工作。昨天,我通过 DVD 安装了 Ubuntu 14.04,覆盖了 Ubuntu 12.10,发现尽管 grub2 中有 Windows 8 条目,但只有 Ubuntu 可以加载。如果我选择 Windows 8 条目,Grub 会重新加载。如果在打开计算机后按 F10,会出现 UEFI 菜单,但 Windows 条目会加载 grub。此处可能会生成错误消息,但它只在屏幕上显示一小段时间,我还没有能够捕捉到它。我尝试使用 Ubuntu 14.04 livesvd 和以下命令重新运行 Boot-Repair:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo sh -c "sed -i 's/trusty/saucy/g' /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list"
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
我选择了“推荐修复”选项,并收到有关发生错误的警告以及以下链接供分享:http://paste.ubuntu.com/7340206/ 和以前一样,Ubuntu 启动正常,但我仍然无法从 Grub 或 UEFI 菜单加载 Windows 8。自从我成功完成 Ubuntu 12.10/Windows 8 双启动设置后,我不认为我更改过任何 BIOS 设置,所以我希望一切都能正常工作。
我的电脑是三星 3 系列 NP350V5C 笔记本电脑,我有一个恢复分区,打开电脑时按住 F4 即可访问。我不认为我有任何其他 Windows 实用程序。
如果需要,我很乐意提供我的 BIOS 设置的更多日志和图片。我还在论坛上的 Boot-Repair 帖子中发过帖子,并通过电子邮件发过[电子邮件保护]按照 Boot-Repair 的建议。提前感谢您提供的任何帮助。
编辑:根据此处的要求,这是更新 grub 的输出:
sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
Found Windows Boot Manager on /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done
此外,这可能与https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1308758
答案1
您的问题是由过度热心的启动修复操作,这导致 GRUB 被安装以取代 Windows 引导加载程序。通过再次运行 Boot Repair、进入高级菜单并选择恢复备份文件的选项,可能可以修复损坏。这应该会将 Windows 文件返回到其原始位置,从而使您的新 GRUB 或固件的内置引导管理器能够启动它们。如果失败,您可能需要使用 Windows 恢复光盘重新安装 Windows 引导加载程序。
答案2
我现在可以启动 Windows 8。按照 Boot-Repair 团队的指示,我备份了当前的 bootmgfw.efi 并恢复了备份副本:
sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw2.efi
sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi.bkp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
sudo modprobe efivars
sudo update-grub
重新启动计算机后,我现在可以访问 Ubuntu 和 Windows。
这可能与 Rod Smith 上述建议的过程类似,但我认为我应该详细说明我为恢复 Windows 8 访问权限所做的工作。
答案3
我遇到了类似的问题 - 以前具有双启动功能的 Windows 8 机器不允许 Windows 启动。
OP 的解决方案(重新启用备份的 EFI 文件)确实允许我再次启动 Windows - 但 GRUB 不会显示,我只能使用 Windows。我能够通过在 Windows 中运行此命令来重新启用 GRUB:
打开管理员命令提示符窗口并输入:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
PS 添加了答案,因为我不允许评论或投票[??]
答案4
我使用以下方法多次解决了您评论的问题:
从 Linux(第一种方法)
使用 Ubuntu LiveCD/USB 启动修复工具后,请重新启动。如果您可以访问已安装的 Ubuntu 操作系统,请安装Grub 定制器:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update && sudo apt-get install grub-customizer
您可以通过在仪表板上搜索“Grub”来打开 Grub Customizer,并在列表配置(第一个选项卡)上验证 Ubuntu 和 Windows 是否被正确识别和配置。您还可以在常规设置(第二个选项卡)中修改要运行的操作系统、等待首选操作系统启动的时间等,或者在外观设置(第三个选项卡)中使用主题/您自己的背景图像。
从 Linux(第二种方法)如果你在运行 Boot-Repair 工具并重启后无法访问你的 Ubuntu 安装,请下载SuperGrub2 磁盘。此 LiveCD/USB 工具可帮助您搜索和查找硬盘驱动器内的任何启动记录,以帮助您从中启动并修复任何损坏的条目。我建议您播放作者网页上的视频教程。解决损坏的启动问题后,请使用启动修复程序或我上面提到的 Grub-Customizer 工具...
从 Windows(第三种方法)如果你无法启动到 Ubuntu 分区,但 Windows 操作系统运行正常,你还有另一种方法,使用易BCD应用程序。简而言之,EasyBCD 是一个免费的(供个人使用)程序,它允许您从多个来源创建任何启动项,例如 CD/DVD、USB 驱动器、ISO 映像文件、FAT/NTFS/Ext4 分区等等。我建议您阅读官方网站上的指南,因为这里有一些方法可以让 Windows 和 Ubuntu 在您的硬盘上和平共处。
从 Windows(第四种方法)如果前三种方法都不适合您,我建议使用 Windows8 的恢复选项创建一个新的 MBR(不需要 Windows 安装 DVD)。
如果您可以启动 Windows8,请按下 Windows+C 组合键(无论您处于桌面还是平铺模式),然后单击“设置”->“更改电脑设置”->“更新或恢复”->“恢复”。最后单击“高级启动”下的“重新启动”按钮。计算机重新启动后,您将看到“选择一个选项”。请选择您要修复的操作系统,然后单击“疑难解答”->“高级选项”->“自动修复”。
如果您无法启动 Windows8,请关闭计算机,然后重新打开。在 Windows 徽标出现之前,按 F8 键几次,直到看到高级启动选项。如果您可以看到此屏幕,请打开计算机,然后在看到“Windows 正在启动”消息(或 Windows 动画徽标)时关闭计算机,并重复此步骤几次(通常 2 次就足够了),直到看到高级启动选项(将出现一条要求“修复计算机(推荐)”的消息)。使用箭头键,选择“修复计算机”并按 Enter。(如果此选项不可用,则意味着您的制造商未包含预安装的恢复选项;在这种情况下,您需要使用本指南)。选择键盘布局,然后单击“下一步”。最后在系统恢复选项菜单上单击“启动修复”。如果此过程失败,则打开命令提示符并输入以下命令并重新启动:
bootrec /fixmbr
bootrec /fixboot
bootrec /RebuildBcd
这些命令将帮助您在硬盘上创建新的 MBR。稍后,您可以使用我上面描述的任何方法来修复 Ubuntu 启动...