No Ubuntu (e acho que no Debian também) há um script de sistema chamado update-grub que executa grub-mkconfig -o com o caminho correto para o arquivo de configuração grub. 
Existe algum comando semelhante para distribuições baseadas no Red Hat?
Se não, como o sistema sabe onde está o arquivo de configuração do grub para atualizar quando uma nova versão do kernel é instalada?
Resposta
Ações específicas que precisam acontecer quando um pacote RPM é instalado ou removido estão incluídos no próprio pacote RPM na pré-instalação, pós-instalação, pré-desinstalação e pós-desinstalação Seções.
 Para cada pacote RPM instalado, você pode consultar o banco de dados RPM para os scripts exatos que estão incluídos com o comando rpm: 
rpm -q --scripts <package-name> A execução desse comando em um pacote do kernel para CentOS 6 retorna, entre outros:
postinstall scriptlet (using /bin/sh): <snip> /sbin/new-kernel-pkg --package kernel --install 2.6.32-431.17.1.el6.x86_64 || exit $? Do manual:
new-kernel-package– ferramenta para criar script de instalação do kernel
Comentários
Resposta
 Depois de analisar os scripts no Fedora, percebi que o caminho do arquivo de configuração é lido no link simbólico /etc/grub2.conf . A linha grub2-mkconfig correta é assim: 
grub2-mkconfig -o "$(readlink -e /etc/grub2.conf)"  Conforme observado nos comentários, pode ser /etc/grub2.cfg ou /etc/grub2-efi.cfg em um sistema UEFI. Na verdade,  ambos os links podem estar presentes ao mesmo tempo e  apontando para locais diferentes  . O sinalizador -e para readlink apresentará um erro se o arquivo de destino não existir, mas em meu sistema ambos existiam … Verifique seus comandos , Eu acho. 
Comentários
-  No CentOS 7, os links parecem ser /etc/grub2.cfg
- grub2-mkconfig –output = / boot / grub2 / grub.cfg parece ser a forma aprovada no manual do fedora
- Para mais etapas grub específicas do CentOS 7, verifique o wiki oficial: wiki.centos.org/HowTos/Grub2
-  Se você tem um sistema UEFI você ‘ ll want sudo grub2-mkconfig -o "$(readlink /etc/grub2-efi.cfg)"
- Não vejo sentido em fazer readlink
Resposta
No Fedora eu uso:
grub2-mkconfig -o "$(readlink -e /etc/grub2.cfg)"  porque executando sem opção para readlink retorna um caminho relativo e grub2-mkconfig fornece um erro: 
$ ls -l /etc/grub2.cfg lrwxrwxrwx. 1 root root 22 Dec 10 2015 /etc/grub2.cfg -> ../boot/grub2/grub.cfg $ readlink /etc/grub2.cfg ../boot/grub2/grub.cfg $ sudo grub2-mkconfig -o "$(readlink /etc/grub2.cfg)" /usr/sbin/grub2-mkconfig: line 244: ../boot/grub2/grub.cfg.new: No such file or directory  Eu uso o -e então que se o link simbólico não resolver para um arquivo existente, a saída será exibida em stdout, então eu sei que algo deu errado. 
A partir da página do manual para readlink:
 -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist Resposta
No Fedora, o link simbólico /etc/grub2.cfg aponta para a versão do BIOS. Em um sistema UEFI, use:
$ sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg No CentOS:
$ sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg Geralmente, você pode usar em seu lugar:
$ sudo grub2-mkconfig -o $(readlink -f /etc/grub2-efi.cfg) Resposta
 editar arquivo grub com vi ou vim, salve as alterações e feche o editor com: wq!
Isso é o que você precisa executar para atualizar o grub no RedHat ou CentOS:
grub2-mkconfig -o /boot/grub2/grub.cfg Resposta
De acordo com a documentação do RedHat :
Mudanças em
/etc/default/grubrequerem a reconstrução do arquivogrub.cfgda seguinte forma:
No BIOS- máquinas baseadas, emita o seguinte comando como root:
~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Em máquinas baseadas em UEFI, problema o seguinte comando como root:
~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
Resposta
 O update-grub script no Ubuntu é na verdade apenas um  stub para grub-mkconfig  e pode ser adaptado a outras distros sem muita dor. Aqui está em sua totalidade: 
#!/bin/sh set -e exec grub-mkconfig -o /boot/grub/grub.cfg "$@"  Isso efetivamente faz o que é recomendado no  wiki do CentOS , e em outras respostas aqui – a única diferença é que você precisa alterar grub para grub2 no comando e no caminho de saída . 
Resposta
No Fedora 32:
 sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg  
Resposta
Funcionou no CentOS Linux 8 –
sudo grub2-mkconfig --output=/boot/grub2/grub.cfg   
 
Resposta
Nas Diretrizes do Fedora 33 fornece o seguinte após alterar o Grub
 $ sudo grub2-mkconfig --output=/boot/grub2/grub.cfg 
E sim, eu sei que esta postagem tem 6 anos
/bin/kernel-installem vez disso. Edite sua resposta para incluir essas informações para referência futura.