2012-01-09 16:37:51 +0000 2012-01-09 16:37:51 +0000
56
56

Jak przeinstalować GRUB2 EFI?

Po udanej aktualizacji moich biosów, coś poszło nie tak i skończyłem z migającym kursorem w lewym górnym rogu czarnego ekranu. Żadnych błędów, nic. W biosie pojawiła się teraz tylko opcja startowa SATA: <disc name> zamiast zwykłej UEFI ubuntu. Używam schematu partycjonowania GPT.

W końcu okazało się, że działającym rozwiązaniem była prawidłowa reinstalacja grub-efi-amd64. Więc, jak mam to zrobić ?

PS: Właściwie, udało mi się reinstalować GRUB2 EFI samodzielnie i zamieścię tutaj moją odpowiedź, ponieważ nie mogłem znaleźć żadnego kompletnego sposobu na to.

Odpowiedzi (5)

87
87
87
2012-01-09 16:39:36 +0000
  • Uruchom komputer na żywo z USB/CD w trybie UEFI. Miałem dwie opcje startowe <flash_drive> i UEFI: <flash_drive>, druga jest potrzebna do naświetlenia zmiennych efi w /sys/firmware/efi/, aby efibootmgr nie zawiesiło się później. Start z pierwszą opcją daje mi następujący błąd:

  • chroot do zepsutego systemu (podobny do ubuntu grub2 help ale ze specyfikacją efi):

  • W zależności od dystrybucji linuksa, robisz teraz różne rzeczy.

  • Teraz wpisz Ctrl+D aby wyjść z chroot, odmontować wszystko i zrestartować:

Możesz potrzebować dostosować to do swoich potrzeb (inna tablica partycji, oddzielna partycja /boot, etc.) i może to nie być jedyna opcja, ale dla mnie zadziałało.

Odpowiednim systemem na żywo do naprawy rzeczy jest grml . Jest też obszerny przewodnik o tym jak skonfigurować bootowalne urządzenie USB, z czego najbardziej przydatna jest sekcja Mac (wystarczy utworzyć partycję FAT32, skopiować pliki, zrestartować komputer, zrobić).

5
5
5
2014-03-20 00:27:02 +0000

Podobnie jak w przypadku Maxine, moje ustawienia UEFI w BIOS-ie uległy uszkodzeniu i moja maszyna nie uruchomiłaby się.

W moim przypadku jest to RD430 Lenovo ThinkServer z Linux Mint Debian i wydawało się, że wszystko, co bym zrobił w sprawie update-grub lub zmiany dysków twardych w serwerze spowoduje, że nie uruchomi się on. System operacyjny w moim przypadku to linuxmint-201403-mate-dvd-64bit zainstalowany przez USB. (zobacz poniżej pełny opis zdarzeń, które spowodowałyby, że UEFI nie działałoby)

Przejście dokładnie przez te same kroki na ThinkServer TS140 nie spowodowało, że UEFI straciłoby rozum nawet raz. Spojrzałem na stronę sterownika RD430 i mój bios jest w dwóch wersjach. Nigdy wcześniej nie musiałem aktualizować biosów na płycie głównej, więc nie jestem jednym z tych, którzy aktualizują je automatycznie, gdy są dostępne nowe wersje. Po aktualizacji biosów, powyższa odpowiedź Maxine zadziałała, tylko z przekręceniem…

# efibootmgr -c --disk /dev/sdX --part Y
# efibootmgr -v
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0002,0000,0003,0001,0004
Boot0000* linuxmint HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\EFI\linuxmint\grubx64.efi)
Boot0001* LMDE Linux Mint Debian HD(1,800,15d505800,934c598c-fe3c-fd43-84a1-fa38e4f72552)File(\EFI\linuxmint\grubx64.efi)
Boot0002* Linux HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\elilo.efi)
Boot0003* UEFI: Built-in EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)AMBO
Boot0004* UEFI: VerbatimSTORE N GO 1.00 ACPI(a0341d0,0)PCI(1a,0)USB(1,0)USB(4,0)HD(1,80,1d70780,00000000)AMBO
mint / #

