Jeg forsøgte at redde GRUB i Linux. Jeg kunne logge ind i operativsystemet efter denne vejledning:

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

Jeg er nødt til at opgradere GRUB for at løse problemet. Når jeg kører grub-install, får jeg dog en fejl:

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

Mit filsystem indeholder sda4, sda5 og sda6 til henholdsvis EFI-systemet, Linux-swap og Linux-filsystemet.

Jeg har ikke særlig erfaring med at bruge mount eller andre kommandoer.

Svar

Når du kører grub-install det antager som standard, at EFI-systemet er monteret som / boot / efi

Det afhænger af din distribution hvor EFI-systemet er monteret og på nogle distributioner er det ikke monteret efter opstart.

Kontroller først, om / boot / efi er monteret med

mount | grep /boot/efi 

Hvis det ikke fungerer, skal du først prøve følgende for at se, om det er monteret et andet sted.

mount | grep /dev/[efi device] 

Hvis ingen af disse arbejder gør det:

mount /dev/[efi device] /mnt 

Kør nu:

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

hvor [efi dir] er enten / boot / ef i eller / mnt og [efi-enhed] er enheden med EFI-systempartitionen. Hvis du ikke ved det, skal du bruge kommandoen lsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

Kommentarer

  • Tak, i grub-install --efi-directory=/boot/EFI som jeg trækker ind i /mnt.
  • Måske dum Q, men jeg don ' t har en EFI dir. Hvor får jeg en? Jeg mener, den skal indeholde filer, hvilken kommando kan genskabe den?
  • @LennartRolland Hvis du har et UEFI-kompatibelt system, vil dit systemdrev være GPT-partitioneret og indeholder en " UEFI-systempartition. " normalt den første partition og vil være af typen EF00. Mange distributioner monteres dette som standard som / boot / efi for blandt andet at give GRUB boot loader mulighed for at opdatere sine filer. Hvis ikke du ' skal montere det selv og føje det til fstab. Du kan også have et UEFI-system, men det bruger den ældre tilstand, hvilket betyder, at dine partitioner vil være msdos-type, og du vinder ' t har a / boot / efi. Weirder-konfigurationer findes, men det dækker størstedelen af dem.
  • Din vejledning, hvis EFI ikke er monteret, er forkert. Se min redigering. mount | grep /dev/sda6 fungerer ikke ' t. Hvis EFI ikke er monteret, skal du kontrollere partitionerne for type.
  • @giusti Sandsynligvis bedre at bare ikke lave specifikke enhedsnavnehenvisninger.

Svar

Grub-redningstilstand kan behandles som

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

Når du logger ind, skal du indtaste sudo update-grub && sudo grub-install /dev/sda.

Kommentarer

  • Skulle grub-install ikke være færdig før update-grub?
  • da jeg skrev den første kommando, fik jeg " bash: syntaksfejl nær uventet token `(' "
  • @ Another.Chemist: de givne kommandoer skal gå til den GRUB interaktive konsol, tror jeg. Det ville være før kernen starter. Din fejl ser ud til at du har skrevet kommandoerne i Bash.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *