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.