Komenda efibootmgr -c dodała dwa wpisy 0000 i 0002! Pierwszy wpis Boot0002* Linux HD w kolejności startowej nie jest poprawny. Wpis 0000 _ jest poprawny._

Aby to przetestować, próbowałem startować bez przerwy, co jest wpisem 0002. Zgodnie z oczekiwaniami, nie zadziałało. Więc zrestartowałem serwer, uderzyłem w F12 i wybrałem linuxmint. Zgodnie z oczekiwaniami, udało się uruchomić moją instalację LMDE.

Sposób na usunięcie niechcianych wpisów przez efibootmgr to:

# efibootmgr -b 2 -B

Użyłem tego polecenia do usunięcia wpisów 0001 i 0002. Opcja 0001 pochodzi z ostatniej z moich licznych prób odzyskania systemu operacyjnego.

  • *

Notatki UEFI

Jeśli czytasz to i jesteś tak samo sfrustrowany UEFI jak ja, oto kilka notatek i zasobów: “ Uruchomienie powłoki UEFI przypomina używanie powłoki DOS. ” Intel przygotował PDF reference manual for efi komendy powłoki.
“ Lenovo’s UEFI_on_TS430 document jest jedynym zasobem, który widziałem, wyjaśniającym użycie powłoki efi. ” Inny odnośnik do powłoki uefi z nPartition Administrator’s Guide. “ Możesz spróbować uruchomić komputer na partycji z powłoki efi, przechodząc do programu ładującego i wykonując go.
” UEFI chce, aby dysk posiadał tablicę partycji GPT, a nie tablicę części msdos. “ UEFI chce, aby pierwsza partycja na dysku była sformatowana fat32 lub vfat. ” Dla “ogólnego” uruchamiania systemu musi być katalog /EFI/boot z bootx64.efi w katalogu głównym. “ Niektóre osoby kopiują swój grubx64.efi z miejsca, gdzie został zainstalowany do /EFI/boot/bootx64.efi i ten cheat działał dla nich.
” Anytime you make grub changes, use efibootmgr -v before and after to ensure your reboot is ok.

  • *

My RD430 experience

I have resinstalled the OS 10+ times in the past week trying to sort out this out and set up the server. Moja konfiguracja to SSD na ten kontroler RAID w gnieździe PCIe 2.0 z zainstalowanym na nim LMDE. Kontroler RAID AOC-S3008L-L8i reflashed to IT mode ) w gnieździe 2 PCIe 3.0 z zainstalowanymi napędami 6x 3TB. RAM: 12GB ECC (3x 4GB).

Oto zmiany, których bym dokonał, a które spowodowały, że mój system nie wystartował: “ Zmiana slotów pci S3008L-L8i (bez karty SSD+).
” Wyłączenie LSi software raid bios prompt dla wbudowanego kontrolera. “ Dodaj moją starą kartę HighPoint RocketRaid do otwartego slotu PCIe. ” Dokonaj zmiany na /etc/default/grub, a następnie uruchom update-grub. (maybe grub-install needs to be running as well?)

3
3
3
2012-03-01 11:08:40 +0000

Zagłosowałbym za tym, ale widocznie nie mam wystarczającej reputacji na SuperUserze. Cieszę się, że w końcu znalazłem na to odpowiedź po dniach walki z klonami, które zadziałały, ale nie chciały się uruchomić. Myślę, że to wszystko ma związek z UEFI i jakimś mechanizmem “bezpiecznego startu” czy czymś takim.

Pracuję w trybie off-line, więc apt-get nie wchodzi w grę. To, co zrobiłem, to umieściłem Ubuntu Desktop na pamięci USB, dodałem pakiety grub-efi i grub-efi-amd64 do korzenia pamięci USB (grub-efi_1.99~rc1-13ubuntu3_amd64.deb i grub-efi-amd64_1.99~rc1-13ubuntu3_amd64.deb dla Ubuntu 11. 04 - zmienić odpowiednio dla dystrybucji i architektury), i umieścić w skrypcie na pamięci USB również:

#! /bin/bash
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
dir=`dirname $0`
sudo cp $dir/grub-efi*.deb /mnt/tmp
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt /bin/sh -c "dpkg -i /tmp/grub-efi*.deb"
sudo shutdown -r now

