web-dev-qa-db-ja.com

破壊されたGRUBを更新する

私はノートブックにwubi経由でUbuntu 10.04(Lucid Lynx)をインストールしています。しかし、最近のubuntuの更新以降、私のシステムは機能しなくなりました。起動すると、grub rescue>。インターネットを読んだ後、grubを再インストールする必要があると判断し(wubiでUbuntuをインストールしたことを忘れていました。スタンドアロンであると思っていました。)、 このチュートリアル を使用しました。今、私はコマンドラインgrubを持っていると何をすべきかについて混乱しています。

私のディレクトリ構造は次のとおりです。

/dev/sda5 (NTFS)  
    /boot
        /grub
            <grubfiles>
    /ubuntu
        /disks
            /boot
                /grub
                    <empty>
        /install
        /winboot
        ...
    ...

/ubuntu/disks/boot/grub/は空ですか?ブートローダーをWindowsとLinuxの間で選択できるように戻したいです。どんな助けも感謝します:)

Update私の問題は、スタンドアロンのUbuntu 10.10をインストールすることで解決しました。ブートローダーが正しく戻ったので、Ubuntu 10.04に入るために3つのブートローダー画面を表示する必要があります^^

4
Lucasmus

最初に、この質問に答えて、Lucasmusの状況に合わせて、彼が実際にすでに起動する機能を復元でき、MBRで(非wubi Ubuntuインストール)から動作するgrubを取得しました。ここに来るほとんどの人はおそらくそのような状況ではありませんが、起動時にgrubレスキューシェルを取得し、WindowsまたはWubiインストールをまったく起動できないため、通常の場合の手順を作り直しました。 Lucasmusの質問に対する答えは、基本的には現在の手順2〜5を以下に従うことです。

これは残念ながらWubiの既知のバグです https://bugs.launchpad.net/bugs/610898 。私は将来のユーザーがWubiにドライブを完全に起動不能にさせないようにパッチを提出しましたが、それまたは別の修正が受け入れられるまで、これはWindowsとUbuntuを起動してこれが再発しないようにするために必要なことです(Wubiで) :

1:Ubuntu LiveCDから起動し、Sudo software-properties-gtk -e universe && Sudo apt-get update && Sudo apt-get install mbr && Sudo install-mbr /dev/sdaを実行します。

複数のハードドライブがある場合、ドライブウィンドウがオンになっている最後のコマンドで/dev/sdaを変更する必要があります。しかし、それは常にドライブであり、パーティションではありません。したがって、/dev/sdbは適切かもしれませんが、never/dev/sdb1(後者を行うとWindowのPBRが上書きされ、windowsへの再起動がさらに難しくなります)。

これで、以前のようにWindowsまたはWubiインストールを起動できるはずです。 Wubiの使用を継続する場合は、次の手順に従って、再度起動できない状況に陥らないようにしてください。

2:Wubiインストールを起動し、Sudo dpkg-reconfigure grub-pcを実行します。これにより、質問のあるダイアログが表示されます。

3:最初の質問The following Linux command line was extracted from /etc/default/grub or the 'kopt' parameter in GRUB Legacy's menu.lst. Please verify that it is correct, and modify it if necessary.の場合、フィールドをデフォルト(おそらく空白)のままにし、Enterキーを押して次の質問に進みます。

4:2番目の質問The following string will be used as Linux parameters for the default menu entry but not for the recovery mode.については、デフォルト(おそらく「静かなスプラッシュ」)のままにし、Enterキーを押して続行します

5:この質問...GRUB install devices:は重要な質問です。 /dev/loop0以外はすべてチェックを外してください。スペースバーでエントリをチェック/チェック解除し、矢印キーでエントリを変更できます。

このリストから/ dev/sdaのチェックを外す前にEnterキーを押すと、コンピューターは再び起動できなくなります。

これで、コンピューターが起動不能になることを心配することなく、Wubiインストールを安全に更新/アップグレードできます。

4
Jordan Uggla

あなたのコメントが示唆するように、/ dev/sda5に完全な/ bootディレクトリがある場合、次のようなものを追加します。

menuentry 'Ubuntu Lucid 10.04' --class ubuntu --class os {
    recordfail
    set root='(hd0,5)'
    linux   /boot/vmlinuz-<version> root=/dev/sda5 ro
    initrd  /boot/initrd.img-<version>
}

ここで、<version>は、sda5/boot上の実際のファイル名で、10.10システムの/etc/grub.d/40_customに置き換えられます。次に、実行中の10.10システム内でupdate-grubを実行し、再起動時にgrubメニューに直接起動するための10.04オプションがあるはずです。

警告:

  1. update-grubは/boot/grub/grub.cfgを書き換え、再起動する前にその正確性をチェックします。
  2. I always/dev/sda5がgrub.cfgの(hd0,5)または(hd0,4)に対応していることを忘れてしまうので、再度確認するか、10.10にブートして修正する準備をしてください。

幸運を。

0
msw