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 <[email protected]> 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 >> PciRoot(0x0)/Pci(0x12,0x2)/USB(5,0)/USB(1,0)/File(\EFI\arch\grubx64.efi) >> Boot0003* Test >> >> HD(7,GPT,c92e4c3a-00d8-41cf-81f4-3d3c5a8e86aa,0x3a282000,0x104000)/File(\EFI\Microsoft\Boot\bootmgfw.efi) >> Boot0004* UEFI: FAT File System >> PciRoot(0x0)/Pci(0x12,0x2)/USB(5,0)/USB(1,0) >> Boot0005* Removable Drive BBS(Floppy,,0x0)SPCC USB Flash Memory1.00. >> Boot0006* arch >> >> HD(7,GPT,c92e4c3a-00d8-41cf-81f4-3d3c5a8e86aa,0x3a282000,0x104000)/File(\EFI\arch\grubx64.efi) >> Boot0008* Windows Boot Manager >> >> HD(7,GPT,c92e4c3a-00d8-41cf-81f4-3d3c5a8e86aa,0x3a282000,0x104000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}.................... >> >> 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 <[email protected]> >> wrote: >> >> 15.09.2015 22:40, Vyacheslav Gonakhchyan пишет: >>> >>> map -v >>>> >>>>> >>>>> Mapping table >>>> FS0: Alias(s):F7f0b0:;BLK5: >>>> PciRoot(0x0)/Pci(0x12,0x2)/USB(0x5,0x0)/USB(0x1,0x0) >>>> Handle: [C5] >>>> Media Type: Unknown >>>> Removable: Yes >>>> Current Dir: FS0: >>>> BLK0: Alias(s): >>>> PciRoot(0x0)/Pci(0x11,0x0)/Sata(0x0,0x0) >>>> Handle: [CC] >>>> Media Type: Unknown >>>> Removable: No >>>> Current Dir: BLK0: >>>> BLK2: Alias(s): >>>> PciRoot(0x0)/Pci(0x11,0x0)/Sata(0x1,0x0) >>>> Handle: [CD] >>>> Media Type: Unknown >>>> Removable: No >>>> Current Dir: BLK2: >>>> BLK4: Alias(s): >>>> PciRoot(0x0)/Pci(0x11,0x0)/Sata(0x2,0x0) >>>> Handle: [CE] >>>> Media Type: Unknown >>>> Removable: No >>>> Current Dir: BLK4: >>>> BLK1: Alias(s): >>>> >>>> >>>> >>>> PciRoot(0x0)/Pci(0x11,0x0)/Sata(0x0,0x0)/HD(1,MBR,0x91E11F57,0x1,0x3A38602F) >>>> Handle: [CF] >>>> Media Type: HardDisk >>>> Removable: No >>>> Current Dir: BLK1: >>>> BLK3: Alias(s): >>>> >>>> >>>> >>>> PciRoot(0x0)/Pci(0x11,0x0)/Sata(0x1,0x0)/HD(1,MBR,0x00040B8F,0x3F,0x74705982) >>>> 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 >>>> work >>>> 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 <[email protected]> >>> >>>> wrote: >>>> >>>> On Tue, Sep 15, 2015 at 12:28 PM, Vyacheslav Gonakhchyan >>>> >>>>> <[email protected]> wrote: >>>>> >>>>> Attached devtree output. Don't have serial console so provided image >>>>>> >>>>>> links. >>>>> >>>>> >>>>>> Do you see entry corresponding to hd1,gpt7? >>>>>> >>>>>>> >>>>>>> Only HD entries I see: >>>>>> http://postimg.org/image/5a5n8yylv/ >>>>>> Entire lsefi output: >>>>>> http://postimg.org/gallery/206hl6qfo/fcc52503/?code=fcc52503 >>>>>> >>>>>> >>>>>> ls -l output: >>>>>> http://postimg.org/image/ntoj0d7lf/ >>>>>> http://postimg.org/image/666q25xo3/ >>>>>> >>>>>> >>>>>> 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 <[email protected] >>>>> > >>>>> >>>>>> wrote: >>>>>> >>>>>> >>>>>>> 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 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>> HD(<partition_number>,<partition_start>,<partition_size>,<partition_signature>,<partmap_type>,<signature_type>) >>>>> >>>>> >>>>>> 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 >>>>>>> >>>>>>> you >>>>>> >>>>> >>>>> 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 < >>>>>>> [email protected] >>>>>>> >>>>>>>> >>>>>>>> >>>>>>> wrote: >>>>>> >>>>>>> >>>>>>>> 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 >>>>>>>>>> >>>>>>>>> >>>>>>>>> $root >>>>>>>> >>>>>>> >>>>> (i.e. in your case - partition gpt7). GRUB itself needs just disk >>>>>> >>>>>>> reference >>>>>>>>> and handles partitions internally. But when launching external >>>>>>>>> binary >>>>>>>>> >>>>>>>>> it >>>>>>>> >>>>>>> >>>>> wants to pass it reference to device where it is located which means >>>>>> >>>>>>> >>>>>>>>> it >>>>>>>> >>>>>>> >>>>> must be exported and accessible by firmware. >>>>>> >>>>>>> >>>>>>>>> The first step would be to try to reproduce it using upstream >>>>>>>>> sources. >>>>>>>>> >>>>>>>>> >>>>>>>>> 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 < >>>>>>>>>> >>>>>>>>>> [email protected]> >>>>>>>>> >>>>>>>> >>>>> wrote: >>>>>> >>>>>>> >>>>>>>>>> On Mon, Sep 14, 2015 at 2:36 PM, Vyacheslav Gonakhchyan >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> <[email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>> Hi, everyone! >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> I have dual boot config Archlinux/Windows7 and latest packages. >>>>>>>>>>>> I >>>>>>>>>>>> >>>>>>>>>>>> am >>>>>>>>>>> >>>>>>>>>> >>>>> >>>>>> booted >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> into grub rescue mode. Or use command line. I want to tell Grub2 >>>>>>>>>>> to >>>>>>>>>>> >>>>>>>>>>>> load >>>>>>>>>>>> Windows Boot Loader bootmgfw.efi. Basically grub2 refuses to do >>>>>>>>>>>> it >>>>>>>>>>>> with >>>>>>>>>>>> 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 >>>>>>>>>>>> >>>>>>>>>>> grub_platform? >>>>>>>>>>> >>>>>>>>>>> echo $grub_cpu $grub_platform >>>>>>>>>>> >>>>>>>>>>> So grub2 finds bootmgfw.efi but cannot give it control. I tried >>>>>>>>>>> >>>>>>>>>>> every >>>>>>>>>> >>>>>>>>> >>>>> >>>>>> >>>>>>>>>>>> other >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> hd1,gpt combination to no avail. I also tried setting root to >>>>>>>>>>> one >>>>>>>>>>> >>>>>>>>>>>> device >>>>>>>>>>>> and loading bootmgfw.efi from another device(hd1,gpt7). >>>>>>>>>>>> It's strange because I can load this file from shell >>>>>>>>>>>> (shellx64.efi) >>>>>>>>>>>> >>>>>>>>>>>> within >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> UEFI BIOS without error. Any advice is appreciated. >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Regards, >>>>>>>>>>>> Viacheslav >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> Help-grub mailing list >>>>>>>>>>>> [email protected] >>>>>>>>>>>> https://lists.gnu.org/mailman/listinfo/help-grub >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
sda_last_512.out
Description: Binary data
_______________________________________________ Help-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-grub