Uruchomić pamięć USB Live, otworzyć terminal, uruchomić komendę, a zadanie jest dobre ‘un! Jedynym sporadycznym problemem jest to, że UEFI czasami przesuwa się w dół kolejność priorytetu startowego pod dyskiem twardym, w którym to momencie trzeba wejść do BIOS-u i zmienić kolejność startową aby zatrzymać go próbując (i zawodząc) na SATA: drive.

Możesz także użyć dpkg-reconfigure zamiast dpkg -i, ale to zadaje kilka pytań programu ładującego.

[edit] Nie mam też wystarczająco dużo odpowiedzi na komentarz, więc to co wydawało mi się komentarzem do odpowiedzi okazuje się być odpowiedzią.

1
1
1
2015-01-21 11:38:23 +0000

Na moim 32-bitowym Ubuntu 14. 10 na Lenovo Yoga 2 Pro, zmieniłem na UEFI boot w następujący sposób:

  • create folder

  • mount “EFI System” partition in /etc/fstab

  • install grub-efi-amd64-bin and uninstall grub-efi-ia32-bin

  • reboot Ubuntu w trybie efi

  • test if it boots fine, then I installed grub-efi-amd64 and uninstalled grub-pc grub-gfxpayload-lists with

I choose not to remove /boot when asked.

  • *

Może skomplikowałem to i to by działało dobrze:

apt-get install --reinstall grub-efi
update-grub
0
0
0
2018-08-08 01:32:05 +0000

Ten wpis jest bardziej zbliżony do przygotowania Twojego komputera do ponownej instalacji wpisów efi. Jest to również to, co może okazać się skutecznym i prostym sposobem na stworzenie dysku ratunkowego po instalacji systemu na nośnikach wewnętrznych (SSD, HDD).

Z Linux Mint Tara (Linux wariant ściśle związany z Ubuntu Bionic Beaver), metoda zarówno pracował moją instalację, i umożliwił później go zapisać. Wynikało to z faktu, że chciałem, aby żywa instalacja na USB była trwała, a ponieważ czas instalacji narzędzia takiego jak Unetbootin do trwałej instalacji jest w przybliżeniu taki sam, jak w przypadku świeżej instalacji, po prostu użyłem tej samej dystrybucji na żywo do przeprowadzenia instalacji na USB, która została użyta do instalacji systemu operacyjnego na wewnętrznym dysku SSD.

Oczywiście, żadna z tych instalacji nie jest macierzą RAID ani żadną inną wyspecjalizowaną instalacją, ale wymagała przygotowanej partycji woluminowej na dysku USB i instalacji na tym dysku USB przy użyciu dostępnej metody distro, omijając wewnętrzny dysk przy instalacji na pojedynczej partycji montowanej root (/).

W tym miejscu nowa instalacja gruba plącze się z wewnętrznym dyskiem. Kiedy ponownie uruchomiłem komputer na USB, wewnętrzne wpisy Gruba UEFI zdawały się znikać, pozostawiając jedynie menu Gruba przy próbie wybrania napędu za pomocą wpisów w menu BIOS-u.

Zamiast tego, uruchomienie komputera z USB pokazało, że metoda dystrybucji stworzyła gotowe menu Gruba, z listą dla /dev/sda2, partycji zawierającej mount /boot/efi. W większości wewnętrznych dysków głównych zainstalowanych na partycji grub nazywa się hd0, gpt1.

Przechodząc do ‘zaawansowanego’, dostępnych było więcej niż jedno ratowanie jądra. Stamtąd uruchamiamy program Grub, a następnie uruchamiamy go normalnie.

Od tego momentu uruchamiamy system operacyjny na dysku wewnętrznym, który wcześniej był niedostępny, odłączamy USB, a następnie uruchamiamy sudo grub-install.

Kiedy restartujemy bez USB, powinniśmy być w stanie wrócić do pracy. W tym momencie USB jest skonfigurowane tak, aby uruchomić wewnętrzny dysk w trybie normalnym lub ratunkowym, a dysk ma swoje własne menu.