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.

  • 1
    Found 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. – tiger2wander Nov 28 '11 at 9:05
  • 1
    ngyun, update in answerr section with howto and close thq quest. – Nikhil Mulley Dec 9 '11 at 8:28

I have got a perfect chain loader with SysLinux, Grub4Dos and Grub2, and here is my configs:


KERNEL memdisk
INITRD /iso/dsl.iso
APPEND iso raw

KERNEL /boot/grub.exe


title Paragon Partition Manager
map (hd0,0)/iso/paragon-bootable-media.iso (hd32)
map --hook
chainloader (hd32)

title Syslinux
chainloader /boot/syslinux/syslinux.bin

title GRUB2 Chainload
root (hd0,0)
kernel /boot/grub/core.img


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" {
  • good 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 ) – Francesco Mar 26 '15 at 0:45
  • I'm confused, what's the reason that Paragon, Ubuntu 13.10, and Tinycore could not boot via Syslinux? – Hashim Oct 25 '18 at 0:36

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.