Primeiramente, recomendo que você envie um relatório de bug sobre seus problemas, conforme descrito aqui. Não há garantias de que isso será produzir resultados positivos, mas sem relatórios de bugs, é muito improvável que os desenvolvedores corrijam problemas.
Segundo, você disse que usou o seguinte comando manualmente para tentar registrar o GRUB com o firmware:
sudo efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu
Esse comando, no entanto, está perdendo um parâmetro importante: -l {filename} . Além disso, nunca antes vi -w como uma opção obrigatória, então isso provavelmente deve ser removido. No total, seu comando deve ser:
sudo efibootmgr -c -d /dev/sda -p 1 -L ubuntu -l \EFI\ubuntu\grubx64.efi
Altere grubx64.efi para shimx64.efi se tiver certeza de que o arquivo shimx64.efi está instalado e se você deseja inicializar com a inicialização segura ativa. Dado que a instalação principal do sistema operacional está congelando, tenho dúvidas de que essa mudança ajudará, mas vale a pena tentar.
Quanto ao resto, acredito que a opção --no-nvram para grub-install evite tentar atualizar as variáveis NVRAM via efibootmgr . Esta opção não é mencionada na página man , mas acredito que seja uma opção válida.
Você também pode querer consultar a minha página sobre os carregadores de inicialização EFI para Linux, e especialmente seu < Subpágina sobre como instalar os gerenciadores de inicialização. Eles lhe darão algumas informações sobre como as "porcas e parafusos" de essas operações continuam. Você pode até querer usar algo diferente do GRUB 2 como seu gerenciador de partida.
Para inicializar usando o nome do arquivo padrão, copie todos os /boot/efi/EFI/ubuntu para /boot/efi/EFI/BOOT e renomeie grubx64.efi para bootx64.efi dentro desse diretório. Como alternativa, você poderia instalar outra coisa usando o nome do arquivo de fallback. Uma grande ressalva com isso é que isso pode não funcionar se o computador já estiver inicializando o Windows (ou algum outro sistema operacional). Nesse caso, talvez seja necessário "seqüestrar" o carregador de inicialização do Windows, substituindo-o pelo GRUB 2 (ou o que você quiser usar) e movendo o carregador de inicialização do Windows para outro lugar.