Pagina 1 di 2
[Risolto] Modificare entry GRUB via CLI...
Inviato: domenica 22 dicembre 2019, 9:32
da ducarpit
Ciao a tutti,
avrei la necessità di modificare le entry del menù GRUB in quanto attualmente riporta delle entry bruttine tipo "ubuntu" oppure "Windows 7 BootLoader", vorrei mettere qualcosa di più esplicito ad esempio "Ubuntu 18.04" oppure "Windows 7 Pro x64" ecc...
Ho visto che esiste un tool grafico chiamato grub-customizer ma io vorrei imparare il metodo manuale via CLI in quanto spesso lavoro su server senza GUI quindi me lo rivenderei anche in qual caso.
Ho letto molte guide online ma ognuno fa eseguire un metodo diverso e credo che molte siano anche datate...
Chi può aiutarmi? Grazi in anticipo
Christian
Re: Modificare entry GRUB via CLI...
Inviato: domenica 22 dicembre 2019, 11:12
da et4beta
Le modifiche che puoi fare al menu di avvio del grub per modificarne la visualizzazione sono diverse, ma tra queste non ne conosco nessuna, in grado di fornire un risultato stabile, che cambi il testo delle righe del menu.
Bisogna anche tenere presente, nell'effettuare le modifiche, delle caratteristiche del proprio monitor e dei propri occhi, perché anche senza arrivare al daltonismo anche un astigmatismo può rendere difficoltosa la visualizzazione del testo in certe combinazioni di colori.
Altra cosa da tenere presente è che ognuna delle modifiche di cui sotto, fatta sui file di sistema, va eseguita con privilegi di root e resa esecutiva con il comando "sudo update-grub"
Le modifiche che conosco sono:
1) Variare la risoluzione del testo (file etc/default/grub alla riga #GRUB_GFXMODE=640x480 va tolto il "#" e variato il rapporto, io uso 1280x1024)
2) Aggiungere un'immagine di sfondo. (Mettere il file dell'immagine, preferibilmente .png, nella cartella "boot/grub", facendo attenzione alla pesantezza del file ed al formato dell'immagine)
3) Per cambiare il colore del testo bisogna editare il file "etc/grub.d/05_debian_theme", nel quale bisogna cercare il testo(quasi in fondo al file)
Codice: Seleziona tutto
if [ -z "${2}" ] && [ -z "${3}" ]; then
#echo " true"
che se vuoi i caratteri rossi e la riga evidenziata in grigio deve diventare
Codice: Seleziona tutto
if [ -z "${2}" ] && [ -z "${3}" ]; then
#echo " true"
echo "set menu_color_normal=red/black"
echo "set menu_color_highlight=blue/light-gray"
Dove il colore prima del "/" è quello del carattere e quello dopo quello dello sfondo. ATTENZIONE però perché per avere lo sfondo trasparente il suo colore deve essere impostato su "black", quindi nel "color_normal" lo sfondo DEVE SEMPRE essere "black" se vuoi che l'immagine di sfondo che hai messo si veda, mentre nel color_highlight, dato che la cosa interessa solo la riga evidenziata, non importa.
La sintassi dei nomi dei colori è questa:
Codice: Seleziona tutto
black
blue
brown
cyan
dark-gray
green
light-blue
light-cyan
light-gray
light-green
light-magenta
light-red
magenta
red
yellow
white
In quanto al cambiare il testo delle righe di avvio, ripeto che, pur non impossibile, è comunque un lavoro che richiede l'editazione di nomi di file di sistema e di file di configurazione col rischio che un banale errore di sintassi impedisca l'avvio del sistema, ed anche andando tutto bene saresti da capo al successivo upgrade del kernel, per cui i rischi ed il lavoro che comporterebbe la modifica non valgono la "candela".
Re: Modificare entry GRUB via CLI...
Inviato: domenica 22 dicembre 2019, 11:32
da ducarpit
et4beta [url=https://forum.ubuntu-it.org/viewtopic.php?p=5168493#p5168493][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Le modifiche che puoi fare al menu di avvio del grub per modificarne la visualizzazione sono diverse, ma tra queste non ne conosco nessuna, in grado di fornire un risultato stabile, che cambi il testo delle righe del menu.
Bisogna anche tenere presente, nell'effettuare le modifiche, delle caratteristiche del proprio monitor e dei propri occhi, perché anche senza arrivare al daltonismo anche un astigmatismo può rendere difficoltosa la visualizzazione del testo in certe combinazioni di colori.
Altra cosa da tenere presente è che ognuna delle modifiche di cui sotto, fatta sui file di sistema, va eseguita con privilegi di root e resa esecutiva con il comando "sudo update-grub"
Le modifiche che conosco sono:
1) Variare la risoluzione del testo (file etc/default/grub alla riga #GRUB_GFXMODE=640x480 va tolto il "#" e variato il rapporto, io uso 1280x1024)
2) Aggiungere un'immagine di sfondo. (Mettere il file dell'immagine, preferibilmente .png, nella cartella "boot/grub", facendo attenzione alla pesantezza del file ed al formato dell'immagine)
3) Per cambiare il colore del testo bisogna editare il file "etc/grub.d/05_debian_theme", nel quale bisogna cercare il testo(quasi in fondo al file)
if [ -z "${2}" ] && [ -z "${3}" ]; then
#echo " true"
che se vuoi i caratteri rossi e la riga evidenziata in grigio deve diventare
if [ -z "${2}" ] && [ -z "${3}" ]; then
#echo " true"
echo "set menu_color_normal=red/black"
echo "set menu_color_highlight=blue/light-gray"
Dove il colore prima del "/" è quello del carattere e quello dopo quello dello sfondo. ATTENZIONE però perché per avere lo sfondo trasparente il suo colore deve essere impostato su "black", quindi nel "color_normal" lo sfondo DEVE SEMPRE essere "black" se vuoi che l'immagine di sfondo che hai messo si veda, mentre nel color_highlight, dato che la cosa interessa solo la riga evidenziata, non importa.
La sintassi dei nomi dei colori è questa:
black
blue
brown
cyan
dark-gray
green
light-blue
light-cyan
light-gray
light-green
light-magenta
light-red
magenta
red
yellow
white
In quanto al cambiare il testo delle righe di avvio, ripeto che, pur non impossibile, è comunque un lavoro che richiede l'editazione di nomi di file di sistema e di file di configurazione col rischio che un banale errore di sintassi impedisca l'avvio del sistema, ed anche andando tutto bene saresti da capo al successivo upgrade del kernel, per cui i rischi ed il lavoro che comporterebbe la modifica non valgono la "candela".
Grazie infinite per la risposta,
Però qualcosa non mi torna.
Perche al successivo aggiornamento di kernel dovrebbe riportare le entry come prima?
In più, il famoso grub-customizer come opera allora? Immagino vada anche esso a modificare dei file di configurazione....non si ritroverbbe anche lui lo stesso problema?
Grazie e a presto
Christian
Re: Modificare entry GRUB via CLI...
Inviato: domenica 22 dicembre 2019, 11:41
da et4beta
Non ho mai usato grub-customizer perché non mi risulta che ci sia nulla che lui faccia e che non possa essere fatto "a mano", anzi il contrario, e poi perché mi piace capire come funzionano le cose e farmele da me.
All'upgrade del kernel i file di questi verrebbero installati col loro nome di default e con l'update-grub, effettuato automaticamente dal sistema al termine dell'aggiornamento, il tutto verrebbe scritto nel file grub-cfg rendendo cosi vane le modifiche fatte ad esso in precedenza.
Questo è il motivo per cui nel testo del grub-cfg c'è all'inizio il commento in cui si raccomanda di non modificare il file.
Re: Modificare entry GRUB via CLI...
Inviato: domenica 22 dicembre 2019, 12:20
da Stealth
Ritorna tutto com'era perchè
Codice: Seleziona tutto
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
questo è scritto nel file che modifichi. Di grub-customizer non so dirti nulla, non l'ho mai usato e sono sempre stato alla larga da utilities che mi sembrano troppo invasive
Re: Modificare entry GRUB via CLI...
Inviato: domenica 22 dicembre 2019, 20:39
da ducarpit
Se può servire, dopo qualche oretta passata a far prove con una VM, sono riuscito ad ottenere il risultato ottenuto in questo modo:
Label Ubuntu:
1) Editare nel file /etc/default/grub la riga GRUB DISTRIBUTOR nel seguente modo (sostituire il parametro -i con -d per avere delle informazioni maggiori sulla label):
Codice: Seleziona tutto
GRUB_DISTRIBUTOR=`lsb_release -d -s 2> /dev/null || echo Debian`
2) Aggionarnare il file di configurazione del grub con il comando:
3) Riavviare il SO e verificare che nel menù del GRUB tutto sia corretto e che l'accesso ai vari SO funzioni correttamente
Label Windows:
1) Editare il file /etc/default/grub aggiungendo la riga
Questo parametro serve ad indicare al GRUB di non ricercare automaticamente delle partizioni con SO Windows durante la generazione del file di configurazione
2) All'interno del file /boot/grub/grub.cfg, ricercare la parte di codice inerente al menuentry di Windows (possiamo usare un comando del genere per determinare la riga iniziale):
Codice: Seleziona tutto
cat /boot/grub/grub.cfg | grep -in menuentry | grep -i Windows
Una volta trovata la riga iniziale, copiare il contenuto sottostante, esempio di contenuto:
Codice: Seleziona tutto
menuentry 'Windows 10' --class windows --class os $menuentry_id_option 'osprober-efi-BEA2-EA80' {
insmod part_gpt
insmod fat
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 BEA2-$
else
search --no-floppy --fs-uuid --set=root BEA2-EA80
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
3) Editare il file /etc/grub.d/40_custom, apportando due modifiche:
+) Aggiungere dopo i commenti il testo precedentemente copiato dal file /boot/grub/grub.cfg, esempio (possiamo cambiare il testo della label volendo):
Codice: Seleziona tutto
menuentry 'Windows 10' --class windows --class os $menuentry_id_option 'osprober-efi-BEA2-EA80' {
insmod part_gpt
insmod fat
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 BEA2-$
else
search --no-floppy --fs-uuid --set=root BEA2-EA80
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
+) Aggiungere all'inizio del file una riga come in esempio (possiamo cambiare il testo della label volendo):
4) Aggionarnare il file di configurazione del grub con il comando:
5) Riavviare il SO e verificare che nel menù del GRUB tutto sia corretto e che l'accesso ai vari SO funzioni correttamente
Questo metodo, seppur spartano (lo riconosco), però non va ad intaccare gli script di creazione del menù grub, pertanto anche installando nuovi kernel l'effetto sarà sempre lo stesso (provato di persone ovviamente)
Che ne pensate? Fatemi sapere..
Christian
Re: Modificare entry GRUB via CLI...
Inviato: domenica 22 dicembre 2019, 21:24
da trekfan1
@ducarpit metti il codice tra tag CODE e non tra tag I (il corsivo), grazie
Re: Modificare entry GRUB via CLI...
Inviato: domenica 22 dicembre 2019, 21:30
da ducarpit
Re: Modificare entry GRUB via CLI...
Inviato: giovedì 26 dicembre 2019, 17:17
da et4beta
Beh, cosa vuoi che ti dica, ognuno è padrone di complicarsi la vita come vuole!

