Nie można zainstalować Ubuntu na Acer Aspire ES1-533

10

Kupiłem ten komputer i chciałem zainstalować na nim Ubuntu. Problem polega na tym, że odniosłem porażkę od ponad 3 tygodni. Komputer jest wyposażony w interfejs UEFI o bardzo ograniczonych możliwościach. Nie można go przełączyć na starszą wersję i nie ma opcji wyboru pliku UEFI jako zaufanego do wykonania . Jedyne, co można zrobić, to włączyć / wyłączyć bezpieczny rozruch .

Teraz o problemie. Próbowałem najpierw zainstalować Ubuntu w trybie automatycznym, a następnie z ręcznym partycjonowaniem w czymś innym . W obu przypadkach instalacja zawiesza się podczas instalacji grub2 na / dev / sda i komputer zawiesza się.

Potem zdecydowałem się zainstalować bez programu ładującego za pomocą ubiquity -b . Działa to dobrze i instalacja zakończyła się bez żadnych problemów. W końcu próbowałem zainstalować moduł ładujący ręcznie za pomocą grub-install . I tutaj dochodzę do tego samego punktu - komputer zawiesza się.

tutaj zawiesza się instalacja grub-install

Problem polega na tym, że efibootmgr próbuje zarejestrować nowy wpis w UEFI. Potwierdziłem to również, uruchamiając to:

_sudo efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu_ 

po czym ponownie się zawiesza.

Mój pomysł, jak to zrobić, jest następujący:

Zainstaluj Ubuntu bez bootloadera, zainstaluj bootloader ręcznie bez próby zarejestrowania nowego wpisu w UEFI, przenieś bootloader z / EFI / ubuntu / do / EFI / BOOT / i zmień jego nazwę na bootx64.efi . Jestem więc prawie pewien, że to zadziała.

Czy ktoś może doradzić, jak:

  1. wykonać grub-install bez próby zarejestrowania nowego wpisu UEFI przez efibootmgr, aby przejrzał i nie spowodował zawieszenia komputera?

  2. Jakie pliki z / EFI / ubuntu / powinienem skopiować do / EFI / BOOT i który z nich powinienem zmienić na bootx64.efi ?

  3. Jeśli nie jest to dobra droga, jakie byłoby lepsze rozwiązanie.

Dziękuję za wszelkie porady.

Sladek90
źródło
1
Ten sam problem tutaj ... właśnie kupiłem tę rzecz kilka dni temu.
Mniej

Odpowiedzi:

12

Problem można rozwiązać w następujący sposób:

  1. Uruchom Ubuntu Live DVD / USB w trybie testowym i otwórz terminal

  2. Uruchom proces instalacji bez instalowania programu ładującego:

    sudo ubiquity -b
    
  3. Naciśnij Continue testingpo zakończeniu instalacji.

  4. Zamontuj nowo zainstalowany system plików na /mnt:

    sudo mount /dev/sda2 /mnt
    sudo mkdir /mnt/boot/efi
    sudo mount /dev/sda1 /mnt/boot/efi
    for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
    

