Jeśli wymienisz płytę główną UEFI, musisz dodać ścieżki programów ładujących system operacyjny do UEFI.
Można to zrobić za pomocą efibootmgr
narzędzia. Musisz uruchomić system z Ubuntu LiveUSB, znaleźć partycję EFI i dodać rekordy.
Partycję EFI można łatwo znaleźć. Jest to mała partycja fat32, która boot
w wielu przypadkach ma flagę.
Programy ładujące EFI to pliki znajdujące się na partycji EFI. Ubuntu ma dwa programy ładujące grubx64.efi
i shimx64.efi
. Ten ostatni jest podpisany kluczem Microsoft, aby móc uruchomić się z Secure Boot on. Ale w większości przypadków jedno z nich działa. Możesz bezpiecznie dodać tylko shimx64.efi
.
Te ładowarki znajdują się na /boot/EFI/ubuntu
.
Aby dodać rekord do UEFI, musisz uruchomić
sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu -d /dev/sdX -p N
gdzie /dev/sdX
jest dysk, na którym znajduje się partycja EFI i N
numer tej partycji. Na przykład /dev/sdb2
będzie to wyglądać w ten sposób
sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu -d /dev/sdb -p 2
/dev/sda1
jest domyślne. Jeśli masz tam partycję EFI, możesz pominąć -d
i -p
parametry.
-c
parametrem jest utworzenie rekordu UEFI.
-l
to ścieżka do modułu ładującego w formacie Windows rozpoczynająca się z \EFI
jakiegoś powodu.
-L
to etykieta. Zobaczysz to w swoim biosie jako opcję rozruchu. Możesz to zmienić na coś innego, ale nie jestem pewien, czy to update-grub
nie zmieni na ubuntu
powrót.
Jeśli uruchomisz sudo efibootmgr -v
, zobaczysz wszystkie swoje rekordy ze ścieżkami i etykietami.
Możesz usunąć nieprawidłowo dodany rekord, uruchamiając
sudo efibootmgr -Bb nnnn
gdzie nnnn
jest numer rekordu.
Więcej informacji na temat efibootmgr
użyteczności można uzyskać pod adresem
man efibootmgr
Możesz dodawać rekordy dla innych systemów operacyjnych, takich jak Windows, w ten sam sposób. Ale nie mogę podać więcej szczegółów na temat plików i ścieżek, w których się znajdują.