Uaktualnienie do systemu Windows 10 zabija gruba, a naprawa bootowania nie pomaga

83

Właśnie zaktualizowałem system do Windows 10 z Windows 8.1 na moim partycjonowanym laptopie z zainstalowanym Ubuntu 14.04. Grub nie pojawiał się już przy rozruchu, więc uruchomiłem naprawę rozruchu z LiveUSB Ubuntu. To nie wydawało się mieć żadnego efektu. Sprawdziłem i bezpieczny rozruch jest nadal wyłączony.
Zaloguj się z boot-repair: http://paste.ubuntu.com/11972534/
Więc co dalej?

Aktualizacja: Próbowałem użyć chroot do aktualizacji gruba z mojej partycji Ubuntu. update-grub działa pomyślnie, znajdując zarówno Linuksa, jak i menedżera rozruchu systemu Windows, ale proces nadal nie ma żadnego efektu. grub-install skarży się, że nie może znaleźć katalogu EFI (ale wszystko zamontowałem poprawnie).

Update2: Właśnie odkryłem, że uruchomienie efibootmgr po chroot w Ubuntu pokazuje, że Ubuntu wcale nie jest w kolejności uruchamiania. Ręcznie zmieniłem kolejność i uruchomiłem ponownie, aby dowiedzieć się, że bootorder został zresetowany. Pracuję w systemie Windows: bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efiale nie ma to żadnego efektu, nawet po zgłoszeniu „Operacja powiodła się”.

Nicholas Verstegen
źródło
Następnie byłoby zgłoszenie błędu.
Rinzwind
@Rinzwind Właśnie wysłałem dziennik do [email protected], wyjaśniając moją sytuację.
Nicholas Verstegen,
Jeśli zaktualizowałeś pliki gruba w ESP, to wszedłeś do UEFI ACER i włączyłeś zaufanie do tych plików. Aby to zrobić, musisz ustawić hasło systemowe. askubuntu.com/questions/597213/…
oldfred
Zachowaj dwa osobne ESP dla obu, w przeciwnym razie Windows usunie GRUB przy każdej aktualizacji BOOTMGR.
Erkin Alp Güney
Ta krótka notatka ( linuxbsdos.com/2015/07/29/… ) wskazuje, że jeśli ESP znajduje się na partycji UEFI, aktualizacja nie powinna niczego zepsuć.
Carles Araguz

Odpowiedzi:

114

Musiałem po prostu uruchomić to w systemie Windows jako administrator:

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

Lub, jeśli używasz PowerShell:

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

GRUB pojawia się dobrze przy starcie i mogę uruchomić się z Ubuntu i Windows 10 dobrze.

Nicholas Verstegen
źródło
2
@besheshmar: sama w sobie jest warta odpowiedzi! ;-)
Fabby
3
To mi zadziałało, wielkie dzięki. Czy mogę wiedzieć, co właściwie to polecenie zrobiło?
Jehoshuah
3
FYI: nie działa w Windows PowerShell, trzeba uruchomić cmd jako administrator, aby działał
William Saunders
2
@Jehoshuah Ustawia Grub jako menedżera rozruchu systemu, zamiast menedżera rozruchu systemu Windows, co oznacza, że ​​po uruchomieniu systemu uruchamia Grub. BCD oznacza „dane konfiguracji rozruchu”.
wjandrea
7
Uwaga: aby znaleźć ścieżkę do ostatniego argumentu tego polecenia, możesz użyć bcdedit /enum firmware. Pomaga to, jeśli używasz innej dystrybucji linuksa, a Twoja wyszukiwarka wylądowała tutaj :-)
David Faure
19

Jedyne rozwiązanie, które dla mnie zadziałało, zostało opisane w linku , który tu przywiozłem, tylko dlatego, że łatwiej jest znaleźć ten wątek w Google.

