GRUB no puede encontrar Windows ESP

GRUB no puede encontrar Windows ESP

Tengo 2 ESP, lo cual puede ser el problema, pero creo que es posible solucionarlo ya que puedo iniciar manualmente usando GRUB SET. De todos modos esta es mi configuración. Por favor ignore ciertos posibles errores tipográficos ya que estoy reescribiendo en otra 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 de 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

entonces en la entrada de GRUB 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

Esto provoca el siguiente error al intentar iniciar Windows:

error: unspecified search type
error: file '/EFI/Microsoft/Boot/bootmgfw.efi' not found.

Entonces voy a la línea de comando de GRUB:

grub> set
...
cmdpath=(hd1,gpt6)/EFI/grub
...
grub> search.fs_uuid 4C77-A2D0
 hd1,gpt2

Estoy en hd1 en lugar de hd0 y grub pudo encontrarlo mediante UUID. Intenté modificar las cadenas de sugerencias de mis entradas de menú para buscar hd1,gpt2, pero sigue siendo el mismo error. También lo intenté drivemap -s hd1. Todavía no puede encontrar la partición.

Mi pregunta es por qué GRUB muestra un número de disco duro diferente. ¿Y cómo hago para que ubique la partición?

Respuesta1

Se me olvidó # grub-mkconfig -o /boot/grub/grub.cfgdespués de editar /etc/grub.d/40_custom...

información relacionada