web-dev-qa-db-ja.com

Ubuntuパーティションを起動できません

SUSE11.2を実行しています。 Ubuntuは拡張パーティション上にあります/dev/sda5、しかし私が起動すると私は得る

Error 19: Linux kernel must be loaded before initrd

これはmenu.lstのUbuntuエントリです。

#Don’t change this comment – YaST2 identifier: Original name: none#
title Ubuntu 10.04
root (hd0,4)
kernel /vmlinuz root=/dev/sda5 ro quiet splash
initrd /initrd.img
1
Vaolter

Vmlinuzファイルが見つからない可能性があります。これは、sda5の/ bootディレクトリにあるためである可能性があります。したがって、行を次のように変更する必要があります。

title Ubuntu 10.04 root (hd0,4) kernel /boot/vmlinuz root=/dev/sda5 ro quiet splash initrd /initrd.img

またはそれがどこか別の場所にある場合、その場所はどこにでも。

(initrd.imgファイルでも同じことをする必要があるかもしれません)

また、ubuntuのvmlinuzファイルとinitrd.imgファイルが正確にこの名前であるかどうかを確認してください。通常、それらにはカーネルバージョンがあり、名前を入力します(つまり、vmlinuz-2.6.35-22-generic)

1
txwikinger

次のことを試すことができます:

mount /dev/sda5 /mnt
cd /mnt
ls -l boot vmlinuz initrd.img

シンボリックリンクが指す場所が実際に存在し、探している正しいファイルであることを確認してください。

たとえば、私のボックスでは、vmlinuz-> boot /vmlinuz-2.6.32-25-genericです。
txwikingerの回答に記載されているように、適切なファイルを指すようにgrub構成を変更できます。

これをデバッグするもう1つの簡単な方法は、grubでプロンプトを取得することです(grub1でCを押すと、grub2についてはわかりません)。次に、タブ補完を使用して使用可能なファイルを一覧表示し、オンザフライでテストできます。

1
Thomas