だから、Ubuntuを最新のカーネルにアップグレードしました。しかし、アップグレード後、Ubuntuを再起動した後は、GRUBしか取得できません。GRUBだけを持っているときにUbuntuを再度読み込むにはどうすればよいですか?
wubiを使用してUbuntuをインストールしました。
助けてくれてありがとう
だから、Ubuntuを最新のカーネルにアップグレードしました。しかし、アップグレード後、Ubuntuを再起動した後は、GRUBしか取得できません。GRUBだけを持っているときにUbuntuを再度読み込むにはどうすればよいですか?
wubiを使用してUbuntuをインストールしました。
助けてくれてありがとう
回答:
あなたが取得する場合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を復元できます。詳細については、こちらをご覧ください。
上記は、Ubuntuが定期的に、つまり独自のパーティションにインストールされていることを前提としています。書くとき、Wubiを使用しました。つまり、「Lupin」と呼ばれる手法を使用して、Windows(NTFS)パーティション上の大きなファイルにWubiをインストールしました。プロセスはより複雑ですが、これが原理的に機能しなかった理由はありません。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構成は、NTFSパーティションにloop0
「パーティションファイル」の内容を表す仮想ディスク(「ループバックデバイス」)を作成/ubuntu/disks/root.disk
します。少しの試行錯誤で、この作業を行えるようになるはずです。
error: unknown command find'.
linux
とinitrd
RESPと。linuxefi
およびinitrdefi
。