Esqueci de # grub-mkconfig -o /boot/grub/grub.cfg
após editar /etc/grub.d/40_custom
......
Eu tenho 2 ESP, o que pode ser o problema, mas acho que é possível corrigir como eu posso inicializar manualmente usando o GRUB SET. De qualquer forma esta é a minha configuração. Pls ignora certo erro de digitação possível quando eu estou digitando de novo em outra máquina:
fdisk -l
/dev/sda1 Windows recovery
/dev/sda2 EFI system
/dev/sda3 Microsoft reserved
/dev/sda4 Microsoft basic data
/dev/sda5 Windows recovery
/dev/sda6 EFI System (linux)
/dev/sda7 Linux fs
dentro do linux:
# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
4C77-A2D0
# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
--hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2
então na entrada do GRUB eu uso:
insmod part-gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 4C77-A2D0
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
Isso causa o seguinte erro ao tentar inicializar no Windows:
error: unspecified search type
error: file '/EFI/Microsoft/Boot/bootmgfw.efi' not found.
Então eu vou na linha de comando do GRUB:
grub> set
...
cmdpath=(hd1,gpt6)/EFI/grub
...
grub> search.fs_uuid 4C77-A2D0
hd1,gpt2
Estou em hd1 em vez de hd0 e o grub pode encontrar pelo UUID. Eu tentei modificar o meu menuentry hintstrings para pesquisar hd1,gpt2
em vez disso, mas ainda o mesmo erro. Também tentei drivemap -s hd1
. Ainda não consegue encontrar a partição.
Minha pergunta é por que o GRUB mostra um hd diferente. E como faço para localizá-la?