LinuxでGRUBをレスキューしようとしていました。このチュートリアルに従ってOSにログインできました:

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

問題を解決するには、GRUBをアップグレードする必要があります。ただし、grub-installを実行すると、エラーが発生します:

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

ファイルシステムにsda4sda5、およびsda6です。

mountやその他のコマンドの使用経験はあまりありません。

回答

grub-install デフォルトでは、EFIシステムは/ boot / efiとしてマウントされていると想定しています

ディストリビューションによって異なりますEFIシステムがマウントされており、一部のディストリビューションでは起動後にマウントされない場合。

最初に、/ boot / efiがマウントされているかどうかを確認します

mount | grep /boot/efi 

それが機能しない場合は、最初に次のことを試して、他の場所にマウントされているかどうかを確認してください。

mount | grep /dev/[efi device] 

どちらも機能しない場合:

mount /dev/[efi device] /mnt 

実行:

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

ここで、[efidir]は/ boot / efのいずれかですiまたは/ mntおよび[efidevice]は、EFIシステムパーティションを持つデバイスです。わからない場合は、コマンドlsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

コメント

  • ありがとうございます、grub-install --efi-directory=/boot/EFI /mntにchrootします。
  • ばかげたQかもしれませんが、' EFIディレクトリがありません。どこで入手できますか?ファイルが含まれているはずですが、どのコマンドで再作成できますか?
  • @LennartRolland UEFI互換システムを使用している場合、システムドライブはGPTパーティションであり、" UEFIシステムパーティションが含まれています。"通常は最初のパーティションで、タイプはEF00です。多くのディストリビューションがマウントされます。これはデフォルトで/ boot / efiとして、とりわけGRUBブートローダーがファイルを更新できるようにします。そうでない場合は、'自分でマウントして、fstabに追加する必要があります。 UEFIシステムもあるかもしれませんが、それはレガシーモードを使用しています。つまり、パーティションはmsdosタイプになり、' / boot / efi。奇妙な構成が存在しますが、それはそれらの大部分をカバーしています。
  • EFIがマウントされていない場合の指示は間違っています。私の編集を参照してください。 mount | grep /dev/sda6は機能しません'。 EFIがマウントされていない場合は、パーティションのタイプを確認する必要があります。
  • @giusti特定のデバイス名を参照しない方がよいでしょう。

回答

グラブレスキューモードは次のように扱うことができます

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

ログインしたら、

コメント

  • grub-installを実行しないでくださいupdate-grub
  • の前に最初のコマンドを入力すると、" bash:構文エラーが発生しました予期しないトークンの近く `(' "
  • @ Another.Chemist:指定されたコマンドは実行する必要がありますGRUBインタラクティブコンソールでは、カーネルが起動する前だと思います。エラーは、コマンドをBashに入力したようです。