(gdzie sda2jest partycja root i sda1partycja systemowa EFI)

  1. Załaduj efivars przez:

    sudo modprobe efivars
    
  2. Zainstaluj ponownie grub-installdla wersji 64-bitowej

    sudo apt-get install --reinstall grub-efi-amd64
    sudo grub-install --no-nvram --root-directory=/mnt
    
  3. Zmień root na /mnti zaktualizuj grub

    sudo chroot /mnt
    sudo update-grub
    
  4. Przenieś i zmień nazwę zainstalowanego programu ładującego

    cd /boot/efi/EFI
    sudo cp -R ubuntu/* BOOT/
    cd BOOT
    sudo cp grubx64.efi bootx64.efi
    
  5. Uruchom ponownie system.

Szczegółowe informacje można znaleźć tutaj:

Dyskusja społeczności Acer

Sladek90
źródło
2
Kiedy to zrobię: sudo mount / dev / sda2 / mnt sudo mkdir / mnt / boot / efi daje mi błąd i mówi, że albo są w użyciu, albo nie istnieją. Jak mogę sprawdzić, jaki jest mój odpowiednik tych folderów? Czy podczas instalowania Ubuntu powinienem wybrać partycje dla klientów indywidualnych? Jak wyglądały twoje partycje, kiedy to zrobiłeś?
obiadissered
1
To rozwiązanie działało dla mnie na Lenovo L450 podczas instalacji Linux Mint 19! Podobnie jak OP, nie miałem opcji wyboru zaufanego pliku UEFI.
Simon M. Laube,
Świetna odpowiedź! Działa jak urok na upartym Acer Aspire ES1-533-P7P6 z Kubuntu 18.04.2. Dzięki bardzo!
David Verdin
@dinnerisserved możesz wyświetlić listę wszystkich dysków, z których korzystaszsudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
Sisir
lista partycji efisudo fdisk -lu|grep -i efi
Sisir
5

Po pierwsze, zdecydowanie zalecamy zgłoszenie błędu w swoich problemach, jak opisano tutaj. Nie ma gwarancji, że przyniesie to pozytywne wyniki, ale bez zgłoszeń błędów programiści raczej nie naprawią problemów.

Po drugie, powiedziałeś, że użyłeś następującego polecenia ręcznie, aby spróbować zarejestrować GRUB z oprogramowaniem:

sudo efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu

Że polecenia, choć brakuje ważny parametr: -l {filename}. Ponadto nigdy wcześniej nie widziałem -wjako wymaganej opcji, więc prawdopodobnie należy ją usunąć. W sumie twoje polecenie powinno zamiast tego:

sudo efibootmgr -c -d /dev/sda -p 1 -L ubuntu -l \\EFI\\ubuntu\\grubx64.efi

Zmień grubx64.efina, shimx64.efijeśli masz pewność, że shimx64.efiplik jest zainstalowany i jeśli chcesz mieć możliwość rozruchu przy aktywnym Bezpiecznym rozruchu. Biorąc pod uwagę, że główna instalacja systemu operacyjnego zawiesza się, wątpię, aby ta zmiana w ogóle pomogła, ale warto spróbować.

Co do reszty, uważam, że --no-nvramopcja grub-installpowinna powstrzymywać ją przed próbą aktualizacji zmiennych NVRAM przez efibootmgr. Ta opcja nie jest wymieniona na manstronie, ale uważam, że jest to prawidłowa opcja.

Możesz także zajrzeć na moją stronę na temat programów ładujących EFI dla systemu Linux, a zwłaszcza na jej podstronie dotyczącej instalowania programów ładujących. To da ci trochę informacji o tym, jak przebiegają „nakrętki i śruby” tych operacji. Możesz nawet użyć czegoś innego niż GRUB 2 jako programu ładującego.

Do bagażnika przy użyciu domyślnej nazwy pliku, należy skopiować wszystkie /boot/efi/EFI/ubuntudo /boot/efi/EFI/BOOTi zmiany nazwy grubx64.efi, aby bootx64.efiw tym katalogu. Alternatywnie możesz zainstalować coś innego, używając zastępczej nazwy pliku. Jednym z głównych zastrzeżeń jest to, że może to nie działać, jeśli komputer już uruchamia system Windows (lub inny system operacyjny). W takim przypadku konieczne może być „przejęcie” programu ładującego system Windows poprzez zastąpienie go GRUB 2 (lub cokolwiek, którego chcesz użyć) i przeniesienie programu ładującego Windows w inne miejsce.

Rod Smith
źródło
OK, w końcu wydaje się, że ktoś inny zgłosił błąd przede mną. Zobacz [link] ( bugs.launchpad.net/ubuntu/+source/grub-installer/+bug/1652090 )
Sladek90
1

Linux można rzeczywiście zainstalować i uruchomić na Acer ES1-533, przejmując domyślny bootloader (Windows), jak opisano w Sladek90, a także szczegółowo na doskonałej stronie Rod Smitha. Nie jest to jednak konieczne.

Lepszym sposobem jest zainstalowanie Linuksa bez zapisu do pamięci NVRAM , ponieważ zapis przez efibootmgr - co robią prawie wszystkie dystrybucje - spowoduje zawieszenie systemu (możliwy jest tylko odczyt).

Rozwiązaniem jest użycie systemu na żywo rEFInd (np. Pamięci USB), uruchomienie go, otwarcie powłoki UEFI i wygenerowanie wymaganego wpisu UEFI za pomocą bcfg , na przykład:

bcfg boot add 2 fs0:\EFI\ubuntu\grubx64.efi "GRUB Loader"

Dodaje to pozycję rozruchową GRUB-a w poz. 2. Po ponownym uruchomieniu i naciśnięciu klawisza F12 będziesz mieć możliwość uruchomienia GRUB-a (a następnie Ubuntu) lub Windows!

Palmstroem
źródło
Czy mógłbyś dodać proces krok po kroku zamiast przedstawiać ogólny pomysł?
Sisir