Grub2 iso boot menu entry

Hi Ive found these 2 threads, nether of which i can reply in. So im trying to boot manjaro iso from my usb multiboot.

My entry is as follows:

menuentry “Manjaro” --class dvd {
set isofile="/manjaro.iso"
search --no-floppy -file --set=root ${isofile}
probe -u --set=abc
set idev="/dev/disk/by-uuid/${abc}"
loopback loop ${isofile}
linux (loop)/boot/vmlinuz-x86_64 img_dev=${idev} img_loop=${isofile} driver=free tz=Europe/London lang=en_GB keytable=us
initrd (loop)/boot/initramfs-x86_64.img

but i get the errors:
error: unspecified search type
error: device name required

Then i tries to boot followed by dumping me to a rootfs terminal.

Any ideas on what i have missed?

So, where have you placed the ISO file on your disk? And what is the exact name of the ISO?

These are the definig variables of the function.

Hi, just reached home after a late night. (Holidays are tiresome :grin: and will last another 2 weeks )

I see you are using an old file (or referring to an old file - "16.06-x86_64.iso”)
2 points

  1. You said you are trying to boot from a ‘usb multiboot’.
    The topic you are referring to is to boot up from a grub2 menuentry.
    And that can be from any grub2.
    If your ‘usb multiboot’ is that grub 2, then yes, it can work.
    But I think you are using this type of facility and that won’t work.
    If that facility has a grub 2 (I don’t know because I haven’t used it) then it can work if you can bring up that grub 2 in it. But I don’t think it has (I’m not sure).
  2. There are different menuentries based on the version number of Manjaro iso’s.
    As you can see from the link, there are 4 different menuentries for different version numbers.
    And it is very possible that another later version will require another menuentry, though the latest, v 17.1.4 can work on the latest topmost entry. (I’ll try to provide for the latest version if that changes and it will be at the top of that topic, first post)
    I think you are using the entry for an older version (16.xx) when your iso is newer than that.
  3. (ok, more than 2 points). As eugen-b has pointed out, and I’ll quote from my link,

It is good habit to put any file in a directory, never in a raw partition. Preferably, in a data or non-os partition.

I had found, from the past there were issues if I don’t put it in a directory, I’m not sure if this still applies, but always a good thing not to put raw files in a partition which is not within a directory.

I’m happy you tried out the procedure and let us know if you have any input.

Oh… you can put an entry like this in /boot/grub/custom.cfg (create this file first) and that will withstand any changes or ‘update-grub’ and won’t destroy anything (like 40_custom will) if entries are wrong.

Cheers, good luck.

ps: yes, you cannot reply to the links as these are some time ago. I as the OP can edit only the first post and will do so if there are any changes to menuentries for later versions.

Ah i forgot the details! Thanks for the response guys.

Yes im using grub2 and have managed to get ubuntu and ubuntu server iso booting fine.
I havent put them in a folder, I found it works fine without the need for the folder.

Im using the latest manjaro iso 7.1.5 kde edition. The old 7.1.4 would boot off the iso/grub2 without issue, so im assuming something has changed with the iso?

I wonder if there is a generic way to boot an iso, like a cdrom drive would have some boot sector? that avoids the need to have custom entries?

Ah…maybe. I haven’t tried on 17.1.5. I’ll try to test on it soon. But the next few days are not too convenient. I’ll see if I can squeeze in some time for it. But it’s a good feedback you provided.

Unfortunately, there isn’t for Manjaro. It was a struggle (for me) to even ‘have a first crack at it’ the first time after several attempts. The other OS’s/distros mostly kept their ‘format/syntax’. Perhaps some minor changes on initrd.lz, vmlinuz.efi instead of intrd.gz, vmlinuz or unionfs instead of ausfs.

There is a contribution by another member here on booting up feedback.cfg (all install iso have this feedback.cfg). Instead of searching for it here, I’ll write down the entry. Note this feedback.cfg brings up the Manjaro install menu, unlike my isoboot which will boot up to livecd. It has worked for 17.1.xx (?) and not sure it will work on 17.1.5. I think he (I think he’s a ‘he’ :slightly_smiling_face:) too struggled with Manjaro and has to find different ways to do that for Manjaro as well. Here it is.

menuentry "Loopback.cfg" --class disk {
	export isofile
	search --no-floppy -f --set=root $isofile
	probe -u $root --set=abc
	export abc
	loopback loop $isofile
	configfile /boot/grub/loopback.cfg
	loopback --delete loop

ps: I modified slightly his original entry (because I think it’s better - apologies to him).

You can try it out and let us know if that works for 17.1.5.
Otherwise he too needs to work on it (again). :grin:

1 Like

Okay, just downloaded kde 17.1.5 and booted okay from the same latest menuentry.
(Also worked on feedback.cfg too)

Now, 2 things.

  1. Put it (isofile) in a directory and see if that works.
  2. Provide your menuentry and we’ll see if there’s anything ‘wrong’ with it.
    Did you modify anything?
  3. ok, 3 things - I cannot count :smiley: - now I forgot…Alzheimer kicking in :astonished: … ah ok…
    If your isofile is in gpt partition and you are booting up in bios-legacy grub, the bios may not initially detect the gpt disk. Put “insmod part_gpt” in your menuentry and also check at grub prompt "grub> ls " to see if your disk containing the isofile is detected. This may account for being able to boot ubuntu iosfiles, etc, because they may be in a partition that the bios detected (which manjaro isofile partition is not detected). Hope you know what I’m talking about.

Good luck, taking another break.

Thanks for this.
Im still playing around with this slowly. I managed to find the issue was on the line

probe -u ${root} --set=abc

I noticed i didnt have the root variable after -u, so thats now booting! Direct without needing to be in a folder.

I tried the “Loopback.cfg” method above, but that didnt work. It booted to the manjaro grub boot loader, but then it said it couldnt find /dev/disk/by-uuid/(something) during boot.
Id still like to get this method running also as a handy backup.
Do you have any ideas how to get around this issue?

There’s also a “probe -u ${root} --set=abc” in that menuentry, did you get it wrong as well?

I just tried many times using this loopback on several iso’s recently (to test an issue on this forum) so I know it’s working well.

You should always try it without modifying it first and then try to modify it your way and see what works. Please don’t modify it without testing original and then say it does not work.

It’s as clear as daylight what you need to provide before saying

I had to earlier…

to check what went wrong.
I cannot keep doing that just because someone says “It didn’t work”.
Luckily, I tried this several times recently to know it works.

[EDIT] - And put that isofile in a godamned directory, for goodness sake.
In the link I said I tried it years ago and it was not reliable in a raw partition.
How difficult can it be to put it in a directory?
I will not go testing it and see if it works in a raw partition.
You can try it for yourself and if it does not work out , don’t say it doesn’t work.

And don’t come back 2 weeks later that I have to recall what this topic is about.
Geez, I need my morning coffee (and my dog).

Hi all,

same situation, I am trying elementary os iso to boot from grub but can’t figure out the menu entry needed. At present, I am at

menuentry "Newiso" {
    insmod part_msdos
    insmod ext2
    set isofile-"/boot/iso/new.iso"
    search --no-floppy -f --set=root $isofile
    loopback loop $isofile
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noeject noprompt quiet splash
    initrd (loop)/casper/initrd.lz

wish to know what would be the correct entry for my system, with following details

manjaro installation at sda9-

/dev/sda1        2048     923647    921600   450M Windows recovery environment
/dev/sda2      923648    1128447    204800   100M EFI System
/dev/sda3     1128448    1161215     32768    16M Microsoft reserved
/dev/sda4     1161216  644065918 642904703 306.6G Microsoft basic data
/dev/sda5   644067328  645945343   1878016   917M Windows recovery environment
/dev/sda6   645947392 1254074367 608126976   290G Microsoft basic data
/dev/sda7  1254074368 1295906815  41832448    20G Microsoft basic data
/dev/sda8  1295908864 1338843135  42934272  20.5G Linux filesystem
/dev/sda9  1338843137 1339664383    821247   401M EFI System
/dev/sda10 1339664384 1380624383  40960000  19.5G Linux filesystem
/dev/sda11 1380624384 1394960383  14336000   6.9G Linux swap
/dev/sda12 1394960384 1465149134  70188751  33.5G Linux filesystem

iso location [renamed new.iso from elementaryos-0.4.1-stable.20180214.iso]

ISO content

uuid information

[root@msra-pc msra]# ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Jun  2 19:56 08D8-7667 -> ../../sda7
lrwxrwxrwx 1 root root 10 Jun  2 19:56 2017-08-14-23-06-16-00 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Jun  2 19:56 38F8DAAAF8DA65A2 -> ../../sda1
lrwxrwxrwx 1 root root 11 Jun  2 19:56 4219857b-be4c-43c2-91be-4af69584b549 -> ../../sda12
lrwxrwxrwx 1 root root 10 Jun  2 19:56 5A48E94C48E92809 -> ../../sda4
lrwxrwxrwx 1 root root 10 Jun  2 19:56 5FBE-3B82 -> ../../sda9
lrwxrwxrwx 1 root root 10 Jun  2 19:56 B690EEC090EE85E9 -> ../../sda5
lrwxrwxrwx 1 root root 10 Jun  2 19:56 B8DC-9D38 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jun  2 19:56 bcbb498e-cf1e-4433-93d5-021ec43f06ad -> ../../sda8
lrwxrwxrwx 1 root root 11 Jun  2 19:56 c3348eff-42bf-4e4a-b670-ee049d39c3ab -> ../../sda10
lrwxrwxrwx 1 root root 11 Jun  2 19:56 c3f7a618-b7b1-456d-a2b8-dd174732ad36 -> ../../sda11
lrwxrwxrwx 1 root root 10 Jun  2 19:56 CE7B-A7A5 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Jun  2 19:56 E4CC5FEFCC5FBB0E -> ../../sda6

Please let me know if anything else is required to make the menuentry

[EDITED] - Elementary OS?

Nope. Haven’t tried that.
But check if it is vmlinuz instead of vmlinuz.efi
Derivatives of Ubuntu use these ‘simpler’ parameters.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by Bytemark