grub-install: エラー: efi ディレクトリが見つかりません

grub-install: エラー: efi ディレクトリが見つかりません

最近デュアルブートkali-linux-2016.2-amd64Windows 10 を使用しています。しばらくして Windows 10 を更新したため、Windows がブート メニューから GRUB を削除した可能性があります。ブート メニューに kali-linux が表示されなくなったため、ブート メニューから kali-linux を起動できなくなりました。

そこで、USB から Live-kali(Persistent) を起動して grub を再インストールすることにしました。ターミナルに次のコマンドを入力しました。

fdisk -l
sudo mount /dev/sda* /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sda

CTRL+D

sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt

7 番目のコマンドラインの後に次のエラーが発生しました: ここに画像の説明を入力してください

答え1

基本的なコマンドがわからないため、お手伝いするのは非常に困難ですが、やってみますね。

  • fdisk -lイメージと同様に、現在のパーティションをリストします。
  • あなたのイメージを見ると、EFI システムとして /dev/sda1、Linux ファイルシステムとして /dev/sda10、Linux スワップとして /dev/sda11 があることがわかります。この情報を保存してください。
  • ライブ CD で起動する場合は、chrootシステムにアクセスするために、つまり、現在実行中のプロセスとその子プロセスの見かけ上のルート ディレクトリを変更する操作を実行する必要があります。 では、始めましょう:

  • システムを /mnt にマウントします。覚えていますか? Linux ファイルシステムですか? はい、/dev/sda10 です。それでは、コマンドを実行します:

             sudo mount /dev/sda10 /mnt

    使用するsudoには管理者権限が必要です。

  • したがって、次のコマンドを使用して、プログラムの動作に必要な一時ファイルシステムをマウントします。

             sudo mount --bind /dev /mnt/dev
             sudo mount --bind /dev/pts /mnt/dev/pts
             sudo mount --bind /proc /mnt/proc
             sudo mount --bind /sys /mnt/sys

  • ブートを変更するので、/boot パーティションも必要です。一部のシステムでは、/boot ディレクトリとシステム ルート (/) に同じパーティションを使用します。自分のケースがわからない場合は、この時点で、/mnt/boot/ フォルダーにファイルがあるかどうかを確認してください (カーネル イメージ、構成などが見つかります)。

       -/mnt/boot フォルダが空の場合は、/boot パーティションをマウントする必要があります。ケースで使用できる可能性のある他のパーティションは /dev/sda1 のみなので、これを使用します。/mnt/boot にマウントします。

       -ファイルが見つかった場合、/dev/sda1 の別のパーティションは実際には EFI ファイルシステムであるはずであり、/mnt/boot/EFI にマウントされている必要があります。

  • すべてマウントしたら、次のコマンドを使用してルート ディレクトリを変更します。

             sudo chroot /mnt /bin/bash

  • これで、chroot 内で grub をインストールできます。

    sudo grub-install /dev/sda

関連情報