Zasadniczo następujące kroki to:

  1. Używanie Ubuntu Live do uruchamiania w trybie „Try Ubuntu”.
  2. Użyj GParted, aby zweryfikować poprawną partycję linux (np /dev/sda2.).
  3. Zamontuj partycję Linux:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with your partition number
    
  4. Zamontuj wszystkie inne foldery systemu Linux:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    

    Jeśli korzystasz z systemu UEFI, będziesz także musiał zamontować katalog EFI za pomocą następującego polecenia:

    sudo mount /dev/sda1 /mnt/boot/efi
    
  5. chroot do twojej instalacji

    sudo chroot /mnt
    
  6. Teraz, gdy jesteś zalogowany (a nie w Ubuntu Live), po prostu zrób

    update-grub
    grub-install /dev/sda
    update-grub
    exit
    sudo reboot
    

I to wszystko ! Podziękowania dla Scott Severance na link, o którym wspomniałem powyżej.

Nir
źródło
1
Częściowo zadziałało dla mnie .. teraz uruchamia się bezpośrednio w
systemie
@ PowerAktar próbowałeś nacisnąć „ESC”, aby wyświetlić menu GRUB?
InitializeSahib
Odpowiedź pomogła mi. Zasadniczo uruchomiłem komputer w trybie „Try Ubuntu” i zainstalowałem naprawę rozruchu, aby naprawić grub. Partycja Linux została odzyskana. Ale zgubiłem partycję Windows po poprawce. Próbowałem więc przejść od kroku 4 do 6. Te kroki pomogły mi odzyskać partycję Windows 10. Dziękuję, Nir
r0ng
2
Ta odpowiedź jest prawie taka sama jak ta w połączonym pytaniu, z wyjątkiem gorszego formatowania i gramatyki. Jeśli twoja odpowiedź jest zasadniczo kopią innego pytania, lepiej byłoby oflagować to pytanie jako duplikat drugiego pytania, gdy zdobędziesz 15 punktów reputacji . Nie zapomnij głosować na odpowiedzi, które uważasz za przydatne!
David Foerster,
To jedyna rzecz, która działała dla mnie. Zauważyłem (L), że ubuntu nie utworzy niczego w sda1 / EFI / boot / ..., ale ręcznie to robi, naprawia to. Dzięki!
user2084865
4

ten sam problem tutaj, aktualizacja z Windows7 do 10 w komputerze z podwójnym uruchomieniem ... Rozwiązałem w ten sposób:

  1. Uaktualnij system Windows
  2. Podczas instalacji, po pierwszym ponownym uruchomieniu, pojawia się monit ratowania gruba, naprawiłem to za pomocą BootRepair w pamięci USB
  3. Zakończyłem instalację systemu Windows, GRUB zniknął i na płycie CD z gparted zauważyłem, że wszystkie partycje wciąż tam są, ale wszystkie były NTFS
  4. Używany TestDisk z systemu Windows odzyskał moją partycję Linux
  5. Ponownie uruchom BootRepair i wszystko wydaje się w porządku (mam zduplikowany głos Windows w menu GRUBA .. nie wiem dlaczego, ale teraz wszystko wydaje mi się w porządku!)

Mam nadzieję, że komuś się przyda!

Francesco
źródło
Przydałby się krok po kroku
Veridian
To rozwiązanie również działało dla mnie i uratowało mi dzień :) PS. Ten krok po kroku może pomóc: cgsecurity.org/wiki/TestDisk_Step_By_Step
The Good Giant
1
W jaki sposób TestDisk odzyskał partycje Linux? Czy użyłeś go właśnie do zmiany typu partycji?
Greg Bell
Czy mówisz, że instalacja systemu Windows konwertuje partycje ext4 na NFTS? Co się stało z takimi uprawnieniami jak pliki i dowiązania symboliczne, których nie można wyrazić w 100% tak samo w NTFS? Spodziewałbym się częściowej utraty informacji o pliku.
bluenote10,
4

Komputer mojej żony jest starszy (spoza UEFI) i miał Ubuntu zainstalowany na logicznej partycji rozszerzonej. Aktualizacja do Windows 10 najpierw zabiła gruba, więc ponowne uruchomienie spowodowało wyświetlenie monitu „grub rat”, który przywróciłem za pomocą BootRepair z LiveUSB, ale brakowało mojej partycji Linuksa! Przywróciłem to z częściowym ratunkiem z LiveUSB, który znalazł i odzyskał partycję. Stamtąd zamontowałem partycję z LiveUSB i wykonałem grub-install i mogłem ponownie uruchomić się w odzyskanym Ubuntu i Win10. Mam nadzieję, że to pomaga innym.

