grub-install:コマンドが見つかりません

grub-install:コマンドが見つかりません

拡張パーティションにWindows 8.1とKali Linuxをインストールしました。何らかの理由でWindowsがインストールされ、再インストールされたパーティションをフォーマットしました。これでWindowsのみ起動し、grubは表示されません。

ライブUSBを使用しており、grubを再インストールしようとしています。

grub-install --boot-directory=/mnt/boot /dev/sda

エラーが発生しました。

grub-install :command not found

ベストアンサー1

ユーザーが提供した回答に追加し@kirill-aてさらに具体化します。

以下は、Windows 8の再インストールのためにディスクの先頭から古いGRUBブートローダエントリが消去された後に、Windows 8およびDebian 8デュアルブートシステムでGRUBブートローダを復元するために最近行われた作業です。

GRUB2 修正: Linux でのライブ USB/CD 'chroot' 方法:

これらのガイドラインは通常、Debianベースのディストリビューションの暗号化されていないLVM以外のディスクに適用され、RHEL / SUSEベースおよびArchベースのディストリビューションで使用されるディレクトリ名とユーティリティがわずかに変更されます。

ご希望のディストリビューションの起動可能なLive USBまたはCDから始めてください。

  1. GRUBブートローダが使用している欠落または破損したブロックデバイスを識別するために使用されるlsblkカーネル名記述子(つまり、カーネル名記述子)。/dev/xxyN

次のタスクはすべてrootで完了する必要があります(suまたは使用sudo)。

  1. インストールされているLinux用の一時マウントポイントを作成します。

    mkdir -p /mnt/linux
    

    (このオプションは、親ディレクトリがまだ存在しない場合は-p親ディレクトリを作成します)/mnt

  2. /dev/xxyN前のコマンドを使用してくださいlsblk

    mount /dev/xxyN /mnt/linux
    
  3. 次のコマンドは、別々のパーティションがある場合にのみ必要です/boot/dev/xxyNここでは、/bootパーティションのカーネル名記述子を表します。

    mount /dev/xxyN /mnt/linux/boot
    
  4. それから:

    mount -t proc none /mnt/linux/proc
    mount -t sysfs sys /mnt/linux/sys
    mount -o bind /dev /mnt/linux/dev
    mount -t devpts pts /mnt/linux/dev/pts
    chroot /mnt/linux /bin/bash
    grep -v rootfs /proc/mounts > /etc/mtab
    grub-install /dev/xxy
    

    (ここでdev/xxy= GRUBブートローダがインストールされるデバイスの名前と番号、たとえば/dev/sdaルートパーティション番号を除く/dev/sda1

  5. GRUBに対して他の変更/カスタマイズを実行するには、ファイルを/etc/default/grub編集して保存する必要があります。

    grub-mkconfig -o /boot/grub/grub.cfg
    
  6. 再起動して確認してください。

注:GRUB2ブートローダがLVM LVルートおよび/または暗号化されたルートボ​​リュームを持つLinuxシステムにある場合、このプロセスにはいくつかの追加手順があります。ここにメッセージを送ってください。私はこれらの追加のガイドラインを作成し、カーネルdm-cryptモジュールを使用して、暗号化されたルートボ​​リュームを含むSSDのLVM LVに複数回正常に適用しました。

おすすめ記事