![Windows 和 Ubuntu 双启动,Grub 问题](https://linux22.com/image/866432/Windows%20%E5%92%8C%20Ubuntu%20%E5%8F%8C%E5%90%AF%E5%8A%A8%EF%BC%8CGrub%20%E9%97%AE%E9%A2%98.png)
我是一名 Linux 新手,正在尝试实现 Windows/Ubuntu 双启动。我可以正常访问这两个操作系统,但只能通过浏览一系列奇怪的 Ubuntu BIOS 菜单(Windows 自动启动)。Grub 最初无法启动,这就是我试图修复的问题。
我已成功为 Windows 7 Home Premium 和 Ubuntu 14.04.1 LTS 对驱动器进行分区。我有一台 HP-250 G1 笔记本电脑。
我首先安装了 Windows(在 200 GB 分区上),然后将驱动器的其余部分分配给 Ubuntu(500 Gb,ext4
)。安装 Ubuntu 时,我为swap
(6500Mb)和biosgrub
(1 Mb)创建了分区。
当我启动笔记本电脑时,Windows 会自动启动,而不会提供任何 Ubuntu 选项。启动 Ubuntu 的唯一方法是重新启动计算机,打开启动菜单,转到Boot Device Options
并选择ubuntu (TOSHIBA MQ01ABD075)
,这将启动grub
并允许我启动 Ubuntu。
我曾尝试使用易BCD让 Windows Bootloader 识别 Ubuntu,但我得到了类似这样的错误Failed to initialize properly
。烦人的是,即使我删除了 Ubuntu 指针,Windows Bootloader 现在总是会弹出。
我曾尝试使用 Ubuntu启动修复,输出如下http://paste.ubuntu.com/9604542/
bcdedit/set{bootmgr}path\EFI\ubuntu\shimx64.efi
我尝试按照启动修复的建议在管理员命令提示符中输入以下命令,但是出现错误An unknown command was specified
(编辑)
长话短说,我只想grub
在启动笔记本电脑时启动它。任何帮助都将不胜感激!!
答案1
我会尝试回答我自己的问题。如果我使用的技术术语有误,请见谅。目的:让 Ubuntu 默认启动,并允许我通过 BIOS 启动 Windows。
我认为问题是我的机器上的 EFI 不允许我从任何东西启动,但是/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
,请参阅这里对此进行讨论。以下是针对主要使用 Ubuntu 但有时想要启动 Windows 的用户的解决方法。我预计这主要与互联网帐户中的 HP 用户相关。
1)安装 Windows,然后安装 Ubuntu,参见这里
2) 重启电脑。如果 Windows 自动启动,则尝试使用efibootmgr
Ubuntu 优先,请参阅这里。如果这个有效,你就完成了,所以不要再读下去了。
3) 如果您的计算机与我的计算机类似,无论您在 中做什么efibootmgr
,Windows 总是会先强制执行自身。重新启动计算机时,您所做的更改将被撤消。在这种情况下,以下技巧对我有用。
4) 重启电脑,快速按下esc
并进入启动管理器。应该有一个启动 Ubuntu 的选项,选择它并启动 Ubuntu。
5)启动控制台并备份重要信息bootmgfw.efi
以允许启动 Windows
$ sudo -s
# cd /boot/efi/EFI/Microsoft/Boot
# cp bootmgfw.efi ./..
6)创建一个新的启动号,这样我们就可以通过链接到我们刚刚制作的备份以黑客方式启动 Windows bootmgfw.efi
。运行
# efibootmgr -c -L "Windows_2" -l "\EFI\Microsoft\bootmgfw.efi"
# efibootmgr -v
使用最后一个命令检查是否已创建新条目。此时,我建议您重新启动 PC 并检查启动Windows_2
是否确实启动了 Windows。完成此操作后,启动 Ubuntu 并cd
返回/boot/efi/EFI/Microsoft/Boot
7)重命名grubx64.efi
为bootmgfw.efi
允许我们首先启动 Ubuntu。现在输入以下命令:
# cp ../../ubuntu/grubx64.efi .
# cp bootmgfw.efi bootmgfw_backup.efi
# rm bootmgfw.efi
# cp grubx64.efi bootmgfw.efi
现在应该可以了。重新启动您的机器。
预期行为:启动 PC 后,grub 应默认打开,允许您启动 Ubuntu。尝试从 grub 启动 Windows 只会让您无限循环地回到 grub。要启动 Windows,您必须重新启动计算机,快速按下esc
并进入启动管理器。选择Windows_2
,即可启动 Windows。
虽然有点儿黑客,但目前为止还是有用的。如果事实证明这会毁了我的电脑,我会更新帖子。