The unique thing cause my curiosity is when i start from Porteus i can use the third partition, when i boot from salix live this partition is unaccesible, the partition from the ISO of Salix are use, well the Porteus ISO is in the same partition :
Because salix live use elilo for UEFI/EFI and syslinux for bios boot. There are no grub menus. There is no grub.cfg
Read again the above 1, 2 cases.
Use exactly the menu entry above.
It is working when boot from real hardware. No qemu or chroot or vmware.
Your iso file exist in a partition with uuid=a9cec8d3-2770-4cb9-acbb-55479a5370f8 under some folder (e.g. ISO) This uuid is unique.
In this partition is installed a distribution you use to boot your system.
So grub.cfg exist in the same partiion
Then use the above menuentry. System will boot.
If iso is in a different partition from the partition where grub.cfg exist which is used to boot then use the uuid of the partition where iso file exists and in the above menuentry comment the line #probe -u $root --set=rootuuid
and uncomment the line rootuuid=a9cec8d3-2770-4cb9-acbb-55479a5370f8
The first case is for simplicity so user no need to know the uuid. You have a partition with a distribution and boot this distribution and in grub choose to boot the iso file instead of your installed distribution.
In general case use rootuuid=a9cec8d3-2770-4cb9-acbb-55479a5370f8. The iso file path has to be in the same rootuuid partition.
just remove the line probe -u $root --set=rootuuid and uncomment the line rootuuid=a9cec8d3-2770-4cb9-acbb-55479a5370f8
iso will be found because you identify the partition uuid which is unique.
Code: Select all
menuentry 'Salix OS 15.0 - Xfce (64 Bits)' {
rootuuid=a9cec8d3-2770-4cb9-acbb-55479a5370f8
search --set root -u $rootuuid
set isofile='ISO/salixlive64-xfce-15.0.iso'
loopback loop ($root)/$isofile
parametros="max_loop=255 vga=791 locale=es_ES.utf8 keymap=es useswap=yes copy2ram=no tz=America/Caracas hwc=localtime runlevel=4"
linux (loop)/boot/vmlinuz fromiso=$isofile $parametros
initrd (loop)/boot/initrd.gz
}
From my tests.
1. I have an external ssd disk where there is ubuntu and also the iso file. So i edit /boot/grub/grub.cfg in ubuntu partition and add there the above menuentry with line probe -u $root --set=rootuuid and comment or remove the line #rootuuid=a9cec8d3-2770-4cb9-acbb-55479a5370f8
Iso exists in the same partition where ubuntu is under the ISO folder
then in grub menu i choose Salix OS 15.0 - Xfce (64 Bits)
and system boot.
2. I have a usb stick where slackel openbox 7.7.2 64 bit is installed. I edit /boot/grub/grub.cfg in slackel partition and add there also the above menuentry with line rootuuid=a9cec8d3-2770-4cb9-acbb-55479a5370f8 I remove the line probe -u $root --set=rootuuid
I also plug in both the usb stick and the ssd disk. And reboot. then press fn+F12 keyboard keys in laptop and boot from slackel usb
and in grub menu i choose Salix OS 15.0 - Xfce (64 Bits)
system boot in salix live because iso is found on the partition of the ssd disk because rootuuid=a9cec8d3-2770-4cb9-acbb-55479a5370f8 is unique.
of course rootuuid=a9cec8d3-2770-4cb9-acbb-55479a5370f8 is different in my case.
So use the above menuentry exactly. Just replace rootuuid with the partition uuid where iso file exists. And the real path of the iso in the partition.