L'aggiornamento a Windows 10 uccide grub e il boot-repair non aiuta


83

Ho appena eseguito l'aggiornamento a Windows 10 da Windows 8.1 sul mio laptop partizionato su cui è installato Ubuntu 14.04. Grub non è più apparso all'avvio, quindi ho eseguito la riparazione di avvio da un liveUSB di Ubuntu. Questo non sembra avere alcun effetto. Ho controllato e l'avvio sicuro è ancora disabilitato.
Accedere da boot-repair: http://paste.ubuntu.com/11972534/
Allora, cosa ci aspetta?

Aggiornamento: ho provato a usare chroot per aggiornare grub dalla mia partizione Ubuntu. update-grub funziona correttamente trovando sia linux che windows boot manager ma il processo non ha ancora alcun effetto. grub-install si lamenta che non riesce a trovare la directory EFI (ma ho montato tutto correttamente).

Update2: Ho appena scoperto che eseguire efibootmgr dopo chroot in Ubuntu mostra Ubuntu come non essere affatto nell'ordine di avvio. Ho modificato manualmente l'ordine e riavviato per scoprire che il bootorder è stato ripristinato. Corro in Windows: bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efima questo non ha alcun effetto neanche dopo aver segnalato "Operazione riuscita".


Il prossimo sarebbe di presentare una segnalazione di bug.
Rinzwind,

@Rinzwind Ho appena inviato il registro a boot.repair@gmail.com per spiegare la mia situazione.
Nicholas Verstegen,

Se hai aggiornato i file di GRUB in ESP sei entrato in ACER UEFI e hai abilitato la fiducia su quei file. È necessario impostare la password di sistema per farlo. askubuntu.com/questions/597213/…
oldfred

Mantenere due ESP separati per entrambi, altrimenti Windows cancellerà GRUB su ogni aggiornamento BOOTMGR.
Erkin Alp Güney,

Questa breve nota ( linuxbsdos.com/2015/07/29/… ) sottolinea che se il tuo ESP è nella partizione UEFI, l'aggiornamento non dovrebbe interrompere nulla.
Carles Araguz,

Risposte:


114

Ho dovuto solo eseguire questo in Windows come amministratore:

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

Oppure, se si utilizza PowerShell:

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

GRUB appare bene all'avvio e posso avviare Ubuntu e Windows 10 bene.


2
@bheeshmar: è degno di una risposta tutta sola! ;-)
Fabby

3
Questo ha funzionato per me, grazie mille. Posso sapere cosa ha effettivamente fatto quel comando per favore?
Jehoshuah,

3
FYI: non funziona in Windows PowerShell, è necessario eseguire cmd come amministratore per farlo funzionare
William Saunders,

2
@Jehoshuah Imposta Grub come gestore di avvio del sistema, anziché come gestore di avvio di Windows, il che significa che all'avvio del sistema, esegue Grub. BCD sta per "Dati di configurazione di avvio".
wjandrea,

7
Nota: per trovare il percorso dell'ultimo argomento di quel comando, è possibile utilizzare bcdedit /enum firmware. Questo aiuta se stai usando un'altra distribuzione di Linux e il tuo motore di ricerca ti ha portato qui :-)
David Faure,

19

L'unica soluzione che ha funzionato per me è descritta su quel link che ho riportato qui solo perché è più facile trovare questa discussione su Google.

Essenzialmente i passaggi sono:

  1. Utilizzo di Ubuntu Live per l'avvio in modalità "Prova Ubuntu".
  2. Usa GParted per verificare la partizione linux corretta (es /dev/sda2.).
  3. Montare la partizione Linux:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with your partition number
    
  4. Montare tutte le altre cartelle di sistema linux:

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

    Se stai eseguendo un sistema UEFI, dovrai anche montare la tua directory EFI usando il seguente comando:

    sudo mount /dev/sda1 /mnt/boot/efi
    
  5. chroot nella tua installazione

    sudo chroot /mnt
    
  6. Ora che hai effettuato l'accesso alla tua installazione (non Ubuntu Live), fallo e basta

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

E questo è tutto! I crediti vanno a Scott Severance sul link che ho menzionato sopra.


1
In parte ha funzionato per me .. ora si avvia direttamente su Linux senza mostrare il menu di avvio
PowerAktar

@PowerAktar hai provato a premere "ESC" per mostrare il menu di grub?
Initialize

