Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 4 del 25/10/2009 16.01.13

Nascondi questo messaggio

BR WikiBanner(ArticoloInTraduzione) BR Indice()

= Introduzione = In questa guida verranno mostrati diversi modi per modificare il menu di Grub aggiungendo ed eliminando voci dall'elenco.

Aggiungere voci al menu

Il file grub.cfg viene aggiornato quando vengono eseguiti i comandi update-grub o update-grub2. Per modificare grub.cfg si debbono utilizzare gli appositi script presenti nella cartella /etc/grub.d/, senza modificare direttamente il file stesso.

Immagine(Icone/Piccole/note.png,,center)

Il primo commento del file grub.cfg è «DO NOT EDIT THIS FILE». Il file risulta di fatti sempre in sola lettura e ritorna in questo stato ogni qual volta viene eseguito il comando update-grub.

Voci automatiche

<-- SONO RIPETUTE INFORMAZIONI GIÀ INSERITE PRIMA

  • When "update-grub" is executed, Grub 2 will read /etc/default/grub and the files in contained in the /etc/grub.d folder. This combination will set the visual parameters of the grub menu (/etc/default/grub) and search for linux kernels, other operating systems, and items designated in user-created scripts in /etc/grub.d. The script files in /etc/grub.d perform the following tasks:

    • 10_linux searches for installed linux kernels.

    • 30_os-prober searches for other operating systems.

    • 40_custom and any other user-created files in the /etc/grub.d folder add menu items designated in the script files created by users.

  • The name of the file determines the order in the menu. 30_os-prober entries will be placed before 40_custom entries, which will be placed before any higher-numbered entries.
  • Any user-created file must be made executable. This can be done as root by running

sudo chmod u+x /etc/grub.d/filename
  • FINE -->

Aggiungere voci

Gli utenti con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione] possono creare script all'interno della cartella /etc/grub.d/ che saranno poi inclusi nel file grub.cfg quando il comando update-grub verrà lanciato.

Immagine(Icone/Piccole/note.png,,center)

I file appena creati dovrebbero avere il nome nel formato XX_nome, dove la dicitura «XX» corrisponde ad un numero. Si ricorda che l'ordine con il quale sono eseguiti i file è alfabetico crescente, i file il cui nome inizia con una cifra hanno priorità su quelli in cui il nome inizia con una lettera.

Il file deve essere eseguibile al fine di poterlo lanciare insieme agli altri script. Per rendere eseguibile il file, da riga di comando digitare:

sudo chmod u+x /etc/grub.d/nome-file

Sostituire la dicitura «nome-file» con il nome del file appena creato.

Segue un semplice esempio di aggiunta voce al menu di Grub. Questo file crea una voce per eseguire l'installazione di un CD di ripristino di sistema sulla partizione «sdb10» e aggiunge al menu un kernel personalizzato dalla partizione «sda1».

Immagine(Icone/Piccole/note.png,,center)

Il conteggio dei dispositivi parte da 0, ovvero sda è indicato come hd0, sdb è hd1 e così via. Il nome delle partizioni parte invece da 1, la prima partizione è indicata come sda1, la quinta partizione è sda5

echo "Adding Custom Kernel & SystemRescue" >&2
cat << EOF
menuentry "Ubuntu, linux 2.6.31-11-custom" {
        set root=(hd0,9)
        linux /boot/vmlinuz-2.6.31-11-custom root=UUID=c6829e27-2350-4e84-bdbb-91b83f018f98 ro 
        initrd /boot/initrd.img-2.6.28-11-generic
}

menuentry "Boot SystemRescue CD from hard drive" {
        set root=(hd1,10)
        linux   /sysrcd/rescuecd subdir=sysrcd setkmap=us
        initrd  /sysrcd/initram.igz
} 
EOF

Ai fini della modifica del menu, non è necessaria la riga:

"echo "Adding SystemRescueCD" >&2"

Essa sarà mostrata durante l'esecuzione del comando update-grub2. La comparsa della riga nel terminale indica l'avvenuta lettura ed esecuzione del nuovo script.

Se lo script è corretto saranno inserite le nuove voci nel menu di grub.cfg. Nessuna modifica in caso contrario.

Rimuovere voci

Kernel vecchi

La strada più semplice per eliminare voci di kernel vecchi dal menu di Grub in maniera automatica è disinstallare i pacchetti dei relativi non più utilizzati. Il file grub.cfg verrà automaticamente aggiornato.

memtest86+

Per rimuovere memtest86+ è sufficiente eliminare i permessi di esecuzione al file /etc/grub.d/20_memtest86+, da riga di comando digitare:

sudo chmod -x /etc/grub.d/20_memtest86+

successivamente aggiornare il menu di Grub eseguendo il comando update-grub:

sudo update-grub

Recovery mode

Per non mostrare la modalità di ripristino nel menu di Grub è necessario modificare con un [:Ufficio/EditorDiTesto:editor di testo] e con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione] il file /etc/default/grub aggiungendo alla fine la seguente riga:

GRUB_DISABLE_LINUX_RECOVERY=true

successivamente aggiornare il menu di Grub eseguendo il comando update-grub:

sudo update-grub

Modifica manuale

Immagine(Icone/Piccole/warning.png,,center)

Le voci del menu dovrebbero essere rimosse e aggiunte modificando i file presenti nella cartella /etc/grub.d. Il file grub.cfg è in sola lettura e non dovrebbe essere modificato direttamente.

Per modificare manualmente il menu di Grub aggiungere i permessi di scrittura al file /boot/grub/grub.cfg, digitare da riga di comando:

sudo chmod +w /boot/grub/grub.cfg

Successivamente aprire il file con un [:Ufficio/EditorDiTesto:editor di testo] e con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione] ed effettuare le modifiche.

Immagine(Icone/Piccole/note.png,,center)

Ogni qual volta viene lanciato il programma update-grub il file /boot/grub/grub.cfg torna in sola lettura. Sarà necessario aggiungere nuovamente i permessi di scrittura per una nuova modifica.


CategoryNuoviDocumenti CategoryInTraduzione