Próbowałem podwójnie uruchomić podstawowy system operacyjny z oknami na moim laptopie (Asus Zenbook UX305). Aby to zrobić, zmniejszyłem partycję systemu Windows za pomocą menedżera dysków systemu Windows, a następnie użyłem opcji instalatora elementarnego „s” instaluj obok systemu Windows ”, aby automatycznie skonfigurować partycje linux. Po ponownym uruchomieniu komputera po instalacji zostałem umieszczony w konsoli GRUB. udało mi się ręcznie uruchomić Linuksa za pomocą poleceń
grub> set root=(hd0,gpt4) grub> linux /boot/vmlinuz-3.19.0-26-generic root=/dev/sda4 grub> initrd /boot/initrd.img-3.19.0-26-generic grub> boot
i stwierdziłem, że uruchamiając polecenie
grub> configfile (hd0,gpt4)/boot/grub/grub.cfg
załadowałoby normalne menu grub, tak jak powinno – więc nie ma żadnych problemów z samym plikiem konfiguracyjnym. Odkryłem również, że root i prefiks są włączone (hd0, gpt1), więc uruchomienie
grub> set root=(hd0,gpt4) grub> set prefix=(hd0,gpt4)/boot/grub grub> insmod normal grub> normal
załadowało również normalne menu grub. Więc być może problem polega na tym, że grub szuka złej partycji?
W moim BIOS-ie mam wybór między używaniem do bootowania Gruba i programu ładującego Windows. Wybranie programu ładującego system Windows uruchamia mnie bezpośrednio w systemie Windows bez żadnych problemów.
Jednak nie mogę znaleźć żadnego sposobu na utrzymanie jakichkolwiek poprawek po ponownym uruchomieniu. Próbowałem ponownie uruchomić grub-install /dev/sda
, odtworzenie pliku konfiguracyjnego za pomocą grub-mkconfig
i użycie narzędzia GUI do naprawy rozruchu Ubuntu – żadne z nich nie zadziałało. Czy jest jakiś sposób na naprawienie tego problemu bez ponownej instalacji jednego lub obu systemów operacyjnych? Wolałbym nie musieć ponownie instalować systemu Windows, jeśli to możliwe.
Odpowiedź
Wygląda na to, że menu GRUB nie ładuje się, ponieważ odczytuje nieprawidłowy plik efi w /boot/efi/EFI/grub/
.
Po uruchomieniu systemu elementaryOS uruchom następujące polecenia, aby zastąpić grubx64.efi
w tym folderze.
cd /boot/efi/EFI/grub sudo cp grubx64.efi grubx64.efi.backup (just in case) sudo rm grubx64.efi sudo cp /boot/grub/x86_64-efi/grub.efi /boot/efi/EFI/grub/grubx64.efi
To rozwiązanie pochodzi od użytkowników omawiających zgłoszony błąd w elementaryOS. Szczegółowe informacje można znaleźć pod adresem: https://bugs.launchpad.net/elementaryos/+bug/1492801
Zmierzyłem się z tym samym problemem co Ty (zainstalowałem elementaryOS Freya 0.3.1 razem z Windows 10) i wykonałem kroki, które opisałeś przed znalezieniem tego rozwiązania.
Warto zauważyć, że przed zastosowaniem poprawki wyłączyłem szybkie uruchamianie w systemie Windows 10, co mogło mieć wpływ lub nie. Zobacz http://www.tenforums.com/tutorials/4189-fast-startup-turn-off-windows-10-a.html
Ponadto musiałem wyłączyć bezpieczny rozruch, aby to zadziałało . Po włączeniu bezpiecznego rozruchu mój UX305 nie mógł całkowicie załadować grub. Naciśnij klawisz Esc na pierwszym ekranie podczas uruchamiania, a następnie przejdź do konfiguracji i wyłącz tam bezpieczny rozruch. Alternatywnie, może istnieć sposób na zapewnienie bezpiecznego rozruchu, ale na razie jestem zadowolony z tego rozwiązania – mój UX305 ładuje teraz menu GRUB wraz z opcją systemu Windows!
Odpowiedź
Miałem ten sam problem, znalazłem rozwiązanie:
1) w trybie ratunkowym dla grub, uruchom „set”
2) To pokaż mi prefix = (hd1, gp1) / boot / efi / EFI / ubuntu /
3) W moim przypadku, ponieważ mam KDE NEON, folder / boot / efi / EFI / ubuntu / nie istnieje, ale folder / / boot / efi / EFI / neon / Istnieje. Więc problem polega na tym, że wskazuje na nieistniejący folder
4) Więc skopiowałem cały folder / boot / efi / EFI / neon / to / boot / efi / EFI / ubuntu /. To załatwiło sprawę
W moim przypadku też jest źle (hd1, gp1), ponieważ powinno wskazywać na hd1, gpt5. Ale DINDT to zmieniło i zadziałało.
Zmieniłem plik /boot/efi/EFI/ubuntu/grub.cfg, do użytku w formacie msdos:
search.fs_uuid xkjdiw-18e9-4d0a-ac55-2skjdh8425f root hd1,gpt5 set prefix=($root)"/grub" configfile $prefix/grub.cfg