Я использую Ubuntu 20.04 на один диск (m.2) и Win10 на другом (3,5 "SSD). Недавно я добавил в свою систему еще один диск m.2 и клонировал на него свою систему Win10. Вот как сейчас выглядят мои диски, где sda1 и nvme1n1p1 являются клонами:
root@cantankerous:~# lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
└─sda1 ntfs 9638B89D38B87E35
nvme1n1
└─nvme1n1p1 ntfs 9638B89D38B87E35
nvme0n1
├─nvme0n1p1 vfat 23FD-2B75 478.1M 6% /boot/efi
└─nvme0n1p2 LVM2_member cKt344-wOPa-y34D-j0Wg-y3wq-ZlFz-fIGpnr
├─vgkubuntu-root ext4 27945eb2-45c3-48da-b887-6391111416e3 328.4G 23% /
└─vgkubuntu-swap_1 swap 9bdb7f2f-ac7b-4322-ae8e-38c870a190cc [SWAP]
Я бы хотел избавиться от / dev / sda сейчас.
Я считаю, что дальше мне нужно использовать efibootmgr , чтобы изменить мои загрузочные диски. Сейчас мои файлы EFI находятся на диске nvme0n1, на котором находится Ubuntu. Вот результат efibootmgr :
root@cantankerous:~# efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0002,0008,0001
Boot0000* ubuntu HD(1,GPT,9ab61c6d-62f6-474f-99c4-64eae4e5b595,0x800,0x100000)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0001* Windows Boot Manager HD(1,GPT,9ab61c6d-62f6-474f-99c4-64eae4e5b595,0x800,0x100000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0002* Hard Drive BBS(HD,,0x0)..GO..NO........q.S.a.m.s.u.n.g. .S.S.D. .9.7.0. .E.V.O. .5.0.0.G.B....................A...........................%8Z.........4..Gd-.;.A..MQ..L.S.4.6.6.N.X.0.K.A.6.2.1.5.9.H........BO..NO........u.S.H.G.P.3.1.-.5.0.0.G.M.-.2....................A.......................................8..Gd-.;.A..MQ..L.C.S.0.9.N.5.2.4.9.1.0.2.0.9.G.3.K........BO..NO........u.S.a.m.s.u.n.g. .S.S.D. .8.5.0. .E.V.O. .2.5.0.G.B....................A.................................>..Gd-.;.A..MQ..L.2.S.5.R.X.N.H.A.0.3.4.9.1.2. .Z. . . . ........BO
Boot0008* Windows m.2 HD(1,GPT,2aba441a-2647-48c4-868c-b4ca31d4f5a3,0x800,0x3a385800)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)
Я пробовал использовать efibootmgr для создания новой загрузочной записи, но я не могу понять, как это сделать, это указать, хотя образ EFI живет на «nvme0», он мне нужен для загрузки на «nvme1». Я вижу, что это делается с помощью / dev / sda с этим "bcdobject = ([uuid])", но я не могу найти никакой информации о том, как это делается.
Это, конечно, при условии, что я на правильном пути!
Как только это будет сделано, я предполагаю, что os-probe подберет новый диск, и я могу интегрировать его с grub-mkconfig .
Спасибо за любую помощь!
У вас не может быть повторяющихся UUID или GUID/partUUID, которые использует efibootmgr.
Отключите sda перед попыткой обновления, чтобы не путаться в том, какое устройство есть какое. Некоторые примеры записей efibootmgr: Sony, HP и другие обходные пути:
Двойная загрузка Win 8 / Ubuntu загружает только Win
Вы должны использовать /dev/nvme и правильный диск, раздел. Как это, но проверьте правильность диска/раздела, сравните GUID в загрузочной записи UEFI и partUUID из lsblk. Это скажет, какой ESP вы используете для загрузки.
sudo efibootmgr -v
lsblk -o name,mountpoint,label,size,fstype,uuid,partuuid | egrep -v "^loop"
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme1n1 -p 1
Grub загружает только работающую Windows. Windows снова включит быстрый запуск, а затем grub не загрузит его, поэтому лучше всего исправить загрузочную запись UEFI для прямой загрузки Windows.
OS-prober Grub2 ищет загрузочные файлы .efi в ESP, чтобы найти другие установки для загрузки. Он не использует записи UEFI.