help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cannot boot from dual bios/uefi boot CD


From: Andrei Borzenkov
Subject: Re: Cannot boot from dual bios/uefi boot CD
Date: Sun, 27 Dec 2015 18:59:00 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0

27.12.2015 13:30, John Frankish пишет:
> 
> Anyway, I made a few attempts:
> 
> $ grub-mkrescue --modules="linux part_msdos iso9660"
> --install-modules="" -o grub.iso iso
> 
> legacy bios boot -> error message (too fast to read) -> grub rescue
> prompt
> 

That's correct. You did not include "normal" so you can only end up in
rescue prompt. Note that depending on your goals you may not actually
need "normal", but of course this restricts scripting possibilities.

> uefi boot -> boot/grub/x86_64-efi/{part_acorn.mod, part_amiga.mod,
> part_acorn.mod, part_bsd.mod, part_dvh.mod, part_plan.mod,
> part_sun.mod, part_sunpc.mod, normal.mod} not found
> 

Yes, it does not adjust various *.lst files that autoload modules so it
still attempts to load them. Patches are welcome (there is also bug
report about it) but it is not something I myself am sufficiently
interested in to implement.

> 
> $ grub-mkrescue --modules="iso9660 fshelp loadbios part_msdos
> part_gpt normal terminal crypto extcmd boot gettext linux video
> relocator mmap font bufio efi_gop video_fb efi_uga gfxterm
> bitmap_scale bitmap gfxmenu trig" --install-modules="" -o grub.iso
> iso ... grub-mkrescue: error: cannot open
> `/usr/local/lib/grub/i386-pc/loadbios.mod': No such file or
> directory.
> 

We already discussed it and workaround.

> 
> $ grub-mkrescue --install-modules="" -o grub.iso iso
> 
> legacy bios boot -> boot/grub/x86_64-efi/{part_acorn.mod,
> part_amiga.mod, part_apple.mod, part_bsd.mod, part_dfly.mod,
> part_dvh.mod, part_gpt.mod, part_msdos.mod, part_plan.mod,
> part_sun.mod, part_sunpc.mod, normal.mod} not found
> 
> uefi boot -> boot/grub/x86_64-efi/{part_acorn.mod, part_amiga.mod,
> part_bsd.mod, part_dvh.mod, part_plan.mod, part_sun.mod,
> part_sunpc.mod, normal.mod} not found
> 
> 
> $ grub-mkrescue -o grub.iso iso .. Cd boots OK, but it copies all of
> the i386-pc and x86_64-efi modules to the iso.
> 
> So, even though grub-mkrescue embeds the modules it needs to boot
> from cd/dvd into eltorito.img and efi.img, it will not boot unless a
> bunch of other (unneeded) modules are present in the iso.
> 

I am not sure how you came to this conclusion. In half of cases above it
does not even build rescue image; in other cases it boots but not the
way you expect :)

> A couple of questions:
> 
> 1. Why does grub-mkrescue create a 2.88mb efi.img, when the embedded
> bootx64.efi is less than 400kb?
> 

I do not know. Probably to be on safe side. If you start to play with
embedding modules it grows ...

> 2. Why are /System/Library/CoreServices/boot.efi and /efi.img
> containing /efi/boot/bootx64.efi both required (if I understand
> correctly boot.efi and bootx64.efi are the same file)?
> 

/System/Library/CoreServices/boot.efi is for Apple. It is not always the
same as bootx64.efi.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]