拡張パーティションに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から始めてください。
- GRUBブートローダが使用している欠落または破損したブロックデバイスを識別するために使用される
lsblk
カーネル名記述子(つまり、カーネル名記述子)。/dev/xxyN
次のタスクはすべてrootで完了する必要があります(su
または使用sudo
)。
インストールされているLinux用の一時マウントポイントを作成します。
mkdir -p /mnt/linux
(このオプションは、親ディレクトリがまだ存在しない場合は
-p
親ディレクトリを作成します)/mnt
/dev/xxyN
前のコマンドを使用してくださいlsblk
。mount /dev/xxyN /mnt/linux
次のコマンドは、別々のパーティションがある場合にのみ必要です
/boot
。/dev/xxyN
ここでは、/boot
パーティションのカーネル名記述子を表します。mount /dev/xxyN /mnt/linux/boot
それから:
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
)GRUBに対して他の変更/カスタマイズを実行するには、ファイルを
/etc/default/grub
編集して保存する必要があります。grub-mkconfig -o /boot/grub/grub.cfg
再起動して確認してください。
注:GRUB2ブートローダがLVM LVルートおよび/または暗号化されたルートボリュームを持つLinuxシステムにある場合、このプロセスにはいくつかの追加手順があります。ここにメッセージを送ってください。私はこれらの追加のガイドラインを作成し、カーネルdm-cryptモジュールを使用して、暗号化されたルートボリュームを含むSSDのLVM LVに複数回正常に適用しました。
答え2
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
答え3
私の答えはforgrub2-install
とgrub2-mkconfig
コマンドです。
command not found
私のPhoton OS Linuxシステムでもエラーが発生します。
以下に設定ファイルがあります/boot/grub2
。そのため、grub2パッケージがインストールされていると思いましたが、何らかの理由でgrub2-*コマンドが機能しませんでした。
しかし、grub2ソフトウェアパッケージがインストールされていないことがわかりました。次のコマンドを実行すると問題が解決しました。
yum install grub2 -y
grub-install
コマンドのgrub
場合grub2
。