web-dev-qa-db-ja.com

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
8
sonubreeze

ユーザー_@kirill-a_から提供された回答に追加して、もう少し具体化するには:

Windows 8を再インストールして以前のGRUBをクリアした後、Windows 8およびDebian 8デュアルブートマシンでGRUBブートローダーを復元するために最近行ったのはこれです。 =ディスクの先頭からのブートローダーエントリ。

REPAIR GRUB2:LinuxでのUSB/CD 'chroot'メソッドのライブ:

これらの手順は、Debianベースのディストリビューションの暗号化されていない非LVMディスクに一般的に適用されます。RHEL/ SUSEベースのディストリビューション、およびおそらくArchベースのディストリビューションで使用されるディレクトリ名とユーティリティに小さな変更が必要です。

選択したディストリビューションの起動可能なLive USBまたはCDから始めます。

  1. lsblkを使用して、欠落または破損しているGRUBブートローダーのあるブロックデバイスのカーネル名記述子(つまり_/dev/xxyN_))を特定します。

以下のすべてのアクションはrootとして実行されます(suまたはSudoを使用)。

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

    _mkdir -p /mnt/linux
    _

    (_-p_オプションは、親ディレクトリが存在しない場合は_/mnt_を作成します)

  2. 以前のlsblkコマンドの_/dev/xxyN_を使用:

    _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に数回正常に適用しました。

4
nomadrc

インストールしたシステムにchrootして、そこからgrubを再インストールする必要があります:

mount /dev/sda(number of partition with kali) /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt bash
grub-install --boot-directory=/mnt/boot /dev/sda
update-grub
exit
reboot 
2
kirill-a