In Ubuntu (e immagino anche in Debian) cè uno script di sistema chiamato update-grub che viene eseguito automaticamente grub-mkconfig -o con il percorso corretto per il file di configurazione di grub. 
Esiste un comando simile per le distribuzioni basate su Red Hat?
In caso contrario, come il sistema sa dove si trova il file di configurazione di grub da aggiornare quando viene installata una nuova versione del kernel?
Risposta
Azioni specifiche che devono verificarsi quando un pacchetto RPM viene installato o rimosso sono inclusi allinterno del pacchetto RPM stesso nella pre-installazione, post-installazione, pre-disinstallazione e post-disinstallazione sezioni.
 Per ogni pacchetto RPM installato è possibile interrogare il database RPM per gli script esatti inclusi con il comando rpm: 
rpm -q --scripts <package-name> Lesecuzione di quel comando su un pacchetto del kernel per CentOS 6 restituisce tra gli altri:
postinstall scriptlet (using /bin/sh): <snip> /sbin/new-kernel-pkg --package kernel --install 2.6.32-431.17.1.el6.x86_64 || exit $? Dal manuale:
new-kernel-package– strumento per eseguire lo script dellinstallazione del kernel
Commenti
Risposta
 Dopo aver analizzato gli script in Fedora, mi rendo conto che il percorso del file di configurazione viene letto dal link simbolico /etc/grub2.conf . La riga grub2-mkconfig corretta è quindi: 
grub2-mkconfig -o "$(readlink -e /etc/grub2.conf)"  Come indicato nei commenti, potrebbe essere /etc/grub2.cfg o /etc/grub2-efi.cfg su un sistema UEFI. In realtà,  entrambi i collegamenti potrebbero essere presenti contemporaneamente e  puntano a posizioni diverse  . Il -e flag a readlink verrà visualizzato in errore se il file di destinazione non esiste, ma sul mio sistema esistevano entrambi … Controlla i tuoi comandi , Immagino. 
Commenti
-  Su CentOS 7 i collegamenti sembrano essere /etc/grub2.cfg
- grub2-mkconfig –output = / boot / grub2 / grub.cfg sembra essere il modo approvato nel manuale fedora
- Per ulteriori passaggi di grub specifici per CentOS 7, controlla il wiki ufficiale: wiki.centos.org/HowTos/Grub2
-  Se disponi di un sistema UEFI, ‘ voglio sudo grub2-mkconfig -o "$(readlink /etc/grub2-efi.cfg)"
- Non vedo alcun motivo per fare readlink
Risposta
Su Fedora utilizzo:
grub2-mkconfig -o "$(readlink -e /etc/grub2.cfg)"  perché in esecuzione senza opzioni per readlink restituisce un percorso relativo e grub2-mkconfig restituisce un errore: 
$ 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  Uso -e opzione così che se il link simbolico non si risolve in un file esistente, loutput viene visualizzato su stdout, quindi so che qualcosa è andato storto. 
Dalla pagina man di readlink:
 -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist Risposta
In Fedora, il collegamento simbolico /etc/grub2.cfg punta alla versione del BIOS. Su un sistema UEFI, utilizza:
$ sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg In CentOS:
$ sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg In generale, potresti utilizzare invece:
$ sudo grub2-mkconfig -o $(readlink -f /etc/grub2-efi.cfg) Risposta
 modifica file grub con vi o vim, salva le modifiche e chiudi leditor con: wq!
Questo è ciò di cui hai bisogno per aggiornare grub in RedHat o CentOS:
grub2-mkconfig -o /boot/grub2/grub.cfg Risposta
Secondo la documentazione di RedHat :
Le modifiche a
/etc/default/grubrichiedono la ricostruzione del filegrub.cfgcome segue:
Su BIOS- macchine basate su, emettere il seguente comando come root:
~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Su macchine basate su UEFI, problema il seguente comando come root:
~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
Risposta
 Lo script update-grub in Ubuntu è in realtà solo un  stub per grub-mkconfig  e può essere adattato ad altre distribuzioni senza troppi problemi. Eccolo nella sua interezza: 
#!/bin/sh set -e exec grub-mkconfig -o /boot/grub/grub.cfg "$@"  Questo fa efficacemente ciò che è raccomandato nel  wiki CentOS , e in altre risposte qui – lunica differenza è che devi cambiare grub in grub2 nel comando e nel percorso di output . 
Risposta
Su Fedora 32:
 sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg  
Risposta
Ha lavorato su CentOS Linux 8 –
sudo grub2-mkconfig --output=/boot/grub2/grub.cfg   
 
Answer
Nelle linee guida di Fedora 33 fornisce quanto segue dopo aver cambiato Grub
 $ sudo grub2-mkconfig --output=/boot/grub2/grub.cfg 
E sì, so che questo post ha 6 anni
/bin/kernel-install. Modifica la tua risposta per includere queste informazioni per riferimento futuro