La risposta mi ha aiutato. Fondamentalmente, ho avviato il mio PC con la modalità 'Prova Ubuntu' e ho installato boot-repair per correggere grub. La partizione Linux è stata ripristinata. Ma PERSO la partizione di Windows dopo la correzione. Quindi ho provato a passare dal punto 4 al 6. Questi passaggi mi hanno aiutato a recuperare la partizione di Windows 10. Grazie Nir
r0ng

2
Questa risposta è quasi la stessa di quella nella domanda collegata, tranne per la formattazione e la grammatica peggiori. Se la tua risposta è essenzialmente una copia di un'altra domanda, sarebbe meglio contrassegnare questa domanda come duplicata dell'altra dopo aver guadagnato 15 reputazione . Non dimenticare di votare le risposte che hai trovato utili!
David Foerster,

Questa è l'unica cosa che ha funzionato per me. Ho notato che (L) Ubuntu non avrebbe creato nulla in sda1 / EFI / boot / ..., ma manualmente, risolto. Grazie!
user2084865

4

stesso problema qui, l'aggiornamento da Windows 7 a 10 in un PC dual boot ... Ho risolto in questo modo:

  1. Aggiorna Windows
  2. Durante il processo di installazione, dopo il primo riavvio, viene visualizzato il prompt di ripristino di grub, risolto con BootRepair in una chiavetta USB
  3. Completata l'installazione di Windows, GRUB è andato e con un cd live di gparted ho notato che tutte le partizioni erano ancora lì ma tutte erano NTFS
  4. TestDisk usato da Windows ha recuperato la mia partizione Linux
  5. BootRepair di nuovo e tutto sembra a posto (ho duplicato la voce di Windows nel menu di GRUB .. non so perché, ma ora mi sembra tutto ok!)

Spero possa essere utile a qualcuno!


Più di un passo alla volta sarebbe utile
Veridian,

Questa soluzione ha funzionato anche per me .. e mi ha salvato la giornata :) PS. Questo passo dopo passo può aiutare: cgsecurity.org/wiki/TestDisk_Step_By_Step
The Good Giant

1
In che modo TestDisk ha recuperato le tue partizioni Linux? L'hai appena usato per cambiare il tipo di partizione?
Greg Bell,

Stai dicendo che l'installazione di Windows converte le partizioni ext4 in NFTS? Che cosa è successo a cose come permessi sui file e collegamenti simbolici, che non possono essere espressi al 100% allo stesso modo su NTFS? Mi aspetto una perdita parziale delle informazioni sui file.
bluenote10

4

La macchina di mia moglie è più vecchia (non UEFI) e aveva Ubuntu installato su una partizione estesa logica. L'aggiornamento a Windows 10 ha ucciso per la prima volta grub, quindi i riavvii hanno portato al prompt "grub rescue", che ho ripristinato con BootRepair da LiveUSB, ma mancava la mia partizione Linux! L'ho ripristinato con il salvataggio parted da LiveUSB, che ha trovato e ripristinato la partizione. Da lì, ho montato la partizione da LiveUSB e ho eseguito l'installazione di grub e sono stato in grado di riavviare Ubuntu e Win10 recuperati. Spero che questo aiuti gli altri.


3
NOTA: Tutti gli utenti con Windows 7 all'avvio del BIOS su unità partizionate MBR (msdos) e Ubuntu in una partizione logica avranno probabilmente questo problema. È meglio eseguire prima il backup separato della tabella delle partizioni. Quindi se non hai modificato la tabella delle partizioni puoi ripristinarla direttamente. askubuntu.com/questions/654386/… Windows ha sempre "dimenticato" di includere la partizione Linux quando riscrive la tabella delle partizioni.
oldfred

Vorrei averlo letto prima di premere il pulsante Aggiorna a Windows 10 sulla macchina di mia moglie! :)
bheeshmar,

2
Potete fornire un link a "BootRepair" e "parted rescue" e / o "LiveUSB"? Ci sono molte di queste cose in giro e le persone potrebbero essere interessate ad usare quelle esatte che hai fatto (non sono riuscito a trovarle definitivamente su Google).
Greg Bell,

@oldfred Windows riscrive la tabella durante l'aggiornamento? È spaventoso.
Dev Android

2

Hai controllato l'ordine della sequenza di avvio? Se il caricatore di avvio di Microsoft è al numero 2, spostarlo in basso e riavviare.

Puoi controllarlo da Ubuntu eseguendolo sudo efibootmgr -vnel terminale.


2

