Translator

Iscriviti alla Mailing list

Scrivi la tua email:

MS informatica

MS informatica

Google Friends

Statistiche

Utenti On Line:
Pag. viste oggi:
Visite oggi:

GRUB2 - Configurazione e modifiche

grub2In questo articolo vedremo di spiegare un po piu’ dettagliatamente come funziona GRUB2 e come poterlo configurare a nostro piacimento.

Abbiamo gia’ visto come poter aggiungere degli sfondi al nostro boot manager, adesso vediamo quali sono e come modificare le varie caratteristiche di GRUB2

Iniziamo con il dire che la sua configurazione non e’ piu’ limitata ad un solo file, menu.lst, come sul suo predecessore, bensi’ e’ composta da piu’ files collocati sia in /boot/grub/ sia in /etc/grub.d

Il primo file che andremo ad analizzare e’ /boot/grub/grub.cfg che e’ il sucessore appunto di menu.lst

Vi riporto come appare il mio

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default=”0″
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,2)
search –no-floppy –fs-uuid –set eeaaf3d5-2ac4-4225-b557-370ff841a5d2
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640×480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don’t
# understand terminal_output
terminal gfxterm
fi
fi
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod ext2
set root=(hd0,2)
search –no-floppy –fs-uuid –set eeaaf3d5-2ac4-4225-b557-370ff841a5d2
insmod tga
if background_image /usr/share/images/grub/TulipStair_QueensHouse_Greenwich.tga ; then
set color_normal=black/black
set color_highlight=magenta/black
else
set menu_color_normal=white/black
set menu_color_highlight=black/white
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry “Ubuntu, Linux 2.6.31-14-generic” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,2)
search –no-floppy –fs-uuid –set eeaaf3d5-2ac4-4225-b557-370ff841a5d2
linux    /boot/vmlinuz-2.6.31-14-generic root=UUID=eeaaf3d5-2ac4-4225-b557-370ff841a5d2 ro  splash vga=786  quiet splash
initrd    /boot/initrd.img-2.6.31-14-generic
}
menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,2)
search –no-floppy –fs-uuid –set eeaaf3d5-2ac4-4225-b557-370ff841a5d2
linux    /boot/vmlinuz-2.6.31-14-generic root=UUID=eeaaf3d5-2ac4-4225-b557-370ff841a5d2 ro single  splash vga=786
initrd    /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry “Memory test (memtest86+)” {
linux16    /boot/memtest86+.bin
}
menuentry “Memory test (memtest86+, serial console 115200)” {
linux16    /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry “Microsoft Windows XP Professional (on /dev/sda1)” {
insmod ntfs
set root=(hd0,1)
search –no-floppy –fs-uuid –set ec641b1e641aeb5a
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the ‘exec tail’ line above.
### END /etc/grub.d/40_custom ###

Come potete notare nelle prime righe del file c’e’ scritto a caratteri cubitali di NON MODIFICARE DIRETTAMENTE questo file, in quanto tale operazione viene svolta da /usr/sbin/grub-mkconfig al momento che viene lanciato update-grub e di conseguenza ogni modifica andrebbe persa.

Quindi vi consiglio di ricordarvi che esiste ma di lasciarlo stare cosi’ come si trova. Infatti le configurazioni vengono impostate in altri files.

Se guardate attentamente il grub.cfg vi accorgerete che ci sono righe che iniziamo cosi’

  • ### BEGIN /etc/grub.d/00_header ###
  • ### BEGIN /etc/grub.d/05_debian_theme ###
  • ### BEGIN /etc/grub.d/10_linux ###
  • ### BEGIN /etc/grub.d/20_memtest86+ ###
  • ### BEGIN /etc/grub.d/30_os-prober ###
  • ### BEGIN /etc/grub.d/40_custom ###

Bene, proprio questi file sono quelli che interessano a noi e che si trovano in /etc/grub.d

Ma a cosa servono e come si usano?  Vediamolo insieme

  • /etc/grub.d/00_header Questo file contiene le impostazioni base di GRUB2 come il timeout, su quale partizione e’ installato grub e la risoluzione del monitor leggendo i vari parametri da /etc/default/grub
  • /etc/grub.d/05_debian_theme Qui possiamo impostare i temi di grub, i colori dei caratteri e tutto quello che riguarda l’aspetto estetico di GRUB2 (vedi Grub 2 – Modifichiamo lo sfondo al nuovo Grub)
  • /etc/grub.d/10_linux Qui vengono impostate le voci relative ai sistemi Linux installati nel nostro computer
  • /etc/grub.d/20_memtest86+ Questo file contiene le varie impostazioni da passare al sistema nel caso si debba eseguire un test delle memorie in avvio
  • /etc/grub.d/30_os-prober Va alla ricerca di altri sistemi operativi e li include nel menù
  • /etc/grub.d/40_custom Questo file e’ puramente di esempio. Qui vengono illustrate le operazioni per inserire nuove voci a GRUB2.

Come noterete nel nome di questi files e’ presente un numero. In base al numero GRUB2 elaborera’ in sequenza tutti questi files.

Quindi se noi volessimo aggiungere un ulteriore configurazione a GRUB2 dovremo creare un file in /etc/grub.d/ iniziante con un numero (il quale indichera’ la posizione all’interno del menu’ di GRUB2) e dovra’ essere reso eseguibile tramite chmod u+x

Quindi creaiamo il file 30-NOME_FILE in /etc/grub.d/ e al suo interno scriviamo le seguenti righe (ipotiziamo di in aggiungere una voce per avviare il nostro sistema con un kernel compilato da noi e presente nel primo disco e nella seconda partizione)

#!/bin/sh
cat << EOF
menuentry “Ubuntu, linux 2.6.31-11-test” {
set root=(hd0,2)
linux /boot/vmlinuz-2.6.31-11-test root=/dev/sda2 ro
initrd /boot/initrd.img-2.6.28-11-test
}
EOF

cat << EOF
menuentry “Nome sistema operativo” {
set root=(hdX,Y)
chainloader +1
}

EOF

Successivamente rendiamolo eseguibile con

sudo chmod u+x /etc/grub.d/30_NOME_FILE

e quindi lanciamo l’aggiornamento di GRUB2

sudo update-grub

Questo generera’ una nuova sezione all’interno di /boot/grub/grub.cfg contentente un richiamo al nostro nuovo file e di conseguenza troveremo una nuova voce nel menu’ di avvio di Grub.

Nota: 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.

Prima abbiamo nominato il file /etc/default/grub. Vediamone il suo contenuto

# If you change this file, run ‘update-grub’ afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=”10″
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
GRUB_CMDLINE_LINUX=” splash vga=786″

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo’
#GRUB_GFXMODE=640×480

# Uncomment if you don’t want GRUB to pass “root=UUID=xxx” parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY=”true”

Come potete notare qui viene indicato quale sistema partira’ di default,  la risoluzione della shell ed ulteriori parametri. Questo file lo si puo’ editare in quanto update-grub non modifichera’ le eventuali modifiche apportate

Nel caso dobbiate ripristinare GRUB2, magari a seguito di una installazione di Windows il quale vi ha cancellato GRUB2, potete procedere allo stesso modo della precedente versione di Grub. Vi rimando a questo articolo Ripristino di GRUB in tre mosse

Il menù di avvio di Grub 2 risulta, come impostazione predefinita, nascosto. Per ripristinarlo, è sufficiente modificare con un editor di testo e con i privilegi di amministrazione il file /etc/default/grub, commentare la voce GRUB_HIDDEN_TIMEOUT e aggiungere un valore per il timeout:

Es.

#GRUB_HIDDEN_TIMEOUT=3
GRUB_TIMEOUT=XXX

Per ulteriori informazioni vi rimando al sito ufficiale di GRUB2 dove potrete trovare diversi esempi di configurazione.

Tags: grub, grub2

Post correlati

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Ubuntu 10.04 Lucid Lynx


Lascia il tuo messaggio

Previous Next All
Latest on Sat, 03:05

albuterol sulfate: Hi there, I public in the air your blog via Google while searching in requital recompense earliest sake well-earned to the event that a nub [...]

Marco: Of course

Unlamtall: It is pleasant that there are still people in the world that share this idea!

Jatawaine: Hi, I like this information so much, that I would like to post some of this information into my blog. Can I?

puma ferrari shoes: :O

» Scrivi i tuoi commenti al blog



Seguici su FaceBook

Scarica le nostre guide

Creare un server Linux
Creare un server Linux

Lnux e il riconoscimento vocale
Lnux e il riconoscimento vocale