Boot ISO image from GRUB4DOS on EFI machines
Posted
by
Vladimir Tikhomirov
on Super User
See other posts from Super User
or by Vladimir Tikhomirov
Published on 2013-06-28T11:46:53Z
Indexed on
2013/10/19
22:01 UTC
Read the original article
Hit count: 635
I failed with loading ISO image (non-distro) from GRUB2 from USB stick, but found the way how I can boot the GRUB4DOS and then load the image from there. However, it doesn't work all the time and the questions is WHY it doesn't?
Environment and loading process:
We need to have EFI machine, USB stick, booting ISO, GRUB2 and GRUB4DOS. Last 3 on USB stick. Boot: USB -> EFI loader -> GRUB2 -> GRUB4DOS -> ISO image
Configuration files
To boot GRUB4DOS I use this from grub.cfg:
menuentry "image.iso" { linux /syslinux/grub.exe --config-file="/menu.lst" }
My menu.lst is here:
timeout 20
default 0
title image.iso
find --set-root --ignore-floppies --ignore-cd //image.iso
map --heads=0 --sectors-per-track=0 //image.iso (hd32)
map --hook
chainloader (hd32)
This works perfectly with Legacy machines.
However, when I come to GRUB4DOS, I don't see the menu with image.iso, I see only GRUB command line. That means that my menu.lst didn't load.
Why is it like this?
Background and ideas
- I have an idea that GRUB4DOS doesn't recognize my USB stick as a device. I tried the command find and got (hd0,0), (hd0,1), (hd0,2), (rd). When I tried to set root to any of these devices I don't see fat file system, how it was with Legacy machines. The root device is (hd0,0), which has ntfs file system which should be partition with Windows.
- EFI machines support only GRUB2, so I can't boot GRUB4DOS straight away.
- Please, don't suggest anything like this, because my image doesn't have kernel.
You can imagine that you load HDAT2 or Hiren's boot cd, for example.
menuentry "Blancco Blancco5.iso" {
set isofile="/image.iso"
loopback loop $isofile
set root=(loop)
linux /isolinux/vmlinuz isofile=$isofile splash quiet
initrd /isolinux/initrd
}
© Super User or respective owner