[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: EFI NVMe Grub does not see any disk
From: |
Andrei Borzenkov |
Subject: |
Re: EFI NVMe Grub does not see any disk |
Date: |
Wed, 19 Apr 2017 21:09:28 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
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
> 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.