Grub の問題 - コマンド プロンプト

Grub の問題 - コマンド プロンプト

更新: 助けてくれた皆さんに感謝します。あきらめて再インストールします。世界が終わるわけではありません。ファイルは失われません :-) 今回は grub をバックアップします。改めて感謝します。この件に関するコミュニティの支援に本当に感謝しています。

新しい pae カーネルがリリースされたときは順調に進んでいたのですが、サウンドがおかしくなるバグが発生しました。

そこで、スタートアップ マネージャーを使用して古い PAE カーネルを選択し、再起動しました。しかし、スタートアップ マネージャーが grub を壊してしまったようです。

再起動すると、直接 memtest が開始され、それで終わりです。

多くの場所で見つけたライブ ディスク メソッドを使用して grub を再インストールしようとしました。何かが変わったため、プロンプトと次のメッセージが表示されます: 「GNU grub バージョン 1.99 ubuntu。最小限の BASH のような編集がサポートされています。完全なリストについては help と入力してください。」

しかし、その後、ライブ CD の修正を再度試したところ、memtest に戻ってしまいました...

システムを再び稼働させるにはどうすればよいですか?

更新: 念のため、起動すると、左上に点滅するカーソルが表示され、画面の中央に「ON」という文字が表示されます。その後、1、2 分ほど経つと、メモリテストが開始されます。

答え1

これについては別の回答をします。ライブ CD と同じ原理ですが、おそらくあなたの回答とは少し異なります。

LiveCD を入力し、ドライブをマウントして、マウントポイントをメモします。次に、ターミナルを開きます。

sudo mount --bind /dev /[mountpoint]/dev
sudo chroot [mountpoint]
mount -t sysfs none /sys
mount -t proc none /proc
mount -t devpts none /dev/pts
update-grub
umount /sys
umount /proc
umount /dev/pts
exit
umount /[mountpoint]/dev
reboot

動作しない場合はupdate-grub(動作するはずですが)、grub-install /dev/sdaX必ず動作します。インストールされているパーティションもご存知だと思います。そうでない場合は、LiveCD の Gparted をチェックして確認してください。

答え2

insmod gzio
insmod part_msdos
insmod ext2
search --no-floppy --file --set=root /boot/grub/grub.cfg
linux   /boot/vmlinuz-3.0.0-16-generic
initrd  /boot/initrd.img-3.0.0-16-generic`

ただし、カーネルのバージョンを知っておく必要があります

答え3

すでにこのようなことを試されたようですが、具体的に何を試されたのかはわかりませんので、とりあえず投稿します。X と Y に注意して、正しく入力してください。私はこの方法を何度も使用しており、常にうまくいきましたが、すでに試されたことであればご容赦ください。

これは、壊れたシステムの GRUB 2 ファイルを復元する迅速かつ簡単な方法です。コマンドを入力するにはターミナルを使用し、インストールされたシステムのデバイス名/パーティション (sda1、sdb5 など) を知っておく必要があります。問題のあるパーティションが LiveCD から検索され、マウントされます。その後、ファイルは LiveCD ライブラリから適切な場所と MBR にコピーされます。たとえば、Windows が sda1 にあり、Ubuntu が sda5 にあり、Windows が MBR を上書きした場合、grub インストールのターゲットは /dev/sda5 になり、sda のブート セクターの MBR が grub 用に書き換えられます。

この操作により、MBR に書き込みが行われ、モジュールと core.img が /boot/grub に復元されます。grub.cfg が置き換えられたり復元されたり、破損したファイルが修正されることはありません。

LiveCD デスクトップを起動します。

ターミナルウィンドウを開きます。

Ubuntu がインストールされているパーティションを決定します。fdisk オプション「-l」は小文字の「L」です。

sudo fdisk -l

パーティションがわからない場合は、適切なサイズまたはフォーマットのものを探してください。

sudo blkid を実行すると、特にパーティションにラベルが付いている場合は、適切なパーティションを見つけるのに役立つ詳細情報が提供される場合があります。デバイス/ドライブは sdX で指定され、X はデバイスの指定です。sda は最初のデバイス、sdb は 2 番目のデバイスなどです。ほとんどのユーザーの場合、MBR はシステムの最初のドライブである sda にインストールされます。パーティションは Y で指定されます。最初のパーティションは 1、2 番目のパーティションは 2 です。デバイスとパーティションのカウント方法が異なることに注意してください。Ubuntu インストールを含むパーティションをマウントします。

sudo マウント /dev/sdXY /mnt

例:

sudo マウント /dev/sda1 /mnt

注: ユーザーが別の /boot パーティションを持っている場合、これを /mnt/boot にマウントする必要があります。 注: ユーザーが別の /home パーティションを持っている場合、これを /mnt/home にマウントする必要があります。 暗号化されたホーム パーティションは機能するはずです。

下記の説明に従って grub-install コマンドを実行します。これにより、マウントされたパーティション上の GRUB 2 ファイルが適切な場所と指定されたデバイスの MBR に再インストールされます。

sudo grub-install --boot-directory=/mnt/boot /dev/sdX

例:

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

リブート

GRUB 2メニューを更新するには

sudo アップデート-grub

関連情報