grub(USBマルチブート)を使ってAndroid x86 isoを起動するには?

grub(USBマルチブート)を使ってAndroid x86 isoを起動するには?

すでに起動しているUSBマルチブートにAndroid x86 isoを追加したいのですが、インストールしたくありません。

  • Ubuntu
  • ヒレンのBootCD
  • 構造CD
  • ...

適切なアプローチは何ですか?

答え1

最初から始めましょう:

  1. USBにgrub2をインストールする
  2. Android x86 IsoコンテンツをUSBのどこかに抽出します。
  3. 次の grub.cfg エントリを生成します。

USB_ROOTにAndroidファイルを抽出したようです。/boot/iso/android

menuentry "Android-x86 Live" {
    set root=(hd0,msdos1)
    linux /boot/iso/android/kernel root=/dev/ram0 androidboot.hardware=android_x86 video=-16 quiet SRC= DATA=
    initrd /boot/iso/android/initrd.img
}

上記のエントリは、isolinux.cfgandroid isoで見つかったエントリから生成されます(このファイルを表示してインストールエントリを作成することもできます)。

その他Grub2アイテム

マルチブートを作成する場合に役立つ可能性がある他のgrub2エントリは次のとおりです。

set timeout=10
set default=0

menuentry "Hiren 15.2" {
    linux16 /boot/grub/grub.exe --config-file="find --set-root /boot/iso/hiren_15.2/menu.lst; configfile /boot/iso/hiren_15.2/menu.lst"
} 

menuentry "Android-x86 Live" {
    set root=(hd0,msdos1)
    linux /boot/iso/android/kernel root=/dev/ram0 androidboot.hardware=android_x86 video=-16 quiet SRC= DATA=
    initrd /boot/iso/android/initrd.img
}

menuentry 'Ubuntu 14.04' {
    set isofile='/boot/iso/trusty-desktop-amd64.iso'
    loopback loop $isofile
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile locale=en_US.UTF-8
    initrd (loop)/casper/initrd.lz
}

menuentry 'Slax-7.0-kde4' {
    set dir=/boot/iso/slax
    set root=(hd0,msdos1)
    linux $dir/boot/vmlinuz from=$dir vga=normal load_ramdisk=1 prompt_ramdisk=0 printk.time=0 slax.flags=perch,xmode
    initrd $dir/boot/initrfs.img
}

menuentry "CrunchBang - Live" {
    set isofile='/boot/iso/crunchbang-11-20130506-i686.iso'
    loopback loop (hd0,1)$isofile
    linux (loop)/live/vmlinuz initrd=/live/initrd.img iso-scan/filename=$isofile toram=filesystem.squashfs findiso=$isofile boot=live config --
    initrd (loop)/live/initrd.img
}

menuentry "System Rescue CD 64" {
    set isofile='/boot/iso/systemrescuecd-x86-4.5.1.iso'
    loopback loop $isofile
    linux (loop)/isolinux/rescue64 isoloop=$isofile
    initrd (loop)/isolinux/initram.igz
}

menuentry "Clonezilla Live 2.2.3-25 amd64" --class iso {
    set isofile="/boot/iso/clonezilla-live-2.3.2-22-amd64.iso"
    loopback loop $isofile
    linux (loop)/live/vmlinuz findiso=$isofile boot=live union=aufs config noprompt ip=frommedia toram=filesystem.squashfs
    initrd (loop)/live/initrd.img
}

関連情報