如何使用 Windows 10 图形引导加载程序代替 grub?

如何使用 Windows 10 图形引导加载程序代替 grub?

首先,我有一台配备 Core2Duo CPU 的联想电脑。它预装了 Windows 7,后来我安装了 Windows 10。

每当我启动时,我都会遇到 Windows 10 图形引导加载程序。

现在我想安装 Manjaro Linux 进行三重启动,或者我将删除 Windows 7 分区并在那里安装 Manjaro。

我看过 YouTube 视频,其中介绍了 Windows 10 和 Manjaro 的双启动。启动时会出现丑陋的 GRUB 引导加载程序。

我只想安装 Manjaro,并且仍然要求由 Windows 10 图形引导加载程序而不是 GRUB 进行引导。

我怎样才能实现这个目标?

答案1

基本思路 - 将 Linux 发行版分区的引导记录复制到 Windows,然后使用 BCDEdit 在 BCD 存储中创建一个指向该文件的新条目。这样,Windows 将在启动时显示一个菜单,让您可以在 Windows 和 Linux 发行版之间进行选择。

启动进入Linux 首先,创建一个目录来保存启动记录。打开终端并输入以下内容:

sudo su

mkdir /mnt/share

将我们的 Linux 发行版分区(sdxy)的前 512 个字节写入文件

dd if=/dev/sdx of=/mnt/share/linux.bin bs=512 count=1

将位于 /mnt/share/ 的 linux.bin 文件复制到任何其他所需位置。(启动 Windows 后将需要它)

启动到 Windows 打开您复制 linux.bin 文件的卷。

Copy that file to the root of the Windows volume (e.g., C:).

使用 BCDEdit 向 Windows BCD 存储添加条目。使用 BCDEdit 需要管理员权限,因此请使用 Win+r,键入 cmd,然后按 CTRL+SHIFT+ENTER。首先为我们的 Linux 发行版创建一个条目。请注意,如果需要,您可以自由选择其他条目名称:

bcdedit /create /d “Linux” /application bootsector

BCDEdit 将返回此条目的字母数字标识符,我将在其余步骤中将其称为 {ID}。您需要用实际返回的标识符替换 {ID}。接下来,指定哪个分区托管 linux.bin 文件的副本:

bcdedit /set {ID} device partition=c:

我们的 linux.bin 文件的路径:

bcdedit /set {ID}  path \linux.bin

启动时显示的菜单条目:

bcdedit /displayorder {ID} /addlast

最后,让我们指定菜单选项的显示时间:

bcdedit /timeout 30

最后要说的是,如果您想消除 Linux 菜单选项,只需使用以下命令删除您创建的 BCD 存储条目:

bcdedit /delete {ID}

现在 将 Windows 引导加载程序设为默认

bootsect /nt60 C: /force /mbr

就是这样!现在重新启动,您将看到一个菜单,您可以在其中选择启动到 Windows 或 Linux。

答案2

我不确定这是否会起作用,但我确实读过有关一个名为 EasyBCD 的工具(https://neosmart.net/EasyBCD/) 可能会对你有所帮助。这篇文章对此进行了解释:https://www.groovypost.com/howto/dual-boot-windows-10-linux/。这是他们的文档:https://neosmart.net/wiki/easybcd/basics/adding-entries/

免责声明:我个人从未使用过此工具,因此使用时请自负风险。

如果您的系统支持 UEFI 并且外观存在问题,(我同意,grub 的外观并不理想......)我目前正在多重启动 Windows 10 和 Ubuntu,并使用 reFIND 和我调整过的自定义主题,看起来对我来说足够好了。(https://www.rodsbooks.com/refind/themes.html

相关内容