Mohammad, если интересует этот вопрос, читайте документацию по grub. Прочитайте вот это:
https://forum.ubuntu.ru/index.php?topic=278535.msg2196127#msg2196127А если совсем кратко
...ЧТО с этим кодом делать
Этот код нужно добавить в конфиг-файл груба. Сделать нужно следующее.
1. Запустить текстовый редактор с правами root. Открыть в нем файл /etc/grub.d/40_custom
2. Добавить в него код:
menuentry '*buntu iso' {
iso_path='/opt/ubuntu-10.04.4-desktop-i386.iso'
iso_path='/opt/ubuntu-16.04.2-desktop-amd64.iso'
key="boot=casper cdrom-detect/try-usb=true iso-scan/filename=$iso_path noprompt quiet --"
export iso_path
search -f ${iso_path} -n -s
loopback loop ${iso_path}
root=(loop)
if [ -e /boot/grub/loopback.cfg ]
then configfile /boot/grub/loopback.cfg
loopback --delete loop
else linux /casper/vmlinuz ${key}
initrd /casper/initrd.lz
fi
}
3. Сохранить файл.
4. Запустить терминал и выполнить:
sudo update-grub
В меню груб появиться линк "*buntu iso" - загрузка из исо-образа.
Пояснения к коду. Образы кладете в каталог "/opt" на любом разделе или устройстве. Груб найдет его и загрузит.
В данном случае загрузиться ubuntu-16.04.2-desktop-amd64.iso. Если нужно загрузить другой образ, то при появлении меню груб, выберите нужную ссылку.
Нажмите "e" для входа в режим редактирования (внизу экрана есть подсказка). Поставьте "#" вначале строки "/opt/ubuntu-16.04.2-desktop-amd64.iso"
Нажмите "F10" для продолжения загрузки. Будет загружен образ "ubuntu-10.04.4-desktop-i386.iso". Эти изменения не сохраняются в конфиге, действуют только в текущей загрузке.
Если вам кажется удобным можно сделать для каждого образа свой линк. Но вернемся к нашему коду. После того, как образ найден, загрузчик ищет в нем файл "/boot/grub/loopback.cfg". Если файл существует, то на экране появится меню из этого файла. То самое меню, которые вы видите при установке системы. Выбираете нужный пункт и загружаетесь.
Если файл не найден (например ubuntu 10.04), система будет загружена с параметрами ядра из переменной "key".
Еще существует "Supergrub disk". Может загрузить все, что только можно загрузить с помощью grub2. Сам supergrub можно загрузить так:
menuentry 'Supergrub' {
src='/opt/super_grub2_disk_hybrid_2.02s5.iso'
insmod linux16
search -f ${src} -n -s
linux16 /boot/syslinux/memdisk iso raw
initrd16 ${src}
}
Для работы этого кода нужно файл /usr/lib/syslinux/memdisk скопировать в каталог /boot/syslinux.
В принципе таким способом должен запускаться любой исо-образ. Одно но... При данном способе весь образ копируется в ОЗУ. Поэтому как минимум объем ОЗУ должен быть больше размера образа.