[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: EFI NVMe Grub does not see any disk
From: |
Manuel Lauss |
Subject: |
Re: EFI NVMe Grub does not see any disk |
Date: |
Wed, 19 Apr 2017 20:45:19 +0200 |
Hi Andrei,
On Wed, Apr 19, 2017 at 8:09 PM, Andrei Borzenkov <address@hidden> wrote:
> 19.04.2017 20:31, Manuel Lauss пишет:
>> Hi Andrei,
>>
>> On Wed, Apr 19, 2017 at 7:15 PM, Andrei Borzenkov <address@hidden> wrote:
>>> 19.04.2017 14:47, Manuel Lauss пишет:
>>>> Hello,
>>>>
>>>> I'm trying to get grub running on an EFI system which only has a NVMe disk.
>>>> My problem is that when grub is launched by EFI (from the ESP), it
>>>> does not see any disks at all,
>>>> 'ls' just prints "(proc)" and nothing more. Is there a way to get
>>>> grub to recognize the disk
>>>> the firmware has loaded it from?
>>>>
>>>> It's installed this way, /boot/efi is /dev/nvme0n1p2, which is the
>>>> ESP. Version is 2.02_rc2
>>>> grub-install --efi-directory=/boot/efi --no-nvram --target=x86_64-efi
>>>> --compress=xz --themes="breeze" /dev/nvme0n1p2
>>>>
>>>
>>> GRUB relies on EFI for disk access and needs BlockIO protocol on device
>>> so it can work with it. It may be that EFI NVMe driver on your system
>>> does not implement it. Can you boot EFI shell on your system? This could
>>> be used to verify what protocols are present for which device.
>>
>> Yes EFI Shell is available, and can be used to e.g. start the grub efi binary
>> on the nvme device just fine.
>
> Could you run
>
> dh -d
>
> in EFI shell and send me result? You can redirect output to file on ESP
> using standard syntax
>
> dh -d > dh.out
It is attached. I guess entry 0x60 is the relevant NVMe one.
>> Is there a special grub module required to
>> get EFI BlockIO Protocol support?
>>
>
> You misunderstand. GRUB relies on and requires BlockIO protocol to be
> provided by platform driver. But NVMe device in principle is not
> required to implement it - EFI specification defines another protocol
> specifically for NVMe. EFI shell is (likely) using Simple File System
> protocol that can be implemented on top of anything.
Ok, learned something new.
Thank you!
Manuel
dh.txt
Description: Text document