carregador de boot (GRUB) não reconhecido na partição junto com o gerenciador de inicialização do Windows

1

Primeiro, explicarei minha situação

  • Dispositivo: ASUS x205ta com eMMC de 32 GB (Windows 8.1 + Bing instalado). Vamos chamar isso de /dev/mmcblk0
  • pen drive usb: 64GB Sandisk ultra. instalado o Ubuntu 14.04. Vamos chamar isso de /dev/sda

confira o resultado de parted -l

root@chkwag-X205TA:/home/chkwag# parted -l
Model: SanDisk SanDisk Ultra (scsi)
Disk /dev/sda: 31.6GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system     Name  Flags
 1      1049kB  2048MB  2047MB  linux-swap(v1)
 2      2048MB  2147MB  99.6MB  fat32                 boot
 3      2147MB  31.6GB  29.5GB  ext4


Error: /dev/mmcblk0rpmb: unrecognised disk label                          

Error: /dev/mmcblk0boot0: unrecognised disk label                         

Error: /dev/mmcblk0boot1: unrecognised disk label                         

Model: MMC SDW32G (sd/mmc)
Disk /dev/mmcblk0: 31.3GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  106MB   105MB   fat32        EFI system partition          boot
 2      106MB   240MB   134MB                Microsoft reserved partition  msftres
 3      240MB   20.5GB  20.3GB  ntfs         Basic data partition          msftdata
 4      20.5GB  31.3GB  10.7GB  ntfs         Basic data partition          hidden, diag

O eMMC e a unidade flash têm um ESP (formato: FAT32). Atualmente, estou carregando o Ubuntu através do GRUB2 (denominado bootia32.efi ) no ESP da unidade flash USB adicionando uma entrada de menu UEFI apontando para esse arquivo bootia32.efi . (Entrada grub-stable abaixo)

confira as entradas do menu UEFI:

root@chkwag-X205TA:/home/chkwag# efibootmgr -v
BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0005,0007,0006,000C,0000,0001,0002,0003
Boot0000* Windows Boot Manager  HD(1,800,32000,321f056d-350b-44ac-ac85-b19a4fac6b77)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.}...e................
Boot0001* UEFI:CD/DVD Drive BIOS(81,0,00)
Boot0002* UEFI:Removable Device BIOS(82,0,00)
Boot0003* UEFI:Network Device   BIOS(83,0,00)
Boot0005* grub_stable   HD(2,3d0800,2f800,97a32bdd-cbf7-4583-a071-d205f5134f43)File(\EFI\BOOT\bootia32.efi)
Boot0006* fakeMS    HD(1,800,32000,321f056d-350b-44ac-ac85-b19a4fac6b77)File(\EFI\FAKE_MS\BOOT\BOOTMGFW.EFI)
Boot0007* grub1 HD(1,800,32000,321f056d-350b-44ac-ac85-b19a4fac6b77)File(\EFI\GRUB32.EFI)
Boot000C* UEFI: SanDisk SanDisk Ultra PMAP  ACPI(a0341d0,0)PCI(14,0)USB(2,0)USB(2,0)HD(2,3d0800,2f800,97a32bdd-cbf7-4583-a071-d205f5134f43)..BO
root@chkwag-X205TA:/home/chkwag# 

No sentido de construir um sistema dual-boot, isso é suficiente, mas eu queria levar isso mais longe e obter o firmware UEFI para carregar o GRUB2 a partir do ESP do eMMC (apenas uma missão pessoal). Para fazer isso, acabei de copiar bootia32.efi que usei antes no ESP do eMMC e fiz uma entrada no menu UEFI carregando esse arquivo explicitamente. (entrada chamada grub1 . grub32.efi é apenas uma versão renomeada de bootia32.efi )

Teoricamente, acredito que isso esteja correto. No entanto, quando eu uso essa entrada do menu UEFI, não irei trabalhar e apenas executar o gerenciador de inicialização original do Windows, também localizado no mesmo ESP.

Eu fiz tudo o que pude, como renomear bootia32.efi para outra coisa ou substituir o gerenciador de inicialização original do Windows ( bootmgfw.efi ) por bootia32.efi com o mesmo nome. Mas todas as tentativas falharam.

Como eu disse, se tudo está definido corretamente de acordo com a teoria, então o que está faltando? O que mais pode de alguma forma ignorar a entrada do menu UEFI que carrega o GRUB2 e decide apenas carregar o gerenciador de inicialização do Windows? Ou como outra possibilidade, bootia32.efi no ESP do eMMC é de alguma forma magicamente não funciona?

A ordem de inicialização não deve ser um problema aqui, pois se a entrada do menu estiver correta, não há necessidade de passar para a próxima ordem de inicialização. Além disso, confirmei que o carregamento de bootia32.efi sozinho ainda deve me fornecer uma linha de comando com interface GRUB2 se grub.cfg não for encontrado nas proximidades.

    
por do_os 28.07.2015 / 22:17

1 resposta

0

Para verificar a possibilidade de firmware EFI personalizado que me impeça do que eu quero fazer, perguntei ao suporte técnico da ASUS sobre este assunto. Recebi uma resposta dizendo que eles não podem responder a essas tentativas que exigem modificação do firmware.

Embora essa resposta não elucide a causa do problema, mas aumenta a possibilidade de o firmware ser manipulado. A engenharia reversa no firmware da BIOS é necessária para uma investigação mais aprofundada, mas devido à profundidade e dificuldade técnica de tal abordagem, seria apropriado terminar esta questão aqui.

    
por 02.08.2015 / 21:05