|
From: | Arjun Krishnan |
Subject: | Re: How does the grub efi know where to look for the grub.cfg? |
Date: | Mon, 7 Mar 2016 09:05:24 -0700 |
06.03.2016 18:34, Arjun Krishnan пишет:
> On Sat, Mar 5, 2016 at 10:35 PM, Andrei Borzenkov <address@hidden> 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
>>> address@hidden
>>> https://lists.gnu.org/mailman/listinfo/help-grub
>>>
>>
[Prev in Thread] | Current Thread | [Next in Thread] |