
首先,我有一台配备 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}
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)