How to boot from iso with Grub2/Burg boot loader
Solution 1
I have got a perfect chain loader with SysLinux, Grub4Dos and Grub2, and here is my configs:
Syslinux
LABEL DSL
KERNEL memdisk
INITRD /iso/dsl.iso
APPEND iso raw
LABEL GRUB4DOS
KERNEL /boot/grub.exe
Grub4Dos
title Paragon Partition Manager
map (hd0,0)/iso/paragon-bootable-media.iso (hd32)
map --hook
chainloader (hd32)
boot
title Syslinux
chainloader /boot/syslinux/syslinux.bin
title GRUB2 Chainload
root (hd0,0)
kernel /boot/grub/core.img
boot
Grub2
menuentry "Ubuntu 13.10 Desktop ISO" {
loopback loop /iso/ubuntu-desktop-amd64-13.10.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-desktop-amd64-13.10.iso noeject noprompt splash --
initrd (loop)/casper/initrd.lz
}
menuentry "Tinycore ISO" {
loopback loop /iso/tinycore.iso
linux (loop)/boot/bzImage --
initrd (loop)/boot/tinycore.gz
}
menuentry "GRUB4DOS" {
linux16 /boot/grub.exe
}
menuentry "SYSLINUX" {
chainloader=/boot/syslinux/syslinux.bin
}
Solution 2
For normal linux distribution, you need to specify the absolute path and disk for that ISO image, and parameter for loading kernels, see the example below:
loopback loop (hd0,msdos0)/linux.iso
linux (loop)/vmlinuz parameters
initrd (loop)/initrd.img
For other OS, i never succeed.
Solution 3
For debian-flavors like ubuntu/mint try apt-get install grub-imageboot
. Then just put iso file(s) in a certain folder (the default is /boot/images/) and each time you run sudo update-grub
it will add boot-menu entries for each bootable iso file in that folder. (Similar to how easybcd boots isos on mbr-windows pcs).
sudo apt-get install grub-imageboot
# do df -h /boot and make sure you have 300meg free on /boot partition
cd /tmp; wget http://ftp.sh.cvut.cz/slax/Slax-9.x/slax-32bit-9.11.0.iso
sudo cp /tmp/slax-32bit-9.11.0.iso /boot/images/
sudo grub-update
If your boot partition is small, you can, for example, create a folder named boot-isos
on a big-partition, like /home/, and edit /etc/default/grub-imageboot file as shown below.
$ sudo mkdir /home/boot-isos/
$ cat /etc/default/grub-imageboot
# Where to find the iso/floppy images
#IMAGES="/boot/images"
IMAGES="/home/boot-isos"
# You can override the boot options for iso/floppy images here
# see http://syslinux.zytor.com/wiki/index.php/MEMDISK for details
#IMAGEOPTS="rawimg"
#ISOOPTS="iso"
Related videos on Youtube
uocnb
Updated on September 18, 2022Comments
-
uocnb over 1 year
I'm using Ubuntu as my primary OS and alternative is Windows 7 for gaming, and another stuffs. I want to have menu to boot some live CD ISO. Is there anyway to make menu entry in Grub2/Burg to boot ISO file like the CD way?
I see there are some ways to make it possible but almost method need specified boot arguments (kernel parameters). But I have mixed kind of Live OS wan to boot up using boot loader included: Linux, Unix, DOS (for recovery purpose)...
I'm looking for more generic way to make it easy to discover and add to the menu config file.
-
Admin over 12 yearsFound a way for myself: use grub2 together with grub & syslinux since they can chainloader to .iso file directly instead of set absolute path for kernel & initrd.
-
Admin over 12 yearsngyun, update in answerr section with howto and close thq quest.
-
-
Francesco about 9 yearsgood answer ! note that
linux16 /boot/grub.exe
on grub2 allows to boot live windows live bartpe or Hiris live. (there is a way to specify configuration file ) -
Hashim Aziz over 5 yearsI'm confused, what's the reason that Paragon, Ubuntu 13.10, and Tinycore could not boot via Syslinux?