blaufish observa que
the original /boot/efi/EFI/ubuntu/grub.cfg had just been a three lines file referring /boot/grub.cfg.
Este grub.cfg de três linhas é não usado , pelo menos no meu grub 2.02-2ubuntu8.6 com btrfs. A segunda linha lê
set prefix=($root)'/@/boot/grub'
Agora não há @ on $ root, e não havia quando o grub-install foi executado. (@ foi uma instalação zesty que se tornou corrupta e deletada há algum tempo.) Em vez disso, o caminho do grub para o grub.cfg é escrito no executável grubx64.efi. Pode-se ver o que é isso executando
strings grubx64.efi | tail
Eu menciono isso porque alguém pode imaginar, como eu fiz uma vez, que mudar este grub.cfg para apontar para outro lugar seria útil. Eu uso a opção --boot-directory para instalar o grub para definir isso. Eu tenho a raiz btrfs montada (subvolide = 5, subvol = /) em / mnt / top, e quero arrancar para / @ grub:
--boot-directory=/mnt/top/@grub/boot
(Eu não tenho certeza se isso sempre funcionou. Quando eu tentei instalar o grub pela primeira vez independentemente de qualquer instalação no btrfs, eu tive problemas, e acabei usando um snapshot que eu poderia inicializar para fazer o grub-install write o que eu queria, mas agora é bom.)