grub-efi si rifiuta di eseguire il chainload di Windows 8.1


0

Ho installato LMDE (con grub in MBR) dopo aver installato Windows 8.1. Ho quindi installato il grub-efi pacchetto e aggiunto le opzioni personalizzate di Windows:

#!/bin/sh
exec tail -n +3 $0

menuentry "Windows" {
    search --fs-uuid --no-floppy --set=root A89A-7F4C
    chainloader (${root})/EFI/Boot/bkpbootx64.efi
}
menuentry "Windows (backup bootloader)" {
    search --fs-uuid --no-floppy --set=root A89A-7F4C
    chainloader (${root})/EFI/Microsoft/Boot/bkpbootmgfw.efi
}

Questi sono fondamentalmente un avanzo dalla mia precedente configurazione di Ubuntu. Tuttavia, grub si rifiuta di caricarli, lamentandosi della firma non valida. Cosa faccio ora?

Risposte:


2

Un reclamo di "firma non valida" suona come un errore di avvio sicuro. Non sono sicuro di dove sia Ubuntu con questo, ma alcune versioni di GRUB rifiutano di eseguire il chainload di Windows quando Secure Boot è attivo, il che richiede sia disabilitazione Secure Boot o usando un altro boot manager (come quello integrato nella maggior parte degli EFI, Gummiboot, o Ritrovato, invece di o in aggiunta a GRUB. La soluzione più semplice è probabilmente disabilitare Secure Boot. Se si desidera mantenere attivo Secure Boot, è probabile che la soluzione più semplice sia installare RESTINd; tuttavia, dovresti leggere il documentazione aggiornata su Secure Boot, dal momento che avrai bisogno di saltare qualche anello in più per farlo funzionare.


MODIFICARE: Innanzitutto, rileggendo la descrizione, si menzionano sia GRUB nell'MBR (che implica un'installazione GRUB in modalità BIOS) sia la grub-efi pacchetto (che è la versione EFI di GRUB). Le tue stanze GRUB di Windows sono chiaramente pensate per un GRUB in modalità EFI. Se sono stati installati entrambi, è plausibile che si stia avviando la versione in modalità BIOS di GRUB per errore, il che potrebbe non riuscire quando si avviano le voci di Windows in modalità EFI. Se questa è la causa principale, dovrai trovare un modo per forzare l'avvio della versione EFI di GRUB. Potresti essere in grado di utilizzare il boot manager integrato del tuo computer o le impostazioni di avvio del firmware per farlo; o potrebbe essere necessario eliminare GRUB in MBR digitando sudo dd if=/dev/zero of=/dev/sda bs=440 count=1 in una finestra di Terminale. Essere molto attento con questo comando, però; l'omissione o l'errata digitazione di un parametro può causare gravi danni al disco rigido. Il bs= e count= le opzioni sono particolarmente importanti.

Se stai lanciando la versione EFI di GRUB e hai ancora problemi, prova la seguente voce in /etc/grub.d/40_custom (e corri sudo update-grub dopo aver apportato la modifica):

menuentry "Windows" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Modificare (hd0,gpt1) qualunque sia l'identificatore di GRUB per la tua EFI System Partition (ESP). Inoltre, se hai eseguito Boot Repair in passato (come suggerito dai tuoi inserimenti di esempio), potresti dover cambiare bootmgfw.efi a bkpbootmgfw.efi. È concepibile che il codice del filesystem FAT nelle tue voci esistenti sia sbagliato, o che ci sia qualche altro dettaglio che è sbagliato, motivo per cui sto suggerendo di usare questa voce, che ha funzionato per me in passato, come modello. (Queste voci del chainloader GRUB sono notoriamente pignoli).

Se fallisce, prova a utilizzare l'unità flash USB o la versione CD-R del mio riavviato il boot manager. Se è possibile avviare Windows, è possibile installare la versione Debian di rEFInd sul disco rigido. Prenderà quindi il controllo da GRUB, che non dovrebbe essere più necessario. RIPARTIRE è molto più semplice da gestire manualmente rispetto a GRUB; GRUB è facile solo a causa di un carico di navigazione degli script di configurazione che eseguono la maggior parte della personalizzazione richiesta per la maggior parte delle installazioni.


Non ho Secure Boot attivo.
Alexei Averchenko

Si prega di vedere i miei nuovi suggerimenti nella mia modifica.
Rod Smith

Ho fatto quello che hai detto, e risulta che Grub non era affatto in EFI, probabilmente non ho eseguito alcun comando che dovevo eseguire :( Quindi ho usato il mio CD di Ubuntu per eseguire il boot-repair e ora le cose funzionano (anche se Boot La riparazione ha incasinato la mia configurazione DNS in modo che Network Manager non scrivesse i server dei nomi corretti su resolv.conf per qualche motivo). Tutto sommato, lo considero un successo misto. Grazie per il tuo aiuto :)
Alexei Averchenko

sudo dpkg-reconfigure resolvconf aiutato con il problema DNS, BTW.
Alexei Averchenko
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.