EFIディレクトリが見つかりません:grub-installの問題


14

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.

私のファイルシステムにはsda4、EFIシステム、Linuxスワップ、およびLinuxファイルシステムのそれぞれ、、sda5およびが含まれていsda6ます。

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

回答:


11

デフォルトで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

ここで、[efi dir]は/ boot / efiまたは/ mntであり、[efi device]はEFIシステムパーティションを持つデバイスです。わからない場合は、コマンドを使用してくださいlsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"


2
おかげで、ではgrub-install --efi-directory=/boot/EFI私はにchrootとして/mnt
クリシュナカント

愚かなQかもしれませんが、私はEFIディレクトリを持っていません。どこで入手できますか?ファイルが含まれているはずですが、どのコマンドで再作成できますか?
レナート・ローランド

@LennartRolland UEFI互換システムがある場合、システムドライブはGPTパーティションになり、「UEFIシステムパーティション」が含まれます。通常は最初のパーティションで、タイプはEF00になります。多くのディストリビューションは、デフォルトで/ boot / efiとしてこれをマウントします。特に、GRUBブートローダーはファイルを更新できます。そうでない場合は、自分でマウントしてfstabに追加する必要があります。UEFIシステムもありますが、これはレガシーモードを使用しているため、パーティションはmsdosタイプになり、/ boot / efiはありません。奇妙な構成は存在しますが、それらの大部分をカバーしています。
jdwolf

EFIがマウントされていない場合の指示は間違っています。私の編集を参照してください。mount | grep /dev/sda6動作しません。EFIがマウントされていない場合は、パーティションのタイプを確認する必要があります。
Giusti

@giustiおそらく、特定のデバイス名の参照を作成しない方が良いでしょう。
jdwolf

1

グラブレスキューモードは次のように処理できます。

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

ログインしたら、を入力しsudo update-grub && sudo grub-install /dev/sdaます。


grub-install前に行われるべきではないのupdate-grubですか?
危険89
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.