USB Mulit Boot by GRUB2

grub.cfg:

set timeout=1
set default=0

menuentry "ArchLinux-2012.01-1-archboot.iso" {
 set isofile="/boot/iso/archlinux-2012.01-1-archboot.iso"
 loopback loop $isofile
 linux (loop)/boot/vm64 ro
 initrd (loop)/boot/initrd64.img
}

# see GRUB2 - ArchWiki [via] menuentry
"ArchLinux-2011.08.19-core-x86_64.iso" { set isofile="/boot/iso/archlinux-2011.08.19-core-x86_64.iso" set dev_label="MULTIBOOT" loopback loop $isofile linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201108 img_dev=/dev/disk/by-label/$dev_label img_loop=$isofile earlymodules=loop initrd (loop)/arch/boot/x86_64/archiso.img } menuentry "Ubuntu-12.04-beta2-desktop-amd64.iso" { set isofile="/boot/iso/ubuntu-12.04-beta2-desktop-amd64.iso" loopback loop $isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash noeject noprompt -- initrd (loop)/casper/initrd.lz }
menuentry "ubuntu-13.04-desktop-amd64.iso" {
 set isofile="/boot/iso/ubuntu-13.04-desktop-amd64.iso"
 loopback loop $isofile
 linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile quiet splash noeject noprompt --
 initrd (loop)/casper/initrd.lz
}

# SliTaz-4.0 later need to do [this].
menuentry "SliTaz-4.0-rc3-grub.iso" { set isofile="/boot/iso/slitaz-4.0-rc3-grub.iso" loopback loop $isofile linux (loop)/boot/bzImage rw root=/dev/null gfxpayload=vga=normal autologin lang=en kmap=us initrd (loop)/boot/rootfs.gz } menuentry "TinyCore_4.1.iso" { set isofile="/boot/iso/tinycore_4.1.iso" loopback loop $isofile linux (loop)/boot/vmlinuz quiet initrd (loop)/boot/tinycore.gz }

# TinyCore v4.4rc3 later
# Change red text to your value
# see [via]
menuentry "TinyCore-current.iso" {
 set isofile="/boot/iso/tinycore-current.iso"
 loopback loop $isofile
 linux (loop)/boot/vmlinuz quiet cde iso=/mnt/sd[x]X$isofile
 initrd (loop)/boot/core.gz
} menuentry
"SystemRescueCd-x86-2.5.1.iso" { set isofile="/boot/iso/systemrescuecd-x86-2.5.1.iso" loopback loop $isofile linux (loop)/isolinux/rescuecd isoloop=$isofile setkmap=us initrd (loop)/isolinux/initram.igz } menuentry "WinPE-2009.iso" { set g4d_dir="/boot/grub4dos" set cfgfile="find --set-root /boot/iso/winpe-2009.iso;map --mem /boot/iso/winpe-2009.iso (0xff);map --hook;chainloader (0xff);boot" linux $g4d_dir/grub.exe --config-file=$cfgfile } menuentry "GRUB4DOS" { set g4d_dir="/boot/grub4dos" linux $g4d_dir/grub.exe --config-file=$g4d_dir/menu.lst }

P.S.

2013-07-29: update some entry for new.

set timeout=10
set default=0

menuentry "SystemRescueCd-x86-3.7.1.iso" {
 set isofile="/boot/iso/systemrescuecd-x86-3.7.1.iso"
 if cpuid; then set cputype="64"; else set cputype="32"; fi
 loopback loop $isofile
 linux (loop)/isolinux/rescue$cputype isoloop=$isofile setkmap=us
 initrd (loop)/isolinux/initram.igz
}

menuentry "WinPE-2009.iso" {
 set g4d_dir="/boot/grub4dos"
 set cfgfile="find --set-root /boot/iso/winpe-2009.iso;map --mem /boot/iso/winpe-2009.iso (0xff);map --hook;chainloader (0xff);boot"
 linux $g4d_dir/grub.exe --config-file=$cfgfile
}

menuentry "wowpc.iso" {
 set g4d_dir="/boot/grub4dos"
 set cfgfile="find --set-root /boot/iso/wowpc.iso;map --mem /boot/iso/wowpc.iso (0xff);map --hook;chainloader (0xff);boot"
 linux $g4d_dir/grub.exe --config-file=$cfgfile
}

menuentry "Archlinux-2012.09.07-dual.iso" {
 set isofile="/boot/iso/archlinux-2012.09.07-dual.iso"
 set dev_label="MULTIBOOT"
 if cpuid; then set cputype="x86_64"; else set cputype="i686"; fi
 loopback loop $isofile
 linux (loop)/arch/boot/$cputype/vmlinuz archisolabel=ARCH_201209 img_dev=/dev/disk/by-label/$dev_label img_loop=$isofile
 initrd (loop)/arch/boot/$cputype/archiso.img
}

menuentry "SliTaz-4.0-grub.iso" {
 set isofile="/boot/iso/slitaz-4.0-grub.iso"
 loopback loop $isofile
 linux (loop)/boot/bzImage rw root=/dev/null gfxpayload=vga=normal autologin lang=en kmap=us
 initrd (loop)/boot/rootfs.gz
}

menuentry "TinyCore-current.iso" {
 set isofile="/boot/iso/tinycore-current.iso"
 loopback loop $isofile
 linux (loop)/boot/vmlinuz quiet cde iso=/mnt/sdb1$isofile
 initrd (loop)/boot/core.gz
}

menuentry "XiaoPan-0.4.6.1.iso" {
 set isofile="/boot/iso/xiaopan-0.4.6.1.iso"
 loopback loop $isofile
 linux (loop)/boot/vmlinuz loglevel=3 cde waitusb=3 iso=/mnt/sdb1$isofile mydata=xiaopan restore=sdb1/boot/iso tz=CST-8 showapps lang=en_US.utf8
 initrd (loop)/boot/core.gz
}

menuentry "GRUB4DOS" {
 set g4d_dir="/boot/grub4dos"
 linux $g4d_dir/grub.exe --config-file=$g4d_dir/menu.lst
}
原文地址:https://www.cnblogs.com/eshizhan/p/2467632.html