Besheshmar
źródło
3
UWAGA: Wszyscy użytkownicy z systemem Windows 7 w trybie rozruchu systemu BIOS na dyskach partycjonowanych MBR (msdos) i Ubuntu na partycji logicznej prawdopodobnie będą mieli ten problem. Najlepiej najpierw wykonać osobną kopię tabeli partycji. Następnie, jeśli nie zmieniłeś tabeli partycji, możesz ją przywrócić bezpośrednio. askubuntu.com/questions/654386/... Windows zawsze „zapomniał” o dołączeniu partycji Linuksa podczas przepisywania tabeli partycji.
oldfred
Chciałbym to przeczytać przed naciśnięciem przycisku Aktualizuj do systemu Windows 10 na maszynie mojej żony! :)
bheeshmar
2
Czy możesz podać link do „BootRepair” i „ratowania parted” i / lub „LiveUSB”? Istnieje wiele takich rzeczy i ludzie mogą być zainteresowani użyciem dokładnie tych, które zrobiłeś (nie mogłem ich definitywnie znaleźć w Google).
Greg Bell
@oldfred Windows przepisuje tabelę podczas aktualizacji? To jest straszne.
Android Dev
2

Czy sprawdziłeś kolejność sekwencji rozruchowej? Jeśli moduł ładujący rozruchu firmy Microsoft ma numer 2, przenieś go na dół i uruchom ponownie.

Możesz to sprawdzić z poziomu Ubuntu, uruchamiając sudo efibootmgr -vterminal.

Adam Elvin
źródło
2

Mamy tutaj szereg odpowiedzi, w których opisano, w jaki sposób rozwiązali problem (menu Utrata gruba z powodu najnowszej aktualizacji Win10). Różne odpowiedzi dowodzą, że rozwiązanie nie jest unikalne, ponieważ konfiguracje maszyny nie są unikalne.

W moim systemie ( Acer E5-575G-57D4 ) następująca poprawka:

Krótka odpowiedź :

1) W systemie Windows, jak wspomniał Nicholas w swojej odpowiedzi, wprowadź następujące polecenie jako administrator w wierszu polecenia systemu Windows.

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

2) Uruchom narzędzie do naprawy rozruchu z Live Ubuntu CD / USB.

Długa odpowiedź:

1) Zaloguj się do systemu Windows.

2) Utwórz bootowalną pamięć USB (z wersją Ubuntu) i podłącz ją.

3) Wpisz to polecenie jako administrator w wierszu polecenia:

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

Uruchom ponownie .

4) Podczas uruchamiania naciśnij klawisz F12, aby wyświetlić menu rozruchu. Wybierz „Linux”. Uwaga: W tym celu w menu BIOS musi być włączone „menu rozruchu F12” (naciśnij F2 podczas uruchamiania).

5) W menu wybierz „Wypróbuj ubuntu bez instalacji”, dla sesji Live Ubuntu .

6) Połącz się z siecią Wi-Fi. Pobierz i uruchom naprawę rozruchu za pomocą następujących poleceń:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Postępuj zgodnie z instrukcjami, aż pojawi się komunikat, że grub został naprawiony. To zadziałało dla mnie.

Dzięki :)

umash07
źródło
1

Nie jestem pewien, czy jest to powiązane, ale natrafiłem też na problem podczas próby uaktualnienia do systemu Windows 10 z podwójnego rozruchu systemu Windows 8.1 / debian.

Zasadniczo, w pewnym momencie aktualizacji, skończyłem z grubem przechodzącym w tryb ratunkowy, ponieważ moja partycja debian została wyczyszczona w procesie, a tym samym pliki rozruchowe z nim (generalnie mam osobną partycję rozruchową, ale nie tym razem ... ). Spójrz na ten link: aktualizacja systemu Windows 10 doprowadziła do uratowania gruba

