Modificare l'avvio predefinito nel grub di linux

Il boot di quasi tutti i sistemi linux è ormai gestito da GRUB, questo è un Multiboot boot loader che può essere estremamente personalizzato.

Per modificare il GRUB occorre agire sul file menu.lst che è raggiungibile al percorso:

/boot/grub/menu.lst

Un esempio del file menu.lst è il seguente

timeout 10
color black/cyan yellow/cyan
shade 1
viewport 3 2 77 22
splashimage (hd0,4)/boot/grub/mdv-grub_splash.xpm.gz
default 0

title linux
kernel (hd0,4)/boot/vmlinuz root=/dev/hda5  resume=/dev/hda6 splash=silent vga=788
initrd (hd0,4)/boot/initrd.img

title linux-nonfb
kernel (hd0,4)/boot/vmlinuz root=/dev/hda5  resume=/dev/hda6
initrd (hd0,4)/boot/initrd.img

title failsafe
kernel (hd0,4)/boot/vmlinuz root=/dev/hda5  failsafe resume=/dev/hda6
initrd (hd0,4)/boot/initrd.img

title windows
root (hd0,0)
chainloader +1

Analizzando la struttura di questo file notiamo che:

  • la prima riga, timeout 10, ci indica il tempo in secondi per effettuare la scelta del sistema da avviare prima dell'avvio automatico del sistema predefinito
  • la sesta riga, default 0, ci indica qual'è il sistema predefinito da avviare; nel caso in esempio essendo impostato il valore 0 il sistema predefinito è linux

quindi per poter scegliere quale sistema avviare automaticamente si dovrà agire sulla riga default 0 tenendo conto dell'ordine che hanno gli altri sistemi nel file. In questo esempio i sistemi sono:

linux, linux-nonfb, failsafe e windows

e tenendo conto che nei sistemi unix si inizia a contare sempre da 0, l'ordine è il seguente:

linux = 0

linux - nonfb = 1

failsafe = 2

windows = 3

Concludendo se volessimo impostare l'avvio automatico di Windows dovremmo cambiare la sesta riga del file menu.lst da:

default 0

in

default 3