È una scelta personale.
Per avere una stringa un po' diversa sul menu di avvio del grub, crearsi un custom può essere una soddisfazione, però limitata all'avere due OS, uno di MS e uno Linux, ma io ad esempio con 2 Windows(e già quello mi scoccia un pochino, ma mi servono) non clone uno dell'altro ma con due licenze, e 6 release Linux installate, ti pare che tutte le volte che arriva l'aggiornamento del kernel di uno dei 5 Linux da cui il grub non dipende io debba, con l'os-prober è disattivato, andarmi a scrivere mano il custom? Sarei sempre lì ad editarlo!
Un conto è un'immagine di sfondo ed i colori del testo che servono anche, se debitamente corredati di indicazioni, a capire subito da quale grub si sta avviando il sistema(ho 5 dischi fissi ed ognuno ha un bootloader nell'MBR), lavoro che una volta fatto non ci si mettono più le mani, un conto è doversi editare ogni volta il file custom di ogni Linux installato. Comprendi la limitazione?
Re: Modificare entry GRUB via CLI...
Inviato: giovedì 26 dicembre 2019, 20:38
da ducarpit
et4beta [url=https://forum.ubuntu-it.org/viewtopic.php?p=5169044#p5169044][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Beh, cosa vuoi che ti dica, ognuno è padrone di complicarsi la vita come vuole!

È una scelta personale.
Per avere una stringa un po' diversa sul menu di avvio del grub, crearsi un custom può essere una soddisfazione, però limitata all'avere due OS, uno di MS e uno Linux, ma io ad esempio con 2 Windows(e già quello mi scoccia un pochino, ma mi servono) non clone uno dell'altro ma con due licenze, e 6 release Linux installate, ti pare che tutte le volte che arriva l'aggiornamento del kernel di uno dei 5 Linux da cui il grub non dipende io debba, con l'os-prober è disattivato, andarmi a scrivere mano il custom? Sarei sempre lì ad editarlo!
Un conto è un'immagine di sfondo ed i colori del testo che servono anche, se debitamente corredati di indicazioni, a capire subito da quale grub si sta avviando il sistema(ho 5 dischi fissi ed ognuno ha un bootloader nell'MBR), lavoro che una volta fatto non ci si mettono più le mani, un conto è doversi editare ogni volta il file custom di ogni Linux installato. Comprendi la limitazione?
Sisi certo capisco, più che altro ho voluto sperimentare in quanto lo scoglio maggiore era appunto che ad ogni aggiornamento del kernel le entry del menù del GRUB sarebbero tornate come prima...mi era "piaciuto" il fatto di essere riuscito a trovare una soluzione che, almeno nel mio caso, potesse risolvere questo inconveniente.....in più, come avrai visto, ho denominato la partizione Windows in "Windows 10" e quella linux in "Ubuntu 19.10", per cambiarle dovrei attendere un cambiamento di versione del SO che da parte di MS parliamo di anni, mentre in Ubuntu ogni 6 mesi, sarebbero circa 2 volte l'anno, nel mio caso non è nulla di che.....nel tuo caso invece mi sembra di aver capito che hai la versione del kernel indicata nella voce di menù ed in quel caso allora sì, il mio metodo "cozza".....esigenze differenti ahahaha.....però almeno abbiamo sperimentato ed imparato qualcosa di nuovo, è questo che conta no?!

