Jeg prøvde å redde GRUB i Linux. Jeg kunne logge inn i operativsystemet etter denne opplæringen:

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

Jeg må oppgradere GRUB for å løse problemet. Når jeg kjører grub-install, får jeg imidlertid en feil:

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

Filsystemet mitt inneholder sda4, sda5 og sda6 for henholdsvis EFI-systemet, Linux-bytte og Linux-filsystem.

Jeg har ikke veldig erfaring med å bruke mount eller andre kommandoer.

Svar

Når du kjører grub-install som standard antar det at EFI-systemet er montert som / boot / efi

Det avhenger av distribusjonen din der EFI-systemet er montert og på noen distribusjoner er det ikke montert etter oppstart.

Kontroller først om / boot / efi er montert med

mount | grep /boot/efi 

Hvis det ikke fungerer, prøv først følgende for å se om det er montert et annet sted.

mount | grep /dev/[efi device] 

Hvis ingen av disse arbeidene gjør det:

mount /dev/[efi device] /mnt 

Kjør nå:

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

der [efi dir] er enten / boot / ef i eller / mnt og [efi device] er enheten med EFI-systempartisjonen. Hvis du ikke vet, bruk kommandoen lsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

Kommentarer

  • Takk, i grub-install --efi-directory=/boot/EFI mens jeg snurrer meg inn i /mnt.
  • Kanskje dum Q men jeg don ' t har en EFI dir. Hvor får jeg en? Jeg mener den skal inneholde filer, hvilken kommando kan gjenskape den?
  • @LennartRolland Hvis du har et UEFI-kompatibelt system, vil systemstasjonen din være GPT-partisjonert og inneholder en " UEFI-systempartisjon. " vanligvis den første partisjonen og vil være av typen EF00. Mange distribusjoner vil montere dette som standard som / boot / efi for blant annet at GRUB-opplasteren kan oppdatere filene. Hvis ikke, må du ' montere den selv og legge den til i fstab. kan også ha et UEFI-system, men det bruker eldre modus som betyr at partisjonene dine vil være msdos-typen, og du vil ikke ' ikke har a / støvel / efi. Weirder-konfigurasjoner finnes, men det dekker de fleste av dem.
  • Instruksjonene dine hvis EFI ikke er montert, er feil. Se min redigering. mount | grep /dev/sda6 fungerer ikke ' t. Hvis EFI ikke er montert, må du sjekke partisjonene for type.
  • @giusti Sannsynligvis bedre å bare ikke lage spesifikke enhetsnavnreferanser.

Svar

Grub-redningsmodus kan behandles som

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

Når du har logget inn, skriv inn sudo update-grub && sudo grub-install /dev/sda.

Kommentarer

  • Skulle grub-install ikke være gjort før update-grub?
  • da jeg skrev den første kommandoen, fikk jeg " bash: syntaksfeil nær uventet token `(' "
  • @ Another.Chemist: kommandoene som gis skal gå til den interaktive GRUB-konsollen, tror jeg. Det ville være før kjernen starter. Feilen din ser ut som om du har skrevet kommandoene i Bash.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *