问题的起源有点长,现象就是现在我的双体系开机能正常呈现发动引导,可是不管选哪个选项都只能进Windows10,无法进已经安装在本机的Fedora Linux了。能确认Fedora是能够正常运转的,我天然就想到在发动引导中增加一个Linux的进口就行了。
需要先明确一些条件常识:
- 当前双体系是Windows10和Fedora36;
- 只要一个磁盘
- 磁盘采用GPT模式 // 只需了解它比传统的MBR模式更强壮更通用就行了
于是在网上查找了一番,找到两种办法:
- 用一个叫作
EasyBCD
的软件工具,图形化操作增加一个Linux的引导进口。 - 用win10本机自带的
BCDEdit
指令行工具,手动增加一个引导进口。
办法1确认是不好使的,安装EasyBCD2.4后“增加新条目”居然是灰的,无法操作?!无奈只好运用第二种办法。
第二种办法就需要预先知道fedora体系安装的分区编号、怎样在windows10中查找分区编号、获取这个分区的GUID;一起创立一个引导条目,会得到一个GUID,将这个GUID和咱们已有的fedora分区信息相关起来。
看似简单,但网上windows的信息十分杂乱,好多指令和操作都不起作用,正好经过这篇文章进行一个记载。
查找分区信息
点击win10体系开始菜单,直接输入“cmd”,右键点击“以管理员身份运转”,进行指令行界面;
输入diskpart
, 进入类似数据库客户端的指令行界面;
DISKPART> list disk
磁盘 ### 状态 大小 可用 Dyn Gpt
-------- ------------- ------- ------- --- ---
磁盘 0 联机 489 GB 1024 KB *
标明咱们磁盘硬件只要一个,假如刺进U盘就会呈现另一行内容。
DISKPART> select disk 0
磁盘 0 现在是所选磁盘。
挑选磁盘0作为当前磁盘;
然后罗列分区:
DISKPART> list partition
分区 ### 类型 大小 偏移量
------------- ---------------- ------- -------
分区 1 康复 499 MB 1024 KB
分区 2 体系 100 MB 500 MB
分区 3 保留 16 MB 600 MB
分区 4 首要 58 GB 616 MB
分区 5 康复 604 MB 58 GB
分区 6 首要 49 GB 59 GB
分区 7 首要 50 GB 109 GB
分区 8 不知道 4096 MB 159 GB
分区 9 不知道 325 GB 163 GB
除了体系的C盘,D盘,E盘,躲藏分区和windows发动分区之外,还包含了fedora的发动分区和体系分区。
想知道哪个是C盘,D盘? 这个成果能够经过“此电脑” -> 右键“管理” -> “磁盘管理” 可视化查看。
DISKPART> select partition 8
分区 8 现在是所选分区。
挑选8分区作为当前分区;咱们需要预先知道哪个分区是linux的发动分区。
DISKPART> detail partition
分区 8
类型 : 0fc63daf-8483-4772-8e79-3d69d8477de4
躲藏 : 是
必需: 否
特点 : 0000000000000000
字节偏移: 171128651776
没有跟这个分区相相关的卷。
经过这个指令咱们知道了分区8的GUID为{0fc63daf-8483-4772-8e79-3d69d8477de4}
。
创立引导进口
这一部分网上信息特别杂乱,有各种写法,好多底子不好使,为防止误导,直接给出在本机上正确运转的一切指令。
首先点击win10体系开始菜单,直接输入“cmd”,右键点击“以管理员身份运转”,进行指令行界面;然后输入以下指令:
bcdedit /create /d "fedora36" /application BOOTSECTOR
# 指令生产新的进口GUID {84f1af19-d06c-11ed-bef9-0c54157c1bad}
bcdedit /set {84f1af19-d06c-11ed-bef9-0c54157c1bad} device partition=\Device\Harddisk0\Partition8
# 运转成功应当提示“操作完结”。
bcdedit /set {84f1af19-d06c-11ed-bef9-0c54157c1bad} path \EFI\fedora\shimx64.efi
# 运转成功应当提示“操作成功完结。”。
bcdedit /displayorder {84f1af19-d06c-11ed-bef9-0c54157c1bad} /addlast
# 运转成功应当提示“操作成功完结。”。
exit
其中最要害的是第2步操作:让新生成的引导进口和分区相关起来。有很多种写法:bcdedit /set {GUID} device partition=8
, bcdedit /set {GUID} device partition=8:
,还有的是bcdedit /set {default} device partition=8
,不知怎样的用了一个固定引用{default}
来表示了新创立的GUID;还有一种是bcdedit /set {GUID} device partition=\Device\HarddiskVolume1
,这也不对,Volume
只针对像“C盘”这种有盘符的“卷”,而咱们用到的分区是别的一种体系的格局。可是在成果展示的时候却显现的是HarddiskVolume8
,不明所以:
bcdedit /enum
实模式发动扇区
---------------------
标识符 {84f1af1a-d06c-11ed-bef9-0c54157c1bad}
device partition=\Device\HarddiskVolume8
path \EFI\fedora\shim.efi
description fedora36
第3步操作中的path
选取也要注意。假如安装的是默许的fedora bootloader,用shimx64.efi
;假如用GRUB2作为bootloader需要用grubx64.efi
。
总算成功增加了一个发动进口,可是进入Feodra仍是没成功,真让人溃散!不过这个操作过程将来仍是能够参考的。
假如不再需要这个发动进口,再以相同方法在指令行中运转:
bcdedit /delete {84f1af1a-d06c-11ed-bef9-0c54157c1bad} /cleanup