Re: Modificare entry GRUB via CLI...
Inviato: giovedì 26 dicembre 2019, 21:52
da et4beta
Comprendo che essere riuscito ad aggirare il problema, anche se solo per una situazione semplice, può essere una soddisfazione, però c'è sempre da considerare il rapporto "costo-beneficio" della "soluzione" ed anche la compatibilità di essa con le varie situazioni di applicazione, ed il fatto che la presenza di più OS Linux nel PC ne renda farraginosa la gestione, necessariamente manuale, fa soccombere i modesti vantaggi.
Sarebbe interessante se gli sviluppatori del grub fossero loro ad attuare una modfica in questo senso, ma c'è da capire se la cosa non ha alcuna priorità di fronte ad altri problemi più essenziali che debbono affrontare.
Del tutto d'accordo sul fatto che comunque con Linux c'è sempre da imparare.
Re: Modificare entry GRUB via CLI...
Inviato: giovedì 26 dicembre 2019, 23:38
da woddy68
in più, come avrai visto, ho denominato la partizione Windows in "Windows 10" e quella linux in "Ubuntu 19.10"
...è un po che non installo Ubuntu, ma una volta la scritta nel grub era Ubuntu, non ricordo se elencava anche la numerazione della versione, linux compariva solo per i vari kernel installati, che erano nascosti in opzioni avanzate (o qualcosa del genere), è cambiato qualcosa ? Non è più così ?
Re: Modificare entry GRUB via CLI...
Inviato: giovedì 26 dicembre 2019, 23:56
da ducarpit
Per Ubuntu da come ho visto si, scrive "Ubuntu" e basta, diciamo che in tal senso era solo per personalizzare un pò la scritta altrimenti avrei potuto lasciarla così. Nel caso di Windows invece no perchè mi scriveva "Windows BootLoader", almeno la versione vorrei vedere ahaha....più che altro per quello l'ho fatto!
Re: Modificare entry GRUB via CLI...
Inviato: venerdì 27 dicembre 2019, 1:14
da et4beta
Nel menu di avvio del grub il nome "Ubuntu" senza altro, appare alla prima riga, solo per l'Ubuntu cui punta il grub per l'avvio, ma le altre versioni, individuate dall'os-prober appaiono, con "Ubuntu" seguito dal numero di versione, mentre per le versioni in via di sviluppo, come l'attuale 20.04, addirittura "Ubuntu" è seguito da "Focal Fossa", il nome di versione, e la dicitura "developement branch". Quindi non c'è pericolo di sbagliarsi.
Re: Modificare entry GRUB via CLI...
Inviato: venerdì 27 dicembre 2019, 13:09
da woddy68
...infatti mi sembrava che era una cosa simile. La dicitura Linux riguarda solo i kernel nelle impostazioni avanzate, mentre per Windows si, ricordo che la dicitura era Windows BootLoader o qualcosa di simile, all'epoca quando utilizzavo Windows usavo il Seven, ma ricordo che era quella la dicitura a prescindere dalla versione, infatti anche in Vista era sempre uguale.
Re: Modificare entry GRUB via CLI...
Inviato: venerdì 27 dicembre 2019, 13:54
da trekfan1
Con W10 la scritta è Windows 10 (on /dev/sdaX) dove X è la partizione dove c'è win (di norma la 1)
Re: Modificare entry GRUB via CLI...
Inviato: venerdì 27 dicembre 2019, 14:14
da ducarpit
Nel mio caso no, ma non saprei dire il perchè...
Re: [Risolto] Modificare entry GRUB via CLI...
Inviato: venerdì 27 dicembre 2019, 15:02
da et4beta
Ho approfittato di un momento in cui facevo "pulizia" elimando dei vecchi Ubuntu ormai obsoleti per scattare alcune immagini del menu del grub che allego, una senza l'immagine di sfondo e test standard ed una con immagine di sfondo e test colorato. Mi scuso per la bassa qualità delle immagini che purtroppo è dovuta al mio vecchio smartphone ma spero basti a rendere l'idea.
In quanto all'indicazione della partizione di Win, vorrei precisare che nella riga di avvio del menu del grub non viene riportata la partizione in cui si trova l'OS di MS bensì la sua partizione di avvio.
Come si legge nel mio profilo io parlo sempre di sistemi BIOS Legacy e non UEFI che non mi interessano.
Re: Modificare entry GRUB via CLI...
Inviato: venerdì 27 dicembre 2019, 15:23
da wilecoyote
) Salve,
et4beta [url=https://forum.ubuntu-it.org/viewtopic.php?p=5168493#p5168493][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
1) Variare la risoluzione del testo (file etc/default/grub alla riga #GRUB_GFXMODE=640x480 va tolto il "#" e variato il rapporto, io uso 1280x1024)
2) Aggiungere un'immagine di sfondo. (Mettere il file dell'immagine, preferibilmente .png, nella cartella "boot/grub", facendo attenzione alla pesantezza del file ed al formato dell'immagine)
3) Per cambiare il colore del testo bisogna editare il file "etc/grub.d/05_debian_theme", nel quale bisogna cercare il testo(quasi in fondo al file)
Codice: Seleziona tutto
if [ -z "${2}" ] && [ -z "${3}" ]; then
#echo " true"
che se vuoi i caratteri rossi e la riga evidenziata in grigio deve diventare
Codice: Seleziona tutto
if [ -z "${2}" ] && [ -z "${3}" ]; then
#echo " true"
echo "set menu_color_normal=red/black"
echo "set menu_color_highlight=blue/light-gray"
In quanto al cambiare il testo delle righe di avvio, ripeto che, pur non impossibile, è comunque un lavoro che richiede l'editazione di nomi di file di sistema e di file di configurazione col rischio che un banale errore di sintassi impedisca l'avvio del sistema, ed anche andando tutto bene saresti da capo al successivo upgrade del kernel, per cui i rischi ed il lavoro che comporterebbe la modifica non valgono la "candela".
Qualche precisazione, se devi ritoccare le configurazioni devi aumentare d'un numero il nome del file modificato al salvataggio, senza eliminare i file predefiniti.
Ad esempio il file in cui personalizzi colori e sfondi
/etc/grub.d/05_debian_theme và rinominato
/etc/grub.d/06_debian_theme, mentre il file in cui và fatta la personalizzazione della risoluzione
/etc/grub.d/40_custom và rinominato
/etc/grub.d/41_custom.
Il motivo è di vedersi cancellare queste impostazioni in caso d'aggiornamento di
Grub, ed il funzionamento è basato sulla consequenzialità di lettura di questi script.
Nel momento in cui il sistema comincia a leggere ed eseguire gli script di configurazione di
Grub, inizia dal 1°, ovvero lo script '00', e continua fino all'esaurimento, quindi se dopo lo script predefinito '05' ne trova uno modificato come '06' terrà buono quest'ultimo.
C'è una bella guida di Debianizzati sull'argomento per approfondire, ma al momento il sito è Down e non posso linkarla.
@ducarpit in Bionic il comando per aggiornare
Grub è:
Senza il '2' finale non aggiorna, ma sembra farlo, in compenso senza il '2' funziona in Trusty.
Per personalizzare i nomi dei sistemi, devi invece configurare il file
/etc/grub.d/10_linux, rinominandolo al salvataggio ovviamente in
/etc/grub.d/11_linux per i motivi sopra spiegati.
:: Ciao
Re: [Risolto] Modificare entry GRUB via CLI...
Inviato: venerdì 27 dicembre 2019, 15:58
da et4beta
@wilecoyote
Prendo atto di quanto da te scritto, ma ti assicuro che il comando "sudo update-grub", senza il "2", aggiorna perfettamente il grub di Ubuntu fino alla versione 19.10(dalla 16.04 ho tutte le xx.04 compresa la 19.10 che comunque a breve eliminerò) non posso dire nulla in merito alla 20.04, che ho installata, in quanto è un comando che in essa non ho ancora avuto necessità di usare.
Altra cosa, è dalla versione 16.04 di Ubuntu che modifico il file "05_debian_theme" come ho indicato nel mio post e mai mi è successo che ad un upgrade del pacchetto grub-pc mi sia stato riportato alla versione di default, e non possibile che non me possa accorgere perché la schermata di avvio del menu del grub risulterebbe ben diversa da quella impostata(vedi immagini sopra), inoltre, nonostante i numerosi upgrade subiti dal pacchetto del grub nel corso degli anni, la data di creazione del file di cui sopra è ancora del 2016, ciò significa che esso non viene modificato durante gli aggiornamenti dei file del bootloader.
Non voglio certamente contestare quanto scritto nella guida di Debian, ma i fatti sono questi.