efibootmgr 没有选择正确的驱动器/分区

efibootmgr 没有选择正确的驱动器/分区

我在将 rEFInd 条目添加到我的启动列表中时遇到问题,或者更准确地说,我可以添加它,但它选择了错误的磁盘(即使我使用该参数选择了另一个磁盘-d)。

看一下我的驱动器/分区布局(删除了一些其他驱动器以简化):

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb           8:16   0 931.5G  0 disk 
├─sdb1        8:17   0    64M  0 part /boot/efi_fallback
├─sdb2        8:18   0 911.5G  0 part /
└─sdb3        8:19   0    20G  0 part [SWAP]
nvme0n1     259:0    0 238.5G  0 disk 
├─nvme0n1p1 259:1    0   238G  0 part 
└─nvme0n1p2 259:2    0   256M  0 part /boot/efi

我在 上安装了 Arch,/dev/sdb2并在 上安装了 esp fallback 和 GRUB & rEFInd /dev/sdb1。我在 上安装了 Windows 10 /dev/nvme0n1p1,并在 上安装了 Windows Bootmanager 和我想要启动的 rEFInd /dev/nvme0n1p2

现在检查 efibootmgr -v 输出:

BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0009,0003,0008
Boot0001* GRUB  HD(1,GPT,32b82bd9-4f63-3b40-b1d0-6138178779f0,0x800,0x20000)/File(\EFI\GRUB\grubx64.efi)
Boot0003* rEFInd Fallback   HD(1,GPT,32b82bd9-4f63-3b40-b1d0-6138178779f0,0x800,0x20000)/File(\EFI\refind\refind_x64.efi)
Boot0008* Hard Drive    BBS(HD,,0x0)..GO..NO........k.W.D.C. .W.D.S.2.5.6.G.1.X.0.C.-.0.0.E.N.X.0....................A............................D.DI..........Gd-.;.A..MQ..L.1.8.0.6.9.3.8.0.5.9.1.6........BO..NO........u.W.D.C. .W.D.2.0.E.Z.R.Z.-.0.0.Z.5.H.B.0....................A.................................>..Gd-.;.A..MQ..L. . . . .W. .-.D.C.W.4.C.5.M.P.X.3.N.F.X........BO..NO........u.O.O.S.1.0.0.0.G....................A.................................>..Gd-.;.A..MQ..L.0.0.0.0.0.0.0.0. . . . . . . . . . . . ........BO
Boot0009* Windows Boot Manager  HD(2,GPT,1c744bb0-b45d-4983-96c9-f9ca59f6f9fc,0x1dbf3000,0x80000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)..BO

您可能已经看到了,是 和HD(1,.../dev/sdb1现在我想使用以下命令将我的 rEFInd 添加到 efibootmgr (路径:) :HD(2,.../dev/nvme0n1p2/boot/efi/EFI/refind/refind_x64.efi

sudo efibootmgr -c -d /dev/nvme0n1p2 -l "\EFI\refind\refind_x64.efi" -L "rEFInd Boot Manager"

如果我现在检查输出,efibootmgr -v我会得到这个:

BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0000,0001,0009,0003,0008
Boot0000* rEFInd Boot Manager   HD(1,GPT,0fcf005d-a174-4f63-8d63-f41cbe5bd0aa,0x8800,0x1dbea800)/File(\EFI\refind\refind_x64.efi)
Boot0001* GRUB  HD(1,GPT,32b82bd9-4f63-3b40-b1d0-6138178779f0,0x800,0x20000)/File(\EFI\GRUB\grubx64.efi)
Boot0003* rEFInd Fallback   HD(1,GPT,32b82bd9-4f63-3b40-b1d0-6138178779f0,0x800,0x20000)/File(\EFI\refind\refind_x64.efi)
Boot0008* Hard Drive    BBS(HD,,0x0)..GO..NO........k.W.D.C. .W.D.S.2.5.6.G.1.X.0.C.-.0.0.E.N.X.0....................A............................D.DI..........Gd-.;.A..MQ..L.1.8.0.6.9.3.8.0.5.9.1.6........BO..NO........u.W.D.C. .W.D.2.0.E.Z.R.Z.-.0.0.Z.5.H.B.0....................A.................................>..Gd-.;.A..MQ..L. . . . .W. .-.D.C.W.4.C.5.M.P.X.3.N.F.X........BO..NO........u.O.O.S.1.0.0.0.G....................A.................................>..Gd-.;.A..MQ..L.0.0.0.0.0.0.0.0. . . . . . . . . . . . ........BO
Boot0009* Windows Boot Manager  HD(2,GPT,1c744bb0-b45d-4983-96c9-f9ca59f6f9fc,0x1dbf3000,0x80000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)..BO

现在的问题是我指定了正确的磁盘/分区,但是其中的磁盘Boot0000HD(1,...是错误的磁盘。

我已经尝试过umount /dev/sdb1refind-install --usedefault /dev/nvme0n1p2但是没有写入列表。

答案1

由于这是原始帖子发布两个月后才回复的,我不确定您是否在这方面取得了任何进展。我不确定我提到的内容是否完全准确,因为我目前正在排除 EFI 启动顺序故障。

但是,从我在您的命令中看到的内容来看:

sudo efibootmgr -c -d /dev/nvme0n1p2 -l "\EFI\refind\refind_x64.efi" -L "rEFInd Boot Manager"

您没有正确指定磁盘。因为“/dev/nvme0n1p2”会将已加载的系统直接指向磁盘“/dev/nvme0n1”上的第二个分区。

如果我的研究是正确的,您将需要将其分离为“-d /dev/nvme0n1 -p 2”的正确选项/参数,因为“-d”指定设备而“-p”指定分区号。

相关内容