
wheezy から Jessie にアップデートしました。再起動するまではすべて順調でした。再起動すると、grub rescue (error: file '/boot/grub/i386-pc/normal.mod') not found というメッセージが表示されました。ls を実行すると (hd0) (hd0,msdos1) と表示されます。ls (hd0,msdos1) は空白行です。何も表示されません。ライブ CD から起動し、ブート修復を実行しようとしましたが、「grub-pc purge cancellation」で失敗しました。ドライブをマウントしました。すべて揃っているようです。chroot でログインし、grub を消去して、grub を再インストールしました。変化なし。まったく同じ問題があります。grub を完全に消去しましたが、再インストールはしませんでした。それでも変化なし。途方に暮れています。この問題を解決する方法も、トラブルシューティングを続ける方法もわかりません。どなたか助けていただければ幸いです。(これは非常に特殊なことだとわかっていますが、あらゆる場所を検索しました。)
grub-install /dev/sda
chroot からの要求に応じて次の結果が生成されます:
Installing for i386-pc platform.
Installation finished. No error reported.
update-grub
結果:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.16.0-4-686-pae
Found initrd image: /boot/initrd.img-3.16.0-4-686-pae
Found linux image: /boot/vmlinuz-3.16.0-4-586
Found initrd image: /boot/initrd.img-3.16.0-4-586
Found linux image: /boot/vmlinuz-3.2.0-4-686-pae
Found initrd image: /boot/initrd.img-3.2.0-4-686-pae
grub-probe: error: cannot find a GRUB drive for /dev/sdb1. Check your device.map.
done
/dev/sdb
私のライブCDのようです。
編集:
私は super grub livecd を使用しましたが、Debian を起動できるようになりました。オペレーティング システムから、livecd を削除し、 と を実行してみましたgrub-install /dev/sda
。update-grub
再起動すると、同じ grub rescue 画面が表示されます。
答え1
複雑にならずに PC に grub を再インストールする簡単で効果的な方法は、Boot-Repair-Disk ユーティリティを使用することです (ダウンロード ページはこちらです:https://sourceforge.net/projects/boot-repair-cd/files/latest/download)、これは、grub ブートローダーを再インストールするためのツールを備えたライブ システムです。
手順: ダウンロードして、unetbootin または etcher を使用して USB に書き込み、PC で起動します。システムが起動すると、2 つのオプションがあるウィンドウが表示されます。「推奨修復」というオプションを選択し、インターネットに接続します (システム (この場合は Debian) に対応する grub パッケージがダウンロードされます)。プログラムにパーティションを分析させて、手順に従うだけで、5 分以内に問題を解決できます。完了したら、再起動して、Debian のターミナルで「sudo grub-update」を実行します。これで、Grub が完全にインストールされ、再度構成されます。
役に立つもう 1 つのツールは Super Grub2 Rescue です (リンクはこちら:https://www.supergrubdisk.org/) は 20MB 未満なので、grub をインストールせずに Debian を直接起動できるようになります。
答え2
実行してみてください:echo "(hd0) /dev/sda" > /boot/grub/device.map