GNU/Linux >> Linux Esercitazione >  >> Cent OS

CentOS / RHEL 7:spiegato il file di configurazione di GRUB2 /boot/grub2/grub.cfg

Il file di configurazione di GRUB2 /boot/grub2/grub.cfg

– L'avvio di RHEL 7 GRUB 2 è il bootloader. Il file di configurazione di GRUB 2 è /boot/grub2/grub.cfg .
– Non modificare questo file direttamente. Usa grub2-mkconfig comando per generare grub.cfg. Questo comando utilizza gli script del modello in /etc/grub.d e le impostazioni di configurazione del menu prese da /etc/default/grub durante la generazione di grub.cfg.
– Il /etc/grub2.cfg file è un collegamento simbolico a /boot/grub2/grub.cfg.

Di seguito è riportato un esempio di file di configurazione di GRUB2.

..... (skiped for breivity)
### BEGIN /etc/grub.d/10_linux ###
menuentry 'CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-10bac86a-a9be-478c-b63f-46d3ca061e03' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod xfs
	set root='hd0,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  a52207e4-01fd-4f12-98b7-681d56f21dc5
	else
	  search --no-floppy --fs-uuid --set=root a52207e4-01fd-4f12-98b7-681d56f21dc5
	fi
	linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8
	initrd16 /initramfs-3.10.0-514.el7.x86_64.img
}
menuentry 'CentOS Linux (0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e-advanced-10bac86a-a9be-478c-b63f-46d3ca061e03' {
	load_video
	insmod gzio
	insmod part_msdos
	insmod xfs
	set root='hd0,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  a52207e4-01fd-4f12-98b7-681d56f21dc5
	else
	  search --no-floppy --fs-uuid --set=root a52207e4-01fd-4f12-98b7-681d56f21dc5
	fi
	linux16 /vmlinuz-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet
	initrd16 /initramfs-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e.img
}
.......

Il file /etc/default/grub

Le impostazioni di configurazione del menu di GRUB 2 sono prese da /etc/default/grub durante la generazione di grub.cfg. Di seguito sono elencati i contenuti del file /etc/default/grub:

# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

Se vengono apportate modifiche a uno di questi parametri, è necessario eseguire grub2-mkconfig per rigenerare il file /boot/grub2/grub.cfg. Ad esempio:

# grub2-mkconfig –o /boot/grub2/grub.cfg

I valori sono descritti come segue:
GRUB_TIMEOUT :Il tempo in secondi dopo la visualizzazione del menu per avviare la voce predefinita, a meno che non venga premuto un tasto. Il valore predefinito è 5. Imposta su 0 per l'avvio immediato senza visualizzare il menu o su -1 per attendere indefinitamente.
GRUB_DISTRIBUTOR: Impostato dai distributori di GRUB e viene utilizzato per generare titoli di voci di menu più informativi. L'esempio restituisce CentOS Linux Server.
GRUB_DEFAULT La voce di menu predefinita per l'avvio. Un valore di 0 avvia la prima voce di menu. Un valore di 1 avvia la seconda voce di menu. Un valore di save indica a GRUB 2 di caricare l'ultimo sistema operativo caricato correttamente.

Un valore GRUB_DEFAULT di salvato ti consente anche di utilizzare il grub2-set-default e riavvio di grub2 comandi per specificare la voce predefinita. Questi due comandi sono descritti come segue:
grub2-set-default :imposta la voce predefinita per tutti i riavvii successivi
grub2-reboot :imposta la voce predefinita solo per il prossimo riavvio

Ad esempio, con GRUB_DEFAULT=salvato , il comando seguente imposta la voce predefinita per tutti i riavvii successivi sulla seconda voce di menu:

# grub2-set-default 1

GRUB_DISABLE_SUBMENU :Per impostazione predefinita, il comando grub2-mkconfig genera una voce di menu di primo livello per il kernel con il numero di versione più alto e inserisce tutti gli altri kernel trovati o voci di menu alternative per la modalità di ripristino in un sottomenu. L'impostazione di GRUB_DISABLE_SUBMENU=true lo disabilita.
GRUB_TERMINAL_OUTPUT :Il dispositivo di uscita del terminale. Quando si specificano più dispositivi, separare i nomi di uscita del terminale validi con spazi.
GRUB_CMDLINE_LINUX :parametri di avvio del kernel. Ulteriori informazioni sui parametri di avvio del kernel sono fornite nella diapositiva successiva.
GRUB_DISABLE_RECOVERY :Per impostazione predefinita, vengono generate due voci di menu per ciascun kernel Linux:una voce predefinita e una voce per la modalità di ripristino. Impostazione GRUB_DISABLE_RECOVERY=“true” disabilita questo.

Spiegazione della voce di menu

Il file di configurazione di GRUB 2, /boot/grub2/grub.cfg, contiene le voci di menu, che rappresentano un kernel Linux installato. Ogni stanza inizia con la parola chiave menuentry con opzioni. Ogni voce di menu è anche una singola voce di menu di avvio nel menu di GRUB 2. Il blocco di codice associato è racchiuso tra parentesi graffe, { }.

La stanza include una direttiva linux16 seguita dal percorso del kernel e una direttiva initrd16 seguita dal percorso dell'immagine initramfs. La direttiva linux16 specifica il numero di versione del kernel da avviare e i parametri di avvio del kernel. È stata creata una partizione /boot separata; quindi, il percorso del kernel (così come l'immagine initramfs) sono relativi a /boot.

La direttiva initrd16 deve puntare alla posizione del file initramfs corrispondente alla stessa versione del kernel. In altre parole, il kernel fornito sulla riga linux16 /vmlinuz-[kernel_version] deve corrispondere al numero di versione dell'immagine initramfs fornito sulla riga initrd16 /initramfs-[kernel_version].img di ogni stanza.


Cent OS
  1. Come creare una nuova partizione /boot in CentOS/RHEL

  2. Come modificare l'autorizzazione predefinita di /var/log/messages in CentOS/RHEL

  3. Come disabilitare NUMA sui caricatori di avvio EFI utilizzando GRUB2 (CentOS/RHEL 6)

  4. Come recuperare da un file /etc/mtab danneggiato o vuoto in CentOS/RHEL 7

  5. CentOS / RHEL 5:spiegato il file dm-multipath /etc/sysconfig/mkinitrd/multipath

Come configurare le impostazioni del caricatore di avvio GRUB2 in Ubuntu

CentOS / RHEL 7 :Come proteggere con password le voci del menu di GRUB2

CentOS / RHEL 7:come avviare in modalità di emergenza o multiutente da GRUB2

CentOS / RHEL 7:come reinstallare GRUB2 dalla modalità di ripristino

Come recuperare GRUB (partizione di avvio danneggiata) in CentOS/RHEL 5,6

Avvia GRUB2 su GRUB o GRUB2 su un altro disco