Qui abbiamo una serie di risposte che forniscono istruzioni su come hanno risolto il problema (menu Perdita di Grub a causa dell'ultimo aggiornamento di Win10). Varie risposte dimostrano che la soluzione non è unica in quanto la configurazione della macchina non è unica.

Per il mio sistema ( Acer E5-575G-57D4 ), la soluzione è la seguente:

Risposta breve :

1) In Windows, come indicato da Nicholas nella sua risposta, immettere il seguente comando come amministratore nel prompt dei comandi di Windows.

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

2) Eseguire l' utilità di riparazione di avvio con Live Ubuntu CD / USB.

Risposta lunga:

1) Accedi a Windows.

2) Crea una chiavetta USB avviabile (con la tua versione di Ubuntu) e collegala.

3) Immettere questo comando come amministratore nel prompt dei comandi:

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

Riavvia .

4) Durante l'avvio, premere F12 per visualizzare il menu di avvio. Seleziona "Linux". Nota: per questo, "Menu di avvio F12" deve essere abilitato nelle impostazioni del BIOS (premere F2 durante l'avvio).

5) Nel menu, selezionare "Prova Ubuntu senza installare", per la sessione Live Ubuntu .

6) Connettiti al tuo WiFi. Scarica ed esegui boot-repair usando i seguenti comandi:

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

Segui semplicemente le istruzioni, fino a quando non ricevi il messaggio che grub è stato corretto. Ha funzionato per me.

Grazie :)


1

Non sono sicuro che sia correlato, ma ho anche riscontrato un piccolo problema nel tentativo di eseguire l'aggiornamento a Windows 10 da un dual boot di Windows 8.1 / debian.

Fondamentalmente, a un certo punto dell'aggiornamento, sono finito con grub che andava in modalità di salvataggio perché la mia partizione debian era stata cancellata nel processo e quindi i file di avvio con esso (generalmente ho una partizione di avvio separata ma non questa volta ... ). Da uno sguardo a questo link: l' aggiornamento di Windows 10 ha portato al salvataggio di grub

Penso che il problema sia che Windows non ha scritto correttamente la tabella delle partizioni durante il processo di aggiornamento.

Ad ogni modo, ho risolto il problema avviando un hdd esterno di installazione Win8.1 e ho seguito queste istruzioni: https://neosmart.net/wiki/fix-mbr/ (scorrere verso il basso per win8 / 8.1). Questo cancellò grub e reinstallò il boot loader di mSoft. Sono quindi riuscito a completare l'aggiornamento e ho reinstallato Debian tutti insieme poiché all'epoca non mi ero reso conto che si trattava semplicemente di un problema con la tabella delle partizioni non scritta correttamente. Tuttavia, una soluzione migliore sarebbe quella di provare a ripristinare la tabella delle partizioni (usando testdisk?) E quindi reinstallare / aggiornare grub.

Spero che aiuti.

PS: Grazie microsoft per non fregarsene delle persone che hanno una configurazione a doppio avvio ...


Anch'io ho subito una partizione cancellata con l'aggiornamento.
Lewis Goddard,

Quello che non capisco è come mai solo la mia partizione Linux root è stata cancellata quando ho avuto altre 2 partizioni logiche per / opt e linux-swap che sono state lasciate intatte. Sicuramente se Windows avesse davvero avuto problemi a scrivere partizioni logiche nella tabella, anche quelle avrebbero dovuto soffrire ...
Jérémy Riviere

1
Non ho riscontrato problemi con i sistemi UEFI / gpt che non scrivono correttamente la tabella delle partizioni. Ma qualsiasi Windows 7 o 8 con BIOS / MBR e Linux in partizioni logiche sembra avere il problema. askubuntu.com/questions/654386/… Tutti gli altri con problemi di partizione mancante avevano una sola partizione LInux come logica. Ma ora sembra molto strano che Windows "dimentichi" solo di scrivere / (root) la partizione. E lo vedo da anni anche con le reinstallazioni di Windows 7.
oldfred

1
@oldfred Succede se le partizioni logiche non sono numerate in ordine, cioè sda6 è prima di sda5 all'interno della partizione estesa, e non solo se sono partizioni Linux (scambio Linux eliminato e NTFS nel mio caso). L'aggiornamento di Windows 10 a volte crea una nuova partizione per un ambiente di recupero se non si adatta alla sua partizione di avvio.
Martin Thornton,

1

Ho usato il rescuetux / supergrubdisk. L'ho avviato da DriveDroid sul mio tablet Android. Quindi utilizzato il rilevamento automatico di rescuetux. Andato nel pulsante WINDOWS, premi il pulsante di riparazione betaWindowsMBR. E selezionato / dev / sda2 ok ok ok. Poi ha detto di successo. Ora ho appena riavviato il menu di Windows uefi.