Myślę, że problem polega na tym, że Windows nie zapisał poprawnie tablicy partycji podczas procesu aktualizacji.

W każdym razie naprawiłem problem, uruchamiając zewnętrzny dysk twardy Win8.1 i postępowałem zgodnie z instrukcjami: https://neosmart.net/wiki/fix-mbr/ (przewiń w dół do win8 / 8.1). To wyczyściło gruba i ponownie zainstalowało program ładujący mSoft. Potem udało mi się dokończyć aktualizację i ponownie zainstalować Debiana, ponieważ wtedy nie zdawałem sobie sprawy, że to po prostu problem z niepoprawnym pisaniem tablicy partycji. Jeszcze lepszym rozwiązaniem byłoby próba odzyskania tablicy partycji (używając testdisk?), A następnie ponowna instalacja / aktualizacja grub.

Mam nadzieję, że to pomaga.

PS: Dziękuję Microsoft za to, że nie obchodzi Cię ludzie, którzy mają konfigurację podwójnego rozruchu ...

Jérémy Riviere
źródło
Ja również cierpiałem na wyczyszczoną partycję podczas aktualizacji.
Lewis Goddard,
Nie rozumiem tylko, dlaczego tylko moja główna partycja linuksowa została wyczyszczona, gdy miałem 2 inne partycje logiczne dla / opt i linux-swap, które pozostały nietknięte. Z pewnością, jeśli Windows naprawdę miał problemy z pisaniem partycji logicznych w tabeli, to one również powinny ucierpieć ...
Jérémy Riviere
1
Nie widziałem problemów z systemem UEFI / gpt niepoprawnie zapisującym tablicę partycji. Ale wydaje się, że każdy Windows 7 lub 8 z BIOS / MBR i Linux na partycjach logicznych ma problem. askubuntu.com/questions/654386/... Wszystkie pozostałe z problemem braku partycji miały tylko jedną partycję LInux jako logiczną. Ale teraz wydaje się bardzo dziwne, że Windows tylko „zapomina” o zapisaniu partycji / (root). I widziałem to od lat nawet przy ponownej instalacji systemu Windows 7.
oldfred
1
@oldfred Zdarza się to, jeśli partycje logiczne nie są ponumerowane w kolejności, tzn. sda6 znajduje się przed sda5 wewnątrz partycji rozszerzonej, a nie tylko, jeśli są partycjami Linuksa (w moim przypadku usunięto swap Linux i NTFS). Aktualizacja systemu Windows 10 czasami tworzy nową partycję dla środowiska odzyskiwania, jeśli nie mieści się na partycji rozruchowej.
Martin Thornton,
1

Użyłem rescuetux / supergrubdisk. Uruchomiłem go z DriveDroid na moim tablecie z Androidem. Następnie zastosował rescuetux automatycznego wykrywania. Wszedł do przycisku WINDOWS, wcisnął przycisk naprawy betaWindowsMBR. I wybrano / dev / sda2 ok ok ok. Potem powiedział, że się udało. Teraz właśnie wróciłem do menu uefi systemu Windows.

Beezy Weezy
źródło
1

Moja poprawka była bliska @Francesco, ale nieco inna.

  1. Zaktualizuj system Windows z wersji 7–10.
  2. Podczas instalacji, po pierwszym ponownym uruchomieniu, pojawia się monit ratowania gruba, naprawiłem to za pomocą BootRepair w pamięci USB.
  3. Teraz pojawia się Grub, ale pokazuje tylko partycję Ubuntu, a nie Windows.
  4. Zaloguj się do Ubuntu, przejdź do terminala i wpisz update-grub
  5. Teraz system Windows wyświetla kopię zapasową w menu Grub, kontynuuj aktualizację systemu Windows 10.
Metropolia
źródło
W moim przypadku mój system uruchamia się w systemie Windows po BootRepair.
tbear
1
Co więcej, wszystkie partycje linux zniknęły, podobnie jak Francesco. Miałeś szczęście.
tbear
@tbear, więc jak się odzyskałeś?
Greg Bell
1

