On Sat, Mar 5, 2016 at 10:35 PM, Andrei Borzenkov <[email protected]> wrote: > 05.03.2016 20:27, Arjun Krishnan пишет: >> I installed grub-efi using >> >> grub-install --efi-directory=/mnt/efi --boot-directory=/boot >> --target=x86_64-efi >> >> I did not specify a root partition anywhere (like you used to have to, >> when installing it to the mbr), so how does grub set its $root and >> $prefix? >> > > grub-install configures image so that it will look for disk where > /boot/grub is located at boot time and set $root and $prefix accordingly. > >> So I looked at a dual booting system that has two efi grub >> installations, ubuntu and arch. It has a /efi/ubuntu directory that >> has a grubx64.efi file and a grub.cfg. This grub.cfg simply sets the > > On EFI binary can query firmware for path it was loaded from. GRUB image > can be configured so that it will use this information as value of $prefix.
This explains how GRUB finds the path it was loaded from, and hence the grub.cfg if it's in the path. But it doesn't explain the archlinux setup, where there is no grub.cfg. Is it stored in the efi file? >> correct prefix and root. I suppose the --efi-directory is used as a >> system root partition. However, inside /efi/arch I simply have a >> grubx64.efi. The root and prefix are nowhere to be found. I even when >> I tried to read the efi file in hex. >> >> How does the grubx64.efi on the arch side figure out the correct >> system root partition? >> >> >> Arjun >> >> _______________________________________________ >> Help-grub mailing list >> [email protected] >> https://lists.gnu.org/mailman/listinfo/help-grub >> > _______________________________________________ Help-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-grub
