vmlinuz-*とinitrd.img-*をどのパーティションに配置する必要がありますか?

vmlinuz-*とinitrd.img-*をどのパーティションに配置する必要がありますか?

AndroidとUbuntuのデュアルブートを設定しようとしています。ブートローダはGRUBです。 GRUBはAndroidパーティションにインストールされます。

GRUBが起動すると、Androidメニューが動作し、Androidが正しく実行されます。

起動するためにUbuntuを選択するとエラーが発生します。Error 15: File not found.

スワップを指す別の値にroot (hd0,2)変更「パーティションをマウントできません」というエラーが発生します。したがって、私はこのrootパラメータが正しいと信じる理由があります。

私の質問は次のとおりです。

Ubuntuvmlinuz-* initrd.img-*ファイルはUbuntuパーティションパスにあります/boot/。 GrubはAndroidパーティションにあるので、このファイルもAndroidパーティションに入れる必要がありますか?

したがって、私が知っている限り、現在マウントされているパーティションがないため、GRUBが実際にイメージファイルにどのようにアクセスするかを理解できません。

ありがとうございます。

これは私のものですmenu.lst

default=0
timeout=60
splashimage=/grub/android-x86.xpm.gz

title Android-x86 4.4-r2
    kernel /android-4.4-r2/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/android-4.4-r2
    initrd /android-4.4-r2/initrd.img

title       Ubuntu 14.04 Hd0,2
root (hd0,2)
kernel      /boot/vmlinuz-3.16.0-30-generic root=UUID=69c67260-525d-4f53-b924-e6489dc22942 ro quiet splash 
initrd      /boot/initrd.img-3.16.0-30-generic

答え1

Ubuntuの/ bootパーティションにインストールするのが最も簡単です。 AndroidパーティションにインストールしてもGRUBは動作し、Ubuntuを起動しますが、一部のUbuntuスクリプトは失われます。別の解決策は、カーネルとinitrdをAndroidの/bootに保ち、Androidの/bootをUbuntuの/bootにシンボリックリンクすることです。どちらも有効です。

通常、カーネルとinitrdは、GRUBにアクセスできる任意のパーティションに配置できます。 GRUBはこれをメモリに読み込み、root=UUID=xxxxxxxxxコマンドラインをカーネルに渡し、ルートディレクトリがどこにあるかを知らせると、カーネルはそこからそのディレクトリを取得します。 GRUBはほとんどのファイルシステムを読み取ることができますが、一部はモジュールプリロードの形式で調整が必要な場合があります。最初に登場するのは、LVMまたはフルディスク暗号化(LUKS)です。アーチスウィキこれはGRUB構成(他のほとんどのGNU / Linuxと同様)の非常に便利な記事です。

編集する:

編集内容を確認してください。 GRUB2ではなくGRUB Legacyを実行しているようです。この場合、Wikiページは次のようになります。これ

編集2:2番目の提案ソリューションが実際にカーネル/ initrdを保存する場所を明確にしました。

関連情報