Wiki Ubuntu-it

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

Versione 7 del 28/10/2009 08.10.27

Nascondi questo messaggio

BR Indice()

Introduzione

In questa guida vengono descritti diversi metodi per modificare il menù di Grub aggiungendo ed eliminando voci dall'elenco.

Aggiungere voci al menù

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

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

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

Voci automatiche

Quando viene eseguito il comando update-grub2, viene letto il file /etc/default/grub e i file presenti in /etc/grub.d. In questo modo vengono impostati i parametri di visualizzazione del menù di Grub e viene eseguita una ricerca per la presenza di kernel Linux, altri sistemi operativi ed elementi presenti negli script creati dall'utente in /etc/grub.d.

In questa tabella vengono descritti i principali file presenti in /etc/grub.d/.

File

Significato

00_header

Carica le impostazioni da /etc/default/grub, compresa la presentazione visiva, il conto alla rovescia e le opzioni del terminale

05_debian_theme

Imposta lo sfondo, il colore del testo e i temi

10_hurd

Localizza eventuali kernel Hurd

10_linux

Localizza i kernel basati sull'ID del distributore determinato dal risultato del comando lsb_release -is

20_memtest86+

Se il file /boot/memtest86+.bin esiste, viene inclusa una voce per memtest86+

30_os-prober

Va alla ricerca di altri sistemi operativi e li include nel menù

40_custom

Rappresenta un modello per aggiungere voci personalizzate al menù

Il nome del file determina l'ordine nel menù. Le voci che iniziano con 30 verranno posizionate prima di quelle che iniziano con 40 e così via.

Qualsiasi file creato da un utente deve essere reso eseguibile. Da un terminale digitare:

sudo chmod u+x /etc/grub.d/NOME_FILE

Voci definite dall'utente

Gli utenti con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione] possono creare script all'interno della directory /etc/grub.d/, script che verranno poi incorporati nel file grub.cfg quando viene eseguito il comando update-grub.

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

I file appena creati dovrebbero avere il nome nel formato XX_nome, dove la dicitura XX corrisponde a un numero. È utile ricordare 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.

Qualsiasi file creato da un utente deve essere reso eseguibile. Da un terminale digitare:

sudo chmod u+x /etc/grub.d/NOME_FILE

Un semplice esempio

Questo file crea una voce per eseguire l'installazione di un CD di ripristino sulla partizione sdb10 e aggiungere al menù un kernel personalizzato dalla partizione sda1.

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

Il conteggio dei device 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, il conteggio delle partizioni non parte da zero.

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 menù, la riga:

"echo "Adding SystemRescueCD" >&2"

non è necessaria, viene 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, le voci vengono inserite nel menu di grub.cfg, in caso contrario non viene effettuata alcuna modifica.

Rimuovere voci

Le voci dovrebbero essere eliminate modificando o rimuovendo i file nella directory /etc/grub.d. Il file /boot/grub/grub.cfg è a sola lettura e non dovrebbe essere modificato direttamente.

Kernel vecchi e altri sistemi operativi

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

Anche altri sistemi operativi rimossi dal computer, non saranno più visualizzati nel menù una volta eseguito il comando update-grub.

memtest86+

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

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

Successivamente aggiornare il menù di Grub eseguendo il comando update-grub:

sudo update-grub

Recovery mode

Per non mostrare la modalità di ripristino nel menù 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 menù di Grub eseguendo il comando update-grub:

sudo update-grub

Modifica manuale

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

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

Affinché un file in /etc/grub.d non aggiunga voci nel menù, è sufficiente rimuovere il permesso di esecuzione dal file oppure rimuovere il file.

Per modificare manualmente il menù 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