06.03.2016 18:34, Arjun Krishnan пишет: > 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.
I answered this in previous sentence. > Is it stored in the efi file? > No. It would make reconfiguring GRUB too difficult. When GRUB starts it reads $prefix/grub.cfg. >>> 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
