How to boot SystemRescue from hdd?

Have been following your “Installing SystemRescue on the disk“ page without success. Would appreciate some assistance.

I have a UEFI GPT system with a small ESP partition, and with Windows 11 on C:. Also, drive E: which is formatted FAT32, and whose volume label contains a space. This is my tools drive. Besides SystemRescue, it contains other .iso files including Clonezilla and GParted.

I have Grub2 installed in the ESP. It is able to boot Clonezilla, GParted, etc. without issue. But SystemRescue will not successfully boot. I have tried both the loopback method with the .iso file, using the Grub menuentry from your page; and also the extracted files method, using that menuentry.

Either way, whatever menuentry variations I try, if SystemRescue begins to boot at all, it always terminates at the “Waiting 30 seconds for …/by-label/…” message, and then drops to a prompt. [By the way, there seems to be no way to exit from that prompt to return to Grub; the only exit I have found is CTRL-ALT-DEL.]

Any thoughts, suggestions, help?

Having the ISO copied on the disk is the best method in my opinion as it is easy to keep the ISO up to date by just copying one file.

There are two things required for the initialisation to be able to boot from the ISO file. First check what is the label of the file system on which the ISO has been copied. You can find this label in parted or GParted, and it can be used for SystemRescue to identify what to mount. This is used by the grub search sub-command and by the SystemRescue initialisation to mount the correct file system. Second the initialisation must use the correct path to the ISO in the file system. In other words, if this file system was mounted on / then what would the full path to the ISO be ?

If you have a separte /boot file system and copy the ISO in your /boot folder (which is what I do) then you must not put the /boot part from the path, as the boot file system is effectively the root file system during the System Rescue boot. If you have just one linux file system that you use as the root file system and it contains the /boot folder, then the path to the ISO should contain /boot.

If the boot fails to find the ISO and you end up in the shell, you can try to manually mount the file system to see if you can find the ISO manually providing the file system details and path provided, it can help you see what’s wrong.

Here is a copy of my entry for SystemRescue in my grub configuration file. The label on my boot partition is boot and the ISO is located in the root of the file system (not in any folder)
menuentry 'SystemRescue' {
insmod gzio
insmod part_gpt
insmod part_msdos
insmod ext2
search --no-floppy --label boot --set=root
loopback loop /systemrescue.iso
echo 'Loading Linux kernel ...'
linux (loop)/sysresccd/boot/x86_64/vmlinuz img_label=boot img_loop=/systemrescue.iso archisobasedir=sysresccd copytoram setkmap=uk
echo 'Loading initramfs ...'
initrd (loop)/sysresccd/boot/x86_64/sysresccd.img
}

Thanks for reply. So, in grub I edited the entry and was trying different things, and suddenly SystemRescue did boot; I’m not certain what change brought it about, but I THINK it was simply adding an “echo ‘loading…’” type of line.

However, after exiting SystemRescue by choosing to reboot, suddenly my system was in a state where booting (to Windows) was taking a very long time, and eventually Windows needed the check the filesystem on the drive that the SystemResue .iso is on. Then, exiting Windows again took a very long time, and rebooting Grub also took a seemingly endless amount of time. From grub, trying to boot Clonezilla kept giving errors about the DVD drive (which was empty) not being ready. Eventually, I powered down, and on restart everything seems to be back to normal. But I am hesitant to experiment any further with SystemResue. Is any of this like anything you have heard before?