そこで、Ubuntuを最新のカーネルにアップグレードしました。しかし、アップグレード後、Ubuntuを再起動した後、取得できるのはGRUBだけです。 GRUBしか持っていないのにUbuntuを再度ロードするにはどうすればよいですか?
wubiを使用してUbuntuをインストールしました。
助けてくれてありがとう
承認された回答:
Grubの使用
grub
に到達した場合 プロンプトが表示され、システムとカーネルがまだパーティションにインストールされている場合は、システムを「手動で」起動できます。つまり、動作しているgrub.cfgを使用しなくても起動できます。これは、ライブメディアからのgrub実行でも機能します。この目的のために、grubには基本的なコマンドineが含まれており、これを使用してパーティションを検索し、システムを起動できます。
find /vmlinuz
これにより、(hd0,0)のようなパーティションが作成されます。 ls
を使用することもできます パーティションを調べて、使用可能なカーネルを確認するコマンド。 search
コマンドも同様に機能します。 タブ補完を使用することもできます 。
set root=(hd0,1)
もちろん、パーティション識別子をfind
に置き換えます 見せてくれました。
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
カーネルイメージとinitrdイメージを選択します。これらのペアは常に一緒に使用する必要があります。幸い、Ubuntuはルートディレクトリに、動作中のイメージとinitrdを指すシンボリックリンクのペアを作成します。 /dev/sda1
を置き換える必要があることに注意してください Linuxカーネルで使用されるスキームのパーティションの表現を使用します。大まかに言って、(hd0,1)
/dev/sda1
に対応します; (hd0,2) corresponds to
に対応します / dev / sda2 ;
(hd1,1)は/dev/sdb1
に対応します 。
boot
これにより、選択したパーティションから選択したカーネルが起動します。システムを起動できたら、それを使用してgrubを復元できます。ここ。
Wubiでグラブ
上記は、Ubuntuが定期的に、つまり独自の個別のパーティションにインストールされていることを前提としています。あなたが書いているとき、あなたはWubiを使用しました。つまり、それを大きなファイルにインストールしたということです。 「Lupin」と呼ばれる手法を使用して、Windows(NTFS)パーティションで。プロセスはもっと複雑ですが、これが原則として機能しなかった理由はわかりません。 grub.cfg
の内容は次のとおりです Wubiのインストールに基づく:
insmod part_msdos
insmod ntfs
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set be300f9c300f5ab3
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz root=/dev/sda1 loop=/ubuntu/disks/root.disk
initrd /boot/initrd.img
これを特定のケースに適合させる必要があります。このスニペットでは、10.10のインストールから取得したsearch
コマンドは、おそらく知らないファイルシステムのUUIDまたは識別子を使用してルートパーティションを検索します。 --file --set /ubuntu/disks/root.disk
を使用できます 代わりに(これが公式ドキュメントです)。このgrub構成は、loop0
と呼ばれる仮想ディスク(「ループバックデバイス」)を作成します。 これは、「パーティションファイル」/ubuntu/disks/root.disk
の内容を表します。 NTFSパーティション上。少し試行錯誤すれば、これを機能させることができるはずです。