2011-12-26

How to make a multiboot USB flash drive?

做1支會當多系統開機(multiboot)的「隨身碟」(USB flash drive,USB pen drive)。佇Ubuntu 10.04試驗。

1. 格式化(format)隨身碟

用FAT32的格式就會當。


2. 安裝「Grub2」開機軟體(bootloader)

入去「Terminal」(終端機)輸入指令。

sudo grub-install --no-floppy --root-directory=/media/Top7LiveISO /dev/sdx

共「/dev/sdx」換做隨身碟,親像「/dev/sdb」。愛細膩,毋通寫毋著去。

3. 寫1个「grub.cfg」

囥踮「/boot/grub」內底。親像:

set timeout=7
set default=0
set menu_color_highlight=black/green
set menu_color_normal=green/black

menuentry "Tiny Core 4.1" {
loopback loop /boot/tinycore-4.1.iso
linux (loop)/boot/vmlinuz --
initrd (loop)/boot/tinycore.gz
}

menuentry "Ubuntu 11.10 Desktop" {
loopback loop /boot/ubuntu-11.10-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/ubuntu-11.10-desktop-i386.iso noeject noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}

menuentry "Linux Mint 12 Gnome" {
loopback loop /boot/linuxmint-12-gnome-dvd-32bit.iso
linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/boot/linuxmint-12-gnome-dvd-32bit.iso noeject noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}

menuentry "Joli OS 1.2" {
set isofile=/boot/Joli-OS-1.2.iso
search --set -f $isofile
loopback loop $isofile
linux (loop)/casper/vmlinuz file=/cdrom/preseed/jolicloud.seed iso-scan/filename=$isofile boot=casper noeject noprompt quiet splash --
initrd (loop)/casper/initrd.gz
}

menuentry "BackBox Linux 2" {
set isofile=/boot/backbox-2-i386.iso
search --set -f $isofile
loopback loop $isofile
linux (loop)/casper/vmlinuz file=/cdrom/preseed/backbox.seed iso-scan/filename=$isofile boot=casper noeject noprompt quiet splash --
initrd (loop)/casper/initrd.gz
}

menuentry "Parted Magic 2011_11_24" {
set isofile="/boot/pmagic_2011_11_24_i686.iso"
loopback loop $isofile 
linux (loop)/pmagic/bzImage iso_filename=$isofile edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rwnomce sleep=10 loglevel=0
initrd (loop)/pmagic/initrd.img
}

menuentry "Redo Backup and Recovery 1.0.1" {
set isofile=/boot/redobackup-livecd-1.0.1.iso
loopback loop $isofile
linux (loop)/casper/vmlinuz iso-scan/filename=$isofile boot=casper noejct noprompt quiet splash --
initrd (loop)/casper/initrd.gz
}



4. 共「ISO」檔案抑是其他開機系統copy去隨身碟

佮「grub.cfg」內底的設定配合。佇頂懸的例,就是copy去/boot內底。


參考資料:
Boot Multiple ISO from USB via Grub2 using Linux
GNU GRUB Manual 1.99
Linux Kernel Parameters

沒有留言:

張貼留言