Introduzione
Modificheremo CentOS 8 il parametro di configurazione di GRUB2 e lo cambieremo usando grubby per avviare con il vecchio kernel o per modificare la voce di avvio predefinita per il kernel nel sistema.
Sporco è uno strumento da riga di comando per l'aggiornamento e la visualizzazione di informazioni sui file di configurazione per vari bootloader specifici dell'architettura. È progettato principalmente per essere_utilizzato da script che installano nuovi kernel e necessitano di trovare informazioni sull'ambiente di avvio corrente.
Grubby utilizzerà queste impostazioni predefinite per cercare una configurazione esistente. Se non viene trovato alcun file di configurazione del bootloader, grubby utilizzerà il valore predefinito per quell'architettura.
Dalla pagina man di sporco , Ecco alcuni degli argomenti che utilizzeremo:
--set-default=kernel-path
The first entry which boots the specified kernel is made the default boot entry. This may not be invoked with --set-default-index.
--set-default-index=entry-index
Makes the given entry number the default boot entry. This may not be invoked with --set-default. The given value represents the index in the post-modification boot entry list.
--default-kernel
Display the full path to the current default kernel and exit.
--default-index
Display the numeric index of the current default boot entry and exit.
--info=kernel-path
Display information on all boot entries which match kernel-path. If kernel-path is DEFAULT, then information on the default kernel is displayed. If kernel-path is ALL, then information on all boot entries are dis‐played.
Controlla il kernel di avvio predefinito e avvia con il vecchio kernel
Segui i passaggi seguenti
- Prima di configurare il nostro CentOS per l'avvio con il vecchio kernel versione, controlla la corrente kernel predefinito con il comando seguente.
[root@unixcop ~]# grubby --default-kernel
/boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64
- Per controllare l'indice mappato con questo kernel
[root@unixcop ~]# grubby --default-index
0
[root@unixcop ~]#
NOTA :Il sporco –indice-predefinito il comando avrà un output NULL se solo un kernel è installato sul tuo sistema.
- Per ottenere maggiori informazioni su un'immagine initrd specificata, puoi utilizzare il comando seguente
grubby --info=/boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64
- Elenco di initrd immagine disponibile sul tuo sistema.
[[root@unixcop ~]# ls -l /boot/vmlinuz-*
-rwxr-xr-x. 1 root root 10034312 Aug 30 15:38 /boot/vmlinuz-0-rescue-6b373fdfa30442f7870b901d0b7ce04a
-rwxr-xr-x. 1 root root 7868768 Jun 12 18:59 /boot/vmlinuz-4.18.0-231.2.el8_0.x86_64
-rwxr-xr-x. 1 root root 7876960 Jun 15 16:22 /boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64
-rwxr-xr-x. 1 root root 7872864 Feb 10 18:04 /boot/vmlinuz-4.18.0-80.el8.x86_64
- Ottieni l'elenco dei kernel disponibili installati sul tuo sistema
[root@unixcop ~]# rpm -qa | grep kernel | sort -V
kernel-4.18.0-231.2.el8_0.x86_64
kernel-4.18.0-305.12.1.el8_4.x86_64
kernel-4.18.0-80.el8.x86_64
kernel-core-4.18.0-305.12.1.el8_4.x86_64
kernel-headers-4.18.0-348.2.1.el8_5.x86_64
kernel-modules-4.18.0-231.2.el8_0.x86_64
kernel-modules-4.18.0-305.12.1.el8_4.x86_64
kernel-modules-4.18.0-80.el8.x86_64
kernel-tools-4.18.0-231.2.el8_0.x86_64
kernel-tools-4.18.0-305.12.1.el8_4.x86_64
kernel-tools-4.18.0-80.el8.x86_64
kernel-tools-libs-4.18.0-305.12.1.el8_4.x86_64
[root@unixcop ~]#
NOTA :poiché il tuo sistema è in esecuzione con l'ultimo kernel disponibile sul mio sistema, l'indice verrà visualizzato come "0 ” quindi la versione precedente verrà mappata con index 1 quindi la versione precedente successiva verrà mappata con indice 2
[root@unixcop ~]# uname -r
4.18.0-305.12.1.el8_4.x86_64
[root@unixcop ~]#
- Quindi avvia il tuo sistema con un kernel precedente utilizzando il comando seguente utilizzando –set-default opzione.
[root@unixcop ~]# grubby --set-default-index=1
The default is /boot/loader/entries/6b373fdfa30442f7870b901d0b7ce04a-4.18.0-231.2.el8_0.x86_64.conf with index 1 and kernel /boot/vmlinuz-4.18.0-231.2.el8_0.x86_64
[root@unixcop ~]#
- Riavvia il sistema
reboot
- Controlla il kernel predefinito usando il quale il sistema verrà avviato al prossimo riavvio.
[root@unixcop ~]# grubby --default-kernel
/boot/vmlinuz-4.18.0-231.2.el8_0.x86_64
- Controlla il valore dell'indice predefinito che sarà attivo dopo il riavvio
grubby --default-index
[root@unixcop ~]# cat /proc/cmdline
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-231.2.el8_0.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet
Conclusione
Questo è tutto,
Abbiamo illustrato come configurare CentOS 8 per l'avvio con il vecchio kernel,
Grazie...