1

La mia correzione era vicina a @Francesco ma un po 'diversa.

  1. Aggiorna Windows da 7 a 10.
  2. Durante il processo di installazione, dopo il primo riavvio, viene visualizzato il prompt di ripristino di grub, risolto con BootRepair in una chiavetta USB.
  3. Ora appare Grub, ma mostra solo la partizione Ubuntu, non Windows.
  4. Accedi a Ubuntu, vai al terminale e digita update-grub
  5. Ora Windows mostra il backup nel menu di grub, continua con l'aggiornamento di Windows 10.

Nel mio caso, il mio sistema si avvia in Windows dopo BootRepair.
Il

1
Inoltre, tutte le partizioni Linux erano sparite proprio come Francesco. Sei stato fortunato.
Il

@tbear, quindi come hai recuperato?
Greg Bell,

1

Se si dispone di un supporto di installazione Win10, è possibile utilizzarlo per installare un nuovo MBR nuovo. Basta avviare il sistema e vedrai "Installa ora" (o simile) ma non fare clic su di esso. C'è un piccolo link che dice "strumenti di riparazione" (o qualcosa del genere). Da questo puoi inserire il prompt dei comandi.

cd c:\windows\system32
bootrec /fixmbr

forse anche

bootrec /fixboot

Questo dovrebbe risolvere il problema. Ma il tuo Linux è sparito a causa dell'ignoranza di Microsoft nelle scelte delle persone. Hanno appena deciso che va bene per loro eliminare tutto ciò che è disponibile sul tuo HDD e che non gli piace. Pertanto, potremmo legalmente decidere che la SM è un mucchio di stronzi ...

Lo strumento di creazione dei supporti di installazione di Win10 è disponibile gratuitamente da https://www.microsoft.com/en-us/software-download/windows10


0

08/08/15 Ho eseguito l'aggiornamento da Windows 7 a Windows 10 e dopo l'installazione di Windows10 ho impostato Firefox come browser predefinito e ho spento il PC, ho aspettato 15 secondi e acceso il PC e non mi aspettavo nemmeno che mi avrebbe dato opzione per scegliere ancora Ubuntu entro 5 secondi. Ho fatto clic su Ubuntu e sembrava appendere in un limbo con uno schermo grigio per quello che sembrava un'eternità, ma non ho fatto altro che toccare il pulsante Invio sulla tastiera per tentare di ottenere qualcosa e attese, poi finalmente apparve la familiare schermata nera per scegliere Ubuntu o apparvero opzioni avanzate. Si è avviato bene in Ubuntu. Dopo aver spento e acceso Windows 10, l'ora e la data in Windows sono state mostrate velocemente 5 ore, proprio come Windows 7 dopo aver usato Ubuntu, LOL. La prossima volta che ho scelto Ubuntu per l'avvio, l'avvio era molto più breve.


0

Per me il processo è stato piuttosto complicato. Uso la riparazione di avvio dalla chiavetta USB e dopo aver rimosso la chiavetta USB e riavviato il computer è arrivata solo l'opzione di accesso Ubuntu. Accedo a Ubuntu che è stato installato sul disco rigido del mio computer e quindi uso nuovamente la riparazione di avvio. Dopo di che quando riavvio il mio computer ora ho le opzioni per accedere a Unbunt e Winsows 10 e funziona bene.


-2

Dopo aver eseguito l'aggiornamento a Windows 10 su Acer Aspire-AXC-605, non sono riuscito ad avviare Ubuntu e il tasto F2 non ha visualizzato la schermata del BIOS, quindi non è stato possibile avviare da USB Ubuntu live.

Ho dovuto usare il tasto Esc durante l'avvio per far apparire una schermata "Diagnosi PC" e da lì ho potuto avviare l'USB.


Questo non risponde davvero alla domanda.
TheWanderer,

@ Zacharee1 la soluzione proposta dall'utente è "Hit escape, per arrivare a Diagnosi schermo PC, che offre un'opzione di avvio USB". Non è una buona risposta ma è un tentativo di risposta.
Thomas Ward

@ThomasW. OK. Non lo vedo davvero però.
TheWanderer,

@ Zacharee1 guarda le mie modifiche - la divide un po ', ma il punto è che mentre è una risposta non è davvero buona, e non fornisce davvero un'ottima risposta
Thomas Ward
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.