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ą efibootmgrnarzę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 bootw wielu przypadkach ma flagę.
Programy ładujące EFI to pliki znajdujące się na partycji EFI. Ubuntu ma dwa programy ładujące grubx64.efii 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/sdXjest dysk, na którym znajduje się partycja EFI i Nnumer tej partycji. Na przykład /dev/sdb2będzie to wyglądać w ten sposób
sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu -d /dev/sdb -p 2
/dev/sda1jest domyślne. Jeśli masz tam partycję EFI, możesz pominąć -di -pparametry.
-c parametrem jest utworzenie rekordu UEFI.
-lto ścieżka do modułu ładującego w formacie Windows rozpoczynająca się z \EFIjakiegoś powodu.
-Lto etykieta. Zobaczysz to w swoim biosie jako opcję rozruchu. Możesz to zmienić na coś innego, ale nie jestem pewien, czy to update-grubnie zmieni na ubuntupowró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 nnnnjest numer rekordu.
Więcej informacji na temat efibootmgruż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ą.