Ik probeerde GRUB in Linux te redden. Ik kon inloggen in het besturingssysteem na deze tutorial:

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

Ik moet GRUB upgraden om het probleem op te lossen. Wanneer ik echter grub-install start, krijg ik een foutmelding:

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

Mijn bestandssysteem bevat sda4, sda5, en sda6 voor respectievelijk het EFI-systeem, Linux swap en Linux-bestandssysteem.

Ik heb niet veel ervaring met het gebruik van mount of andere commandos.

Answer

Wanneer je grub-install wordt er standaard van uitgegaan dat het EFI-systeem is aangekoppeld als / boot / efi

Het hangt af van uw distributie waar het EFI-systeem is aangekoppeld en op sommige distributies niet is gemount na het opstarten.

Controleer eerst of / boot / efi is gemount met

mount | grep /boot/efi 

Als dat niet werkt, probeer dan eerst het volgende om te zien of het ergens anders is aangekoppeld.

mount | grep /dev/[efi device] 

Als geen van beide werkt:

mount /dev/[efi device] /mnt 

Voer nu uit:

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

waarbij [efi dir] ofwel / boot / ef is i of / mnt en [efi device] is het apparaat met de EFI-systeempartitie. Als je het niet weet, gebruik dan het commando lsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

Reacties

  • Bedankt, in de grub-install --efi-directory=/boot/EFI terwijl ik chroot in /mnt.
  • Misschien stomme Q maar ik don ' t heeft een EFI-map. Waar kan ik er een krijgen? Ik bedoel dat het bestanden moet bevatten, welk commando kan het opnieuw maken?
  • @LennartRolland Als je een UEFI-compatibel systeem hebt, zal je systeemschijf zijn GPT-gepartitioneerd en bevat een " UEFI-systeempartitie. " meestal de eerste partitie en zal van het type EF00 zijn. Veel distributies worden geactiveerd dit standaard als / boot / efi om onder andere toe te staan dat de GRUB-bootloader zijn bestanden bijwerkt. Als dat niet het geval is, moet je ' het zelf mounten en toevoegen aan fstab. kan ook een UEFI-systeem hebben, maar dat gebruikt de legacy-modus, wat betekent dat uw partities van het msdos-type zijn en dat u ' niet hebt een / boot / efi. Er bestaan vreemdere configuraties, maar dat dekt de meeste ervan.
  • Uw instructies als EFI niet is aangekoppeld, zijn verkeerd. Zie mijn bewerking. mount | grep /dev/sda6 werkt niet ' t. Als EFI niet is aangekoppeld, moet je de partities op type controleren.
  • @giusti Waarschijnlijk is het beter om gewoon geen specifieke apparaatnaamreferenties te maken.

Antwoord

De Grub-reddingsmodus kan worden behandeld als

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

Nadat u zich hebt aangemeld, voert u sudo update-grub && sudo grub-install /dev/sda.

Reacties

  • Moet de grub-install niet de voor de update-grub?
  • toen ik de eerste opdracht typte, kreeg ik " bash: syntaxisfout bijna onverwacht token `(' "
  • @ Another.Chemist: de gegeven commandos zouden moeten gaan naar de GRUB interactieve console, denk ik. Dat zou zijn voordat de kernel opstart. Je fout lijkt erop dat je de commandos in Bash hebt getypt.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *