[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Grub2 chainloader bootmgfw.efi not working

From: Vyacheslav Gonakhchyan
Subject: Re: Grub2 chainloader bootmgfw.efi not working
Date: Thu, 17 Sep 2015 00:11:18 +0300

That was probably incorrect usage of ddrescue :(
Here's more accurate output from
dd if=/dev/sda count=1 bs=512 skip=976773167

Do you know how to read it or it's just to make sure that it's gpt header?

On Wed, Sep 16, 2015 at 7:46 PM, Andrei Borzenkov <address@hidden> wrote:
16.09.2015 10:04, Vyacheslav Gonakhchyan пишет:

I boot using option "usb". It goes into grub rescue mode. Maybe it reads
devices from grubx64.efi. Other boot options "arch", "Test" don't work and
give me black screen with blinking cursor.

efibootmgr -v
BootCurrent: 0002
Timeout: 3 seconds
BootOrder: 0008,0006,0003,0001,0000,0004,0005,0002
Boot0000* CD/DVD Drive    BBS(CDROM,,0x0)
Boot0001* Hard Drive    BBS(HD,,0x0)
Boot0002* usb
Boot0003* Test
Boot0004* UEFI: FAT File System
Boot0005* Removable Drive    BBS(Floppy,,0x0)SPCC USB Flash Memory1.00.
Boot0006* arch
Boot0008* Windows Boot Manager

is disk 512b or 4K?
cat /sys/block/sda/queue/hw_sector_size prints 512

Attached output from
dd if=/dev/sda count=1 bs=1024 of=~/sda_1k.out
ddrescue  --reverse  --size=512 /dev/sda ~/sda_last.out

Are you sure it actually saves the last sector? File you attached looks identical to the very first sector. If it is indeed the last one, it may confuse firmware (last sector must contain copy of GPT header but GRUB never checked it).

Otherwise header looks fine. I assume partition table itself should be OK as both grub and Linux accept it.

On Wed, Sep 16, 2015 at 6:24 AM, Andrei Borzenkov <address@hidden>

15.09.2015 22:40, Vyacheslav Gonakhchyan пишет:

map -v

Mapping table
        FS0: Alias(s):F7f0b0:;BLK5:
           Handle:      [C5]
           Media Type:  Unknown
           Removable:   Yes
           Current Dir: FS0:
       BLK0: Alias(s):
           Handle:      [CC]
           Media Type:  Unknown
           Removable:   No
           Current Dir: BLK0:
       BLK2: Alias(s):
           Handle:      [CD]
           Media Type:  Unknown
           Removable:   No
           Current Dir: BLK2:
       BLK4: Alias(s):
           Handle:      [CE]
           Media Type:  Unknown
           Removable:   No
           Current Dir: BLK4:
       BLK1: Alias(s):

           Handle:      [CF]
           Media Type:  HardDisk
           Removable:   No
           Current Dir: BLK1:
       BLK3: Alias(s):

           Handle:      [D0]
           Media Type:  HardDisk
           Removable:   No
           Current Dir: BLK3:

So everything is bad because my MB(ASUS *M5A97*) suddenly cannot discover
gpt partitions?

This explains GRUB behavior. But now I'm extremely confused - can your
system actually boot? Where does it boot from? Could you show "efibootmgr
-v" output?

I have not said it in first mail but this boot situation
started after I tried to resize one partition in Acronis Disk Director 12
and it failed. Maybe it did something to gpt tables. But archlinux can
with them so it's strange.

So does GRUB. Could you attach the first 1K and the last sector from this
disk? And, BTW, is disk 512b or 4K?

On Tue, Sep 15, 2015 at 1:14 PM, Andrei Borzenkov <address@hidden>

On Tue, Sep 15, 2015 at 12:28 PM, Vyacheslav Gonakhchyan
<address@hidden> wrote:

Attached devtree output. Don't have serial console so provided image


Do you see entry corresponding to hd1,gpt7?

Only HD entries I see:
Entire lsefi output:

ls -l output:

Well, you firmware sees two partitions - (hd2,msdos2) and what is
probably protective MBR on hd1. It does *NOT* show any trace of GPT
partitions on hd1.

Could you please boot EFI Shell and attach output of "map -v" command?

On Tue, Sep 15, 2015 at 6:56 AM, Andrei Borzenkov <address@hidden>

15.09.2015 01:18, Vyacheslav Gonakhchyan пишет:

I installed grub-git and efibootmgr-git and reproduced it.
If it matters could not build efivar-git so it's few month behind.

Could you please run "lsefi" in GRUB CLI and look for paths ending with
HD(...). It is structured as


Do you see entry corresponding to hd1,gpt7?

Unless you have serial console you want to do

set pager=1

otherwise it will scroll too fast. Keep in mind that there is no way to
abort output once started you will have to keep paging it until end. If


have serial console, could you attach output as well as "ls -l"?

Could you also boot EFI Shell and attach output of "devtree" (you can
redirect to a file on ESP).

On Mon, Sep 14, 2015 at 7:42 PM, Andrei Borzenkov <address@hidden


14.09.2015 15:36, Vyacheslav Gonakhchyan пишет:

My Grub2 is EFI. I use grub-install --target=x86_64-efi
--efi-directory=/boot/efi /dev/sda which calls efibootmgr to load
grubx64.efi into UEFI BIOS.

OK in this case message means that grub cannot find EFI handle for


(i.e. in your case - partition gpt7). GRUB itself needs just disk
and handles partitions internally. But when launching external binary


wants to pass it reference to device where it is located which means


must be exported and accessible by firmware.

The first step would be to try to reproduce it using upstream

echo $grub_cpu $grub_platform

Sorry, can only check it later. I'm guessing x86_64, efi-64...

On Mon, Sep 14, 2015 at 4:11 PM, Andrei Borzenkov <



On Mon, Sep 14, 2015 at 2:36 PM, Vyacheslav Gonakhchyan

<address@hidden> wrote:

Hi, everyone!

I have dual boot config Archlinux/Windows7 and latest packages. I



into grub rescue mode. Or use command line. I want to tell Grub2 to
Windows Boot Loader bootmgfw.efi. Basically grub2 refuses to do it
error "invalid root device".

Steps to reproduce:

set root=(hd1,gpt7)
chainloader /EFI/Microsoft/Boot/bootmgfw.efi

Screen is flashing with "invalid root device".

Is your grub BIOS or EFI? What are values for grub_cpu and

echo $grub_cpu $grub_platform

So grub2 finds bootmgfw.efi but cannot give it control. I tried



hd1,gpt combination to no avail.  I also tried setting root to one
and loading bootmgfw.efi from another device(hd1,gpt7).
It's strange because I can load this file from shell


UEFI BIOS without error. Any advice is appreciated.


Help-grub mailing list

Attachment: sda_last_512.out
Description: Binary data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]