Przywrócenie ustawień startowych UEFI w Ubuntu po przeprowadzeniu aktualizacji BIOS-u
Uwaga: Prosimy zwrócić uwagę, że ten artykuł / kategoria nie jest już aktualizowana, gdyż odnosi się do starszych komponentów oprogramowania / sprzętu. Ta strona jest nadal dostępna jedynie w celach informacyjnych. |
---|
Podczas instalacji systemu Ubuntu 12.04 LTS Server w serwerze z płytą główną Supermicro X9SCM-F dodawana jest w BIOS-ie nowa opcja startowa UEFI, która w trakcie aktualizacji BIOS-u płyty Supermicro X9SCM-F (z wersji BIOS-u 1.x do 2.x) ulega utracie i system Ubuntu się nie uruchamia. Problem tego typu może również wystąpić po aktualizacji Gruba.
Ten artykuł pokazuje w jaki sposób opcja startowa może zostać odzyskana.
Problem podczas aktualizacji BIOS-u
- Problem dotyczy wyłącznie aktualizacji BIOS-u z wersji 1.x do 2.x (np. 1.1a do 2.0 lub 1.1a do 2.0a).
- Nie dotyczy aktualizacji BIOS-u z wersji 1.x do wyższej wersji 1.y.
- Nie dotyczy aktualizacji BIOS-u z wersji 2.x do wyższej wersji 2.y.
Problem podczas aktualizacji Gruba
Znane są pojedyncze przypadki, gdy po aktualizacji Gruba opcja startowa UEFI (niezależnie od procesu aktualizacji BIOS-u) nie może zostać poprawnie utworzona. My spotkaliśmy się z tym problemem na płytach X9SCM-F i X9DR7-LN4F, w Launchpad Ubuntu jest opisany taki przypadek, ale na innym sprzęcie.[1] Zalecamy kontrolę opcji startowych UEFI poleceniem sudo efibootmgr -v
, przed i po aktualizacji Gruba. Jeżeli po aktualizacji jądra opcja startowa Ubuntu nie występuje to może zostać ona przywrócona po restarcie systemu w poniżej opisany sposób.
Poniższy wyciąg pokazuje taki przypadek, gdy po aktualizacji Gruba brakuje opcji startowej UEFI:
adminuser@ubuntu-12-04:~$ sudo efibootmgr -v BootCurrent: 0001 Timeout: 10 seconds BootOrder: 0001,0000,0002,0003,0005 Boot0000* ubuntu HD(1,800,f3800,caff37a0-8078-4b24-956e-79eb5e33631f)File(\EFI\ubuntu\grubx64.efi) Boot0001* ubuntu2 HD(1,800,f3800,957eb480-5f2f-409e-95b8-62c38a3305c0)File(\EFI\ubuntu2\grubx64.efi) adminuser@ubuntu-12-04:~$ sudo apt-get update; apt-get upgrade [...] Reading state information... Done The following packages will be upgraded: apt apt-transport-https apt-utils grub-common grub-efi grub-efi-amd64 grub-efi-amd64-bin grub2-common libapt-inst1.4 libapt-pkg4.12 libcib1 libcrmcluster1 libcrmcommon2 libpe-rules2 libpe-status3 libpengine3 libstonithd1 libtransitioner1 libudev0 mdadm pacemaker udev 22 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. [...] Preparing to replace grub-efi 1.99-21ubuntu3.9 (using .../grub-efi_1.99-21ubuntu3.10_amd64.deb) ... Unpacking replacement grub-efi ... Preparing to replace grub-efi-amd64 1.99-21ubuntu3.9 (using .../grub-efi-amd64_1.99-21ubuntu3.10_amd64.deb) ... Unpacking replacement grub-efi-amd64 ... Preparing to replace grub-efi-amd64-bin 1.99-21ubuntu3.9 (using .../grub-efi-amd64-bin_1.99-21ubuntu3.10_amd64.deb) ... Unpacking replacement grub-efi-amd64-bin ... Preparing to replace grub2-common 1.99-21ubuntu3.9 (using .../grub2-common_1.99-21ubuntu3.10_amd64.deb) ... Unpacking replacement grub2-common ... Preparing to replace grub-common 1.99-21ubuntu3.9 (using .../grub-common_1.99-21ubuntu3.10_amd64.deb) ... Unpacking replacement grub-common ... [...] Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.2.0-51-generic Found initrd image: /boot/initrd.img-3.2.0-51-generic [...] Found memtest86+ image: /boot/memtest86+.bin No volume groups found Adding boot menu entry for EFI firmware configuration done Setting up grub-efi (1.99-21ubuntu3.10) ... adminuser@ubuntu-12-04:~$ sudo efibootmgr -v BootCurrent: 0001 Timeout: 10 seconds BootOrder: 0001,0000,0002,0003,0005 adminuser@ubuntu-12-04:~$ sudo grub-install --bootloader-id ubuntu /dev/sda Installation finished. No error reported. adminuser@ubuntu-12-04:~$ sudo efibootmgr -v BootCurrent: 0001 Timeout: 10 seconds BootOrder: 0001,0000,0002,0003,0005 adminuser@ubuntu-12-04:~$
Przywrócenie opcji startowej UEFI dla Ubuntu
Należy przeprowadzić następujące kroki w celu przywrócenia opcji startowej:
- Uruchomić serwer z instalacyjnego CD Ubuntu lub klucza USB w trybie UEFI:
- W ponizszym menu wybrać Rescue a broken system.
- Wybór języka.
- Wybór partycji Root systemu (w tym przykładzie pokazany jest Software RAID). Jeżeli Ubuntu jest zainstalowany na jednym nośniku (HDD lub macież RAID) to należy go wybrać (np. /dev/sda2).
- Następnie wybrać Execute a shell in ... i Continue.
- Wykonać polecenie efibootmgr w celu wyświetlenia aktualnych opcji.
- Zamontować partycję EFI (zazwyczaj /dev/sda1), uruchomić bash, i wykonać polecenie grub-install --bootloader-id ubuntu /dev/sda.
- (Opcjonalnie) z Software RAID 1 należy następnie zamontować partycję EFI na drugim HDD i wykonać polecenie grub-install --bootloader-id ubuntu-hdd2 /dev/sdb.
- Kończąc zamknąć shell poprzez exit i restartować system.
Dodatkowe kroki podczas korzystania z RAID 1
Z Software RAID 1 są konieczne po punkcie 4 następujące kroki:
- Wybór partycji RAID-u programowego:
- Opcjonalna kontrola RAID-u programowego w drugiej konsoli (przez [Alt]-[F2], powrócić do wyjściowej konsoli można klawiszami [Alt]-[F1])
- Wybór macierzy RAID:
Odnośniki
- ↑ efibootmgr can not create new entry due to ENOSPC error (bugs.launchpad.net, 10.04.2013)
Autor: Werner Fischer