ブート パーティションが削除された場合、Linux を起動するにはどうすればよいでしょうか?

ブート パーティションが削除された場合、Linux を起動するにはどうすればよいでしょうか?

当初、ドライブ内の OS は Windows 7 のみでした。

その後、Linux Mint をインストールしました。誤って、sda1パーティション (Windows 7 ブートローダーが保存されている場所) をマウント ポイントである ext4 としてフォーマットしてしまい/bootました。その結果、Win7 を起動できなくなりました。

(ちなみにMintはsda5パーティションにインストールされていました)

その後、Win7 ブートローダーを正常に修復しましたが、GRUB(2?) ローダーが削除され、Mint を起動できなくなりました。

実行してみました:

sudo mount /dev/sda5 /mnt
sudo grub-install --root-directory=/mnt/ /dev/sda

結果のメッセージは次のとおりです:

grub-probe: error: cannot find a device for /boot (is /dev mounted?).
Installation finished. No error reported.

再起動後、grub>プロンプトは表示されますが、OS オプションはまったく表示されません。

( にはパーティションが割り当てられていないことに注意してください/boot)

答え1

を使用せずgrub-install、grub 対話型シェルに入り、これらのコマンドを使用してブートローダを正しくインストールしてください。正しいパーティション番号を使用してください。

root (hd0,0) (where is /boot with /boot/grub/grub.conf and grub stages files ?)
setup (hd0) (where do you want to install the bootloader?)
exit

grub-installおそらく が必要です/etc/mtab。 を使用する場合はgrub-install、まず にコピーし/etc/mtab(/mnt/etc/mtab古いファイルを上書きしても問題ありません。起動するたびに更新されます)、 に chroot して/mntgrub-installchroot 内で MINT スクリプトを実行します。

答え2

まず、grub があることを確認します (Mint を使用している場合apt-get install grub)。次に、Spidey が投稿したものを実行します。エラー 15 が発生した場合は、シェルを終了して update-grub を実行します。menu.lst を作成するかどうかを尋ねられるので、はいと答えます。その後、Spidey が投稿したものを試せば、動作するはずです。

関連情報