Booting from ISO with GRUB2

Grub2 must be installed on your GNU/LINUX OS for following process
We applied following process on Linux Mint 17.
Download ISO file from official websites and move it to root of sda2(or hda2).(as following codes)
(hd0,2) is sda2 or hda2 in set root=(hd0,2).(If system boot from USB, it will sign second file system of USB)
You can set ISO file place like that, and please write correct downloaded ISO file name to code.
Open /etc/grub.d/40_custom file as root with a text program(geany, leafpad, pluma etc.)
Append code of ISO file to end of this file.
Lastly in terminal make "sudo update-grub" and when process finishes, restart computer, choose appended code in Grub2.

menuentry "Linux Mint 17.3 MATE 64-bit from ISO" {
set root=(hd0,2)
set isopath="/linuxmint-17.3-mate-64bit.iso"
set gfxpayload=keep
loopback loop $isopath
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isopath quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "UBUNTU_15.10-desktop-amd64 from ISO" {
set root=(hd0,2)
set isoname="/ubuntu-15.10-desktop-amd64.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd.lz }


menuentry "kali-linux-2016.1-amd64" {
iso="/kali-linux-2016.1-amd64.iso"
bootoptions="findiso=$iso boot=live noconfig=sudo username=root hostname=kali quiet splash"
search --set -f $iso
loopback loop $iso
linux (loop)/live/vmlinuz $bootoptions
initrd (loop)/live/initrd.img
}

menuentry "LXLE trisquel_6.0.1_i686 from iso" {
set root=(hd0,2)
set isoname="/trisquel_6.0.1_i686.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd }

menuentry "KNOPPIX_V7.6.0DVD-2015-11-21-EN CD" --class knoppix {
set root=(hd0,2)
set isofile="/KNOPPIX_V7.6.0DVD-2015-11-21-EN.iso"
echo "Using ${isoname}..."
loopback loop $isofile
linux (loop)/boot/isolinux/linux bootfrom=/dev/sda2${isofile} ramdisk_size=100000 lang=en apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=localtime
initrd (loop)/boot/isolinux/minirt.gz }

menuentry "Lubuntu-15.10-desktop-i386 from iso" {
set root=(hd0,2)
set isoname="/lubuntu-15.10-desktop-i386.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "Ubuntustudio-15.10-dvd-amd64 from iso" {
set root=(hd0,2)
set isoname="/ubuntustudio-15.10-dvd-amd64.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "Fedora-Live-Workstation-x86_64-23-10" --class fedora {
set root=(hd0,2)
set isofile="/Fedora-Live-Workstation-x86_64-23-10.iso"
loopback loop $isofile
linux (loop)/isolinux/vmlinuz0 root=live:CDLABEL=Fedora-Live-WS-x86_64-23-10 rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 iso-scan/filename=${isofile}
initrd (loop)/isolinux/initrd0.img
}

menuentry "boot-repair-disk-32bit from ISO" {
set root=(hd0,2)
set isoname="/boot-repair-disk-32bit.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "Start Linux Mint 17.1 MATE 32-bit from ISO" {
set root=(hd0,2)
set isopath="/linuxmint-17.1-mate-32bit.iso"
set gfxpayload=keep
loopback loop $isopath
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isopath quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "Start Linux Mint 17.1 MATE 64-bit from ISO" {
set root=(hd0,2)
set isopath="/linuxmint-17.1-mate-64bit.iso"
set gfxpayload=keep
loopback loop $isopath
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isopath quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "Linux Mint 14 kde (32bit)" --class linuxmint {
set root=(hd0,2)
set isoname="/linuxmint-14-kde-dvd-32bit.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "ADRIANE-KNOPPIX_V7.2.0gCD-2013-07-28-EN CD" --class knoppix {
set root=(hd0,2)
set isofile="/ADRIANE-KNOPPIX_V7.2.0gCD-2013-07-28-EN.iso"
echo "Using ${isoname}..."
loopback loop $isofile
linux (loop)/boot/isolinux/linux bootfrom=/dev/sda2${isofile} ramdisk_size=100000 lang=en apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=localtime
initrd (loop)/boot/isolinux/minirt.gz }

menuentry "ADRIANE-KNOPPIX_V7.2.0bootonly-2013-07-28-EN" --class knoppix {
set root=(hd0,2)
set isofile="/ADRIANE-KNOPPIX_V7.2.0bootonly-2013-07-28-EN.iso"
echo "Using ${isoname}..."
loopback loop $isofile
linux (loop)/boot/isolinux/linux bootfrom=/dev/sda2${isofile} ramdisk_size=100000 lang=en apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=localtime
initrd (loop)/boot/isolinux/minirt.gz }

menuentry "SMART-UBUNTU_2014-06-19 from ISO" {
set root=(hd0,2)
set isoname="/SMART-Ubuntu-2014-06-19.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "GParted Live i686 PAE from ISO" --class gparted {
set root=(hd0,2)
set isoname="/gparted-live-0.21.0-1-i686-pae.iso"
loopback loop $isoname
linux (loop)/live/vmlinuz boot=live config union=aufs noswap noprompt ip=frommedia toram=filesystem.squashfs findiso=$isoname
initrd (loop)/live/initrd.img }

menuentry "Linux Mint 12 Lxde (32bit) from iso" --class linuxmint {
set root=(hd0,2)
set isoname="/linuxmint-12-lxde-cd-32bit.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "Linux Mint 11 Lxde (32bit) from iso" --class linuxmint {
set root=(hd0,2)
set isoname="/linuxmint-11-lxde-cd-32bit.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "Linux Mint 9 Lxde (i386) from iso" --class linuxmint {
set root=(hd0,2)
set isoname="/linuxmint-9-lxde-cd-i386.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd.lz }

menuentry "Lubuntu 13.10 i386 from iso" {
set root=(hd0,2)
set isoname="/lubuntu-13.10-desktop-i386.iso"
loopback loop $isoname
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
initrd (loop)/casper/initrd.lz }



Above codes applied on GRUB 2.02~beta version.
Date of Article: 21.02.2016




HOME GNU/LINUX Random TURKISH