Jeśli masz nośnik instalacyjny Win10, możesz go użyć do zainstalowania nowego świeżego MBR. Wystarczy uruchomić, dopóki nie pojawi się komunikat „Zainstaluj teraz” (lub podobny), ale go nie klikaj. Jest mały link z napisem „narzędzia do naprawy” (lub coś takiego). Z tego poziomu możesz wprowadzić wiersz polecenia.

cd c:\windows\system32
bootrec /fixmbr

może nawet

bootrec /fixboot

To powinno rozwiązać problem. Ale Twój Linux już nie istnieje z powodu ignorancji Microsoftu wobec własnych wyborów. Właśnie zdecydowali, że jest w porządku, aby usunąć wszystko, co jest dostępne na dysku twardym, a co im się nie podoba. Dlatego możemy zgodnie z prawem zdecydować, że stwardnienie rozsiane to głupek ...

Narzędzie do tworzenia nośników instalacyjnych Win10 jest bezpłatnie dostępne na stronie https://www.microsoft.com/en-us/software-download/windows10

19 Vidar75
źródło
0

8/8/15 Uaktualniłem system Windows 7 do Windows 10, a po zainstalowaniu Windows10 ustawiłem Firefoksa jako domyślną przeglądarkę i wyłączyłem komputer, zaczekałem 15 sekund i uruchomiłem komputer, a nawet nie spodziewałem się, że da mi opcję wybrania Ubuntu w ciągu 5 sekund. Kliknąłem Ubuntu i wydawało się, że zawiesiło się ono na szaro z szarym ekranem przez coś, co wydawało się wiecznością, ale nie zrobiłem nic oprócz stuknięcia przycisku Enter na klawiaturze, aby spróbować coś się wydarzyło i czekałem, aż w końcu pojawił się znajomy czarny ekran, aby wybrać Ubuntu lub zaawansowane opcje. Uruchomił się w systemie Ubuntu w porządku. Po wyłączeniu i włączeniu zasilania w systemie Windows 10 godzina i data w systemie Windows pokazały 5 godzin szybko, podobnie jak system Windows 7 po użyciu Ubuntu, LOL. Następnym razem wybrałem Ubuntu do rozruchu, czekanie było znacznie krótsze.

James
źródło
0

Dla mnie proces był dość skomplikowany. Używam naprawy rozruchu z pamięci USB, a po usunięciu pamięci USB i ponownym uruchomieniu komputera pojawiła się tylko opcja logowania do Ubuntu. Loguję się do systemu Ubuntu, który został zainstalowany na dysku twardym komputera, a następnie ponownie korzystam z funkcji naprawy rozruchu. Po ponownym uruchomieniu komputera mam teraz opcje logowania zarówno do Unbunt, jak i do winins 10 i wszystko działa dobrze.

mr_azad
źródło
-2

Po aktualizacji do Windows 10 na Acer Aspire-AXC-605, nie mogłem uruchomić się na Ubuntu, a klawisz F2 nie wyświetlał ekranu bios, więc nie mogłem uruchomić się z USB Ubuntu na żywo.

Musiałem użyć klawisza Esc podczas uruchamiania, co spowodowało wyświetlenie ekranu „Diagnozuj komputer” i mogłem z niego uruchomić USB.

Geo
źródło
To tak naprawdę nie odpowiada na pytanie.
TheWanderer
@ Zacharee1 proponowanym przez użytkownika rozwiązaniem jest „Ucieczka z miejsca, aby przejść do ekranu Diagnozuj komputer, który daje opcję rozruchu z USB”. To nie jest dobra odpowiedź, ale próba odpowiedzi.
Thomas Ward
@ThomasW. DOBRZE. Jednak tak naprawdę tego nie widzę.
TheWanderer
@ Zacharee1 widzi moje zmiany - to trochę dzieli, ale chodzi o to, że chociaż jest to odpowiedź, nie jest to naprawdę dobra i nie zapewnia naprawdę dobrej odpowiedzi
Thomas Ward