[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How does the grub efi know where to look for the grub.cfg?
From: |
Andrei Borzenkov |
Subject: |
Re: How does the grub efi know where to look for the grub.cfg? |
Date: |
Mon, 7 Mar 2016 08:33:00 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 |
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
>>>
>>