Table des matières

Script Grub - Redémarrage rapide

Un truc pour se simplifier la vie de fainéant qu'on mène !
Pfff ! Même plus besoin de choisir son reboot dans le menu.lst ! ;-)

Edition du menu.lst de référence :

nano /boot/grub/menu.lst
.../...
    ## ## End Default Options ##

    title        Debian GNU/Linux, kernel 2.6.32-rc8-686
    root        (hd0,6)
    kernel        /vmlinuz-2.6.32-rc8-686 root=/dev/hda5 ro
    initrd        /initrd.img-2.6.32-rc8-686

    title        Debian GNU/Linux, kernel 2.6.32-rc8-686 (single-user mode)
    root        (hd0,6)
    kernel        /vmlinuz-2.6.32-rc8-686 root=/dev/hda5 ro single
    initrd        /initrd.img-2.6.32-rc8-686

    title        Debian GNU/Linux, kernel 2.6.30-2-686
    root        (hd0,6)
    kernel        /vmlinuz-2.6.30-2-686 root=/dev/hda5 ro
    initrd        /initrd.img-2.6.30-2-686

    title        Debian GNU/Linux, kernel 2.6.30-2-686 (single-user mode)
    root        (hd0,6)
    kernel        /vmlinuz-2.6.30-2-686 root=/dev/hda5 ro single
    initrd        /initrd.img-2.6.30-2-686

    ### END DEBIAN AUTOMAGIC KERNELS LIST

    # This is a divider, added to separate the menu items below from the Debian
    # ones.
    title        Other operating systems:
    root


    # This entry automatically added by the Debian installer for a non-linux OS
    # on /dev/hdb1
    title        Windows 95/98/Me
    root        (hd1,0)
    savedefault 0
    makeactive
    map            (hd0) (hd1)
    map            (hd1) (hd0)
    chainloader    +1


    # This entry automatically added by the Debian installer for an existing
    # linux installation on /dev/hdb4.
    title        Debian Stable hdb4
    root        (hd1,3)
    chainloader +1
    # kernel    /boot/vmlinuz-2.6.26-1-686 root=/dev/hdb4 ro
    # initrd    /boot/initrd.img-2.6.26-1-686
    savedefault    0
    boot

Modification du menu.lst

On veut que grub-set-default fonctionne avec l'entrée choisie.
Dans le menu.lst. sous root, on écrit :

nano /boot/grub/menu.lst

et l'on écrit :

.../...
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.

On modifie cette ligne :

 default        0

En :

 default        saved

Lors d'un prochain redémarrage on veut revenir à l'entrée par défaut (en général la première) donc dans les entrées que l'on choisi de rebooter, par exemple celle-ci :

    # This entry automatically added by the Debian installer for an existing
    # linux installation on /dev/hdb4.
    title        Debian Stable hdb4
    root        (hd1,3)
    chainloader +1
    # kernel    /boot/vmlinuz-2.6.26-1-686 root=/dev/hdb4 ro
    # initrd    /boot/initrd.img-2.6.26-1-686

On ajoute à la fin :

  savedefault    0
  boot

(Voir le menu.lst mis en exemple.)

Script - Edition

Ensuite on crée 1 petit script par entrée de rebootage.
Perso je les pose dans /usr/local/bin (vérifier qu'on a les droits pour ce repertoire).
Editer :

nano /usr/local/bin/bootstable

On rédige et sauve le fichier bootstable ainsi :

    #!/bin/bash
    grub-set-default 6  #le 6 c'est pour "Stable" la 6éme entrée (ou title) du menu.lst
    shutdown -r now

Script - Lancement

On active le script ainsi :

chmod +x /usr/local/bin/bootstable

On lancera ce script dans un terminal avec Sudo ainsi :

sudo /usr/local/bin/bootstable

Hop ! Merci à phlinux pour cette jolie combine… :-D