Stavo cercando di salvare GRUB in Linux. Sono riuscito ad accedere al sistema operativo seguendo questo tutorial:

https://www.lisenet.com/2014/grub2-rescue-mode-error-unknown-filesystem/

Devo aggiornare GRUB per risolvere il problema. Tuttavia, quando eseguo grub-install, ricevo un errore:

$ grub-install /dev/sda grub-install: error: cannot find EFI directory. 

Il mio file system contiene sda4, sda5 e sda6 rispettivamente per il sistema EFI, lo scambio Linux e il file system Linux.

Non ho molta esperienza nelluso di mount o altri comandi.

Answer

Quando esegui grub-install per impostazione predefinita presuppone che il sistema EFI sia montato come / boot / efi

Dipende dalla tua distribuzione dove il sistema EFI è montato e su alcune distribuzioni non lo è “t montato dopo lavvio.

Prima controlla se / boot / efi è montato con

mount | grep /boot/efi 

Se non funziona, prova prima quanto segue per vedere se è montato altrove.

mount | grep /dev/[efi device] 

Se nessuno di questi funziona:

mount /dev/[efi device] /mnt 

Ora esegui:

grub-install --efi-directory=[efi dir] grub-mkconfig -o /boot/grub/grub.cfg 

dove [efi dir] è / boot / ef i o / mnt e [efi device] è il dispositivo con la partizione di sistema EFI. Se non lo sai, usa il comando lsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

Commenti

  • Grazie, Nel grub-install --efi-directory=/boot/EFI mentre chroot in /mnt.
  • Forse stupido Q ma non ' ho una directory EFI. Dove ne trovo una? Voglio dire che dovrebbe contenere file, quale comando può ricrearla?
  • @LennartRolland Se hai un sistema compatibile UEFI, lunità di sistema lo farà essere partizionato GPT e contiene una " partizione di sistema UEFI. " di solito la prima partizione e sarà del tipo EF00. Molte distribuzioni verranno montate questo per impostazione predefinita come / boot / efi, tra le altre cose, consente al boot loader di GRUB di aggiornare i suoi file. In caso contrario, ' dovrai montarlo da solo e aggiungerlo a fstab. potrebbe anche avere un sistema UEFI ma utilizza la modalità legacy, il che significa che le tue partizioni saranno di tipo msdos e che ' non avrai a / boot / efi. Esistono configurazioni più strane ma questo copre la maggior parte di esse.
  • Le tue istruzioni se EFI non è montato sono sbagliate. Vedi la mia modifica. mount | grep /dev/sda6 ' non funziona. Se EFI non è montato, è necessario controllare il tipo di partizioni.
  • @giusti Probabilmente è meglio non fare riferimenti a nomi di dispositivi specifici.

Risposta

La modalità di salvataggio di Grub può essere trattata come

set root=(hd0,gpt6) set prefix=(hd0,gpt6)/boot/grub insmod normal normal 

Dopo aver effettuato laccesso, inserisci sudo update-grub && sudo grub-install /dev/sda.

Commenti

  • grub-install non dovrebbe essere fatto prima del update-grub?
  • quando ho digitato il primo comando, ho ricevuto " bash: errore di sintassi vicino a token imprevisto `(' "
  • @ Another.Chemist: i comandi dati dovrebbero andare alla console interattiva di GRUB, credo. Questo sarebbe prima dellavvio del kernel. Il tuo errore sembra che tu abbia digitato i comandi in Bash.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *