Windows 8 usuwa Gruba jako domyślny menedżer rozruchu

37

Mam serię Sony VAIO S z preinstalowanym systemem Windows 8 i zainstalowałem Ubuntu 12.10 na nowej partycji. Gdy uruchamia się komputer, wyświetla się Grub i mogę wybierać między Windows 8 (nie działał na początku, musiałem zmienić ustawienia Gruba) i Ubuntu 12.10. Kiedy wybieram Ubuntu 12.10 wszystko jest w porządku, ale kiedy używam Windows 8 i ponownie uruchamiam Grub nie jest już wyświetlany (Windows 8 uruchamia się natychmiast).

Uruchomiłem Ubuntu 12.10 LiveUSB, użyłem efibootmgri dowiedziałem się, że Windows 8 (za każdym razem, gdy uruchamia się) zmienia domyślny program ładujący EFI z Grub na Windows Boot Manager.

Jak mogę to zmienić w systemie Windows 8? Przeczytałem coś o bcdedit, ale to nie działa lub nie wiem, jak z tego korzystać ...

Kouros
źródło
Myślę, że jesteś na dobrej drodze do rozwiązania tego samodzielnie. Po prostu kontynuuj kopanie [;
Melon
3
Tak, potrzebuję tylko jednej małej rzeczy, a potem napiszę tutorial, jak to zrobić. Microsoft jest do bani, dlaczego muszą zmienić domyślnego menedżera rozruchu? Moim zdaniem ma to uniemożliwić ludziom używanie czegokolwiek innego niż produkty Microsoft.
Kouros
Nie, myślę, że po prostu ich to nie obchodzi. W każdym razie mam nadzieję, że wkrótce zobaczymy samouczek.
Melon
Właśnie zapytałem o to obsługę klienta Microsoft, a oni przekierowali mnie na swoje fora. Na forach kolega powiedział mi, że okna stawiają się na pierwszym miejscu. Kropka. Jeśli mi się to nie podoba, po prostu stwórz plik wsadowy w systemie Windows, który działa na każdym końcu uruchamiania bcdedt-s konfiguracja uefi systemu Windows, aby następnym razem uruchomić gruba. Miły.
netom
System plików GPT zawiera duplikat sektorów rozruchowych. Wygląda na to, że Windows po prostu sprawdza sumę kontrolną MBR i „naprawia” ją, zastępując ją oryginalnymi ochronnymi danymi MBR. Najlepsza praktyka bezpieczeństwa. en.wikipedia.org/wiki/GUID_Partition_Table

Odpowiedzi:

33

Nie mogę składać żadnych obietnic, ale wypróbuj to w oknie wiersza polecenia systemu Windows uruchomionym z uprawnieniami administratora:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Pamiętaj, że {bootmgr}należy wpisać dokładnie; to nie jest zmienna. Jeśli to nie zadziała, możesz wypróbować to w systemie Linux:

  1. Utwórz kopię zapasową całej zawartości /boot/efi(partycji systemowej EFI lub ESP).
  2. Wpisz sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft.
  3. Wpisz cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi.
  4. Utwórz nowy /etc/grub.d/40_customwpis pliku, który odnosi się EFI/Microsoft/bootmgfw.efi. Modeluj go na podstawie istniejącego wpisu, /boot/grub/grub.cfgktóry dotyczy EFI/Microsoft/Boot/bootmgfw.efi; wystarczy usunąć Bootze ścieżki rozruchowej i nadać wpisowi nową nazwę.
  5. Wpisz, sudo update-grubaby zainstalować nowy wpis GRUB.

Po ponownym uruchomieniu GRUB powinien się pojawić. Problem polega na tym, że jeśli / kiedy Windows zdecyduje się ponownie zainstalować moduł ładujący, system zacznie ponownie uruchamiać się bezpośrednio do systemu Windows.

W kroku 4 możesz:

  1. Skopiuj 40_customwpis zaczynający menuentry 'Windows ...'się od umieszczonego między zestawem ### BEGIN <path> ###a ### END <path> ###tagami / komentarzami. To jest wpis zawierający ścieżkę Boot.
  2. Utwórz nowy wpis w pliku /etc/grub.d/40_custom, dodając skopiowany menuentry.
  3. Zmień nazwę nowego wpisu (oryginał powinien być Windows Boot Managerlub coś podobnego).
  4. Zmień ścieżkę z EFI/Microsoft/Boot/bootmgfw.efina EFI/Microsoft/bootmgfw.efi.

EDYTOWAĆ:

Od czasu napisania tej odpowiedzi dowiedziałem się o narzędziu Windows innej firmy o nazwie EasyUEFI, które jest łatwiejszym narzędziem graficznym niż bcdeditdo dostosowywania kolejności uruchamiania EFI z systemu Windows. Nie wiem jednak, czy EasyUEFI powstrzyma system Windows przed wprowadzaniem zmian, czy Windows ma zwyczaj ustawiania się jako domyślny przy każdym uruchomieniu. Dlatego bcdeditmoże być nadal wymagany, ale na pewno warto też spróbować EasyUEFI.

Rod Smith
źródło
5
Czy zastanowiłbyś się, czy nie wyświadczyć mi przysługi i udzielić nam szczegółowych wskazówek dotyczących terminala 4? Zrobiłem wszystko inne oprócz tego kroku, ponieważ nie byłem pewien, jakie polecenia wpisać. Grub działa teraz, ale nie pozwala mi na uruchomienie systemu Windows. Eek!
proszę rozwinąć krok 4
ji-ruh
\EFI\ubuntu\shimx64.efiznalezione na Ubuntu 18.0.4 LTS
CSGO
2

Jak mogę to zmienić w systemie Windows 8? Przeczytałem coś o bcdedit, ale to nie działa lub nie wiem, jak go używać ...

Ten sam problem tutaj, w końcu zorientowałem się, że zrobiła to najnowsza aktualizacja W8.1 i wiem o tym, ponieważ właśnie zaktualizowałem dzisiaj i nie robiłem tego przez mniej więcej 33 dni, mój HP Pavilion powiedział mi ..

W każdym razie oto, co zadziałało:

Śledziłem ten film z Utube, aby zatrzymać „automatyczną naprawę [rozruchu]”: http://www.youtube.com/watch?v=VRQYmtysFkg

Następnie zmieniłem bootmgr za pomocą powyższego rozwiązania dostarczonego przez Rod: bcdedit / set {bootmgr} path \ EFI \ ubuntu \ grubx64.efi

Bingo!

btw: Boot Repair z mojego LiveUsb zrobił nada, ale spowodował krótki flash, gdy W8 naprawił wpis rozruchu.

Opór jest bezcelowy
źródło
1
Wspaniale, że zdecydowałeś się pomóc! Ale twoja odpowiedź nie zawiera kontekstu dla opublikowanego linku (wideo) , a my tutaj w Ask Ubuntu chcemy tego . Chcemy, aby odpowiedzi tutaj zawierały konteksty, ponieważ linki (wideo) mogą prędzej czy później nie działać.
VenkiPhy6
0
  1. run Boot-Repair „s Recommended Repairz LiveCD, a następnie ponownie uruchom komputer.
  2. jeśli nadal nie jest dobry, uruchom Boot-Repair -> Opcje zaawansowane -> odznacz „ Backup and rename EFI files” -> zaznacz „ Restore EFI backups” -> Zastosuj
LovinBuntu
źródło
2
Brak problemów pochodzi z systemu Windows 8
Kouros
0

Mam tylko część odpowiedzi: działające rozwiązanie, które jest prawie w porządku, dopóki nie dowiem się, jak to naprawić na stałe.

Miał ten sam problem: krawędź Thinkpada dostarczana z Windows 8; zainstalowałem ubuntu jako podwójny rozruch i przeważnie zapomniałem o Windows, dopóki nie wyszedł 8.1, i pomyślałem, że spróbuję przed usunięciem Windows na dobre. Więc po zainstalowaniu 8.1, Grub nie pojawia się już przy starcie, ALE kiedy naciskam F12, pojawia się inne menu, które pozwala mi uruchomić Ubuntu. Tak właśnie teraz uruchamiam komputer: ale co drugi raz zapominam nacisnąć klawisz F12 i nadal uruchamia się system Windows (czego prawie nigdy nie chcę).

Więc naciśnięcie F12 pomaga przez chwilę (nie jestem pewien, czy to działa w twoim przypadku, ale może warto spróbować). Wiem, że są instrukcje na temat przywracania gruba, ale nic nie zrobię, dopóki nie będę całkowicie pewien.

lebatsnok
źródło
0

Jakoś system Windows 8.1 całkowicie blokuje Ubuntu jest duplikatem tego pytania. Nie sądzę, że tak, ale mogę tu tylko komentować. Wystąpiły te same objawy, co w przypadku systemu Windows 8.1 całkowicie blokującego system Ubuntu .

W moim przypadku rozwiązaniem było naciśnięcie F2 podczas uruchamiania i zmiana kolejności uruchamiania, aby Ubuntu było na szczycie listy. Z jakiegoś powodu po uaktualnieniu mojego laptopa z podwójnym uruchomieniem (Win / ubuntu) z Win 8 do Win 8.1 „Windows” pojawił się na górze listy rozruchowej przed Ubuntu, DVD, USB itp., A mój laptop uruchomił się bezpośrednio w systemie Windows 8.1 bez podawania ja dowolny wybór.

Naciśnięcie F2 podczas uruchamiania i umieszczenie Ubuntu na szczycie listy rozwiązało mój problem i sprawiło, że ubuntu było ponownie dostępne (wraz z Windows 8.1) po aktualizacji do Windows 8.1 ze sklepu Microsoft.

riedlblower
źródło
0

Z Windows 10 i Ubuntu 14.04 na Acer E17 miałem podobny problem (Menedżer rozruchu systemu Windows przejął, nie mogłem uzyskać dostępu do Grub przy starcie). Postępowałem zgodnie z instrukcjami podanymi powyżej przez Rod Smitha, ale bez powodzenia. (bardzo ładne instrukcje, btw)

Znalazłem ustawienie w BIOSie pod kolejnością rozruchu, w którym najpierw wymieniono Menedżera rozruchu systemu Windows, a na drugim dysku twardym. Zamieniłem je, zapisałem i wyszedłem / uruchomiłem ponownie, a Grub natychmiast się pojawił.

Czytałem gdzie indziej, że niektóre BIOS-y mają opcję szybkiego rozruchu, którą może być konieczne wyłączenie, ale moja nie miała tego.

mason81
źródło
0

Na niektórych komputerach Ustawienia BIOS kontrolują priorytet rozruchu plików * .efi na partycji UEFI. Znalazłem mój laptop HP Pavilion 15-f039wm, chociaż nie było od razu oczywiste, że ma tę funkcję. Ustawienie go w systemie BIOS pokonuje bałagan z plikami .efi bezpośrednio i za pomocą bcdedit.

W przypadku tego komputera naciskam F10, aby przejść do konfiguracji systemu BIOS, a następnie kursor i wybierz „Opcje rozruchu”. Istnieją opcje priorytetów rozruchu UEFI, które można zmienić, jedną z nich jest „OS Boot Manager”. Jednak ta opcja ma dodatkową funkcję, polegającą na tym, że jeśli ją podświetlę i naciśniesz Enter, pojawi się okienko wyskakujące do zmiany priorytetów „ubuntu” i „Windows Boot Manager” w „OS Boot Manager”. Umieszczam „ubuntu” na F5 / F6, zapisuję zawartość wyskakującego okienka za pomocą F10, a następnie ponownie wciskam F10, aby zapisać i wyjść z konfiguracji BIOS.

Teraz bez interwencji przy każdym uruchomieniu, dostaję menu Grub, które domyślnie uruchamia Ubuntu. Nadal mogę uruchomić system Windows za pomocą menu Grub lub uzyskać bezpieczny rozruch, interweniując w F9, aby uzyskać menu UEFI Boot Manager.

Ta funkcja BIOS pomaga wyjaśnić, dlaczego wydawało się, że kod UEFI zastępuje zmiany w BootOrder, które wprowadziłem za pomocą efibootmgr w Ubuntu.

sudr minz
źródło