Dominique Meeùs
Dernière modification le  
retour au sommaire Linux

Lancement de la machine et de Linux

Boot manager : le GRUB

Mes premières expériences (Debian Sarge) de boot manager ont été faites avec Lilo en 2003, mais à l’époque, je n’ai pas vraiment fait le passage à Linux. Lorsqu’au printemps 2004, je m’y suis mis pour de bon, le nouvel installeur (Debian testing) proposait le GNU GRUB (GRand Unified Bootloader). C’est effectivement très supérieur. C’est un petit système d’exploitation en lui-même, qui peut lire des fichiers dans les systèmes de fichiers habituels sur un disque. Il n’installe dans le boot record pas beaucoup plus qu’un pointeur vers un répertoire où se trouve le reste. Cela veut dire qu’on peut à tout moment mettre le logiciel à jour ou, surtout, éditer son éventuel fichier de menu (habituellement /boot/grub/menu.lst) sans rien devoir réinstaller. Au démarrage suivant, si les fichiers sont nouveaux, il lira de nouveaux fichiers. On peut l’installer où on veut (disque dur, disquette de secours...) Le GRUB est très facile. Si vous cherchez de la documentation, on vous expliquera les stage 1 et stage 2 mais vous n’avez pas besoin de savoir ça pour installer, il suffit de savoir utiliser à bon escient les commandes root et setup à partir du shell du GRUB.

Conventions du GRUB pour la numérotation des disques

Les disques et partitions sont comptés à partir de zéro donc le premier disque dur est (hd0) et sa première partition est (hd0,0). La cinquième partition du deuxième disque (en linux, hdb5) est (hd1,4).

Installation

On installe la première fois à partir d’un paquet (ou en le compilant selon les instructions du fichier INSTALL). Dans un système où le GRUB est installé, on dispose de la commande grub qui permet d’installer sur un autre disque ou de modifier l’installation. Comme root, on lance le GRUB et on se trouve sous le shell de la commande grub:

mamachine:~# grub

On dit au GRUB vers quel disque il doit pointer (il y cherchera par défaut les répertoires /boot/grub ou /grub):

grub> root (fd0)

Le GRUB répond (s’il y a bien les fichiers du GRUB dans /boot/grub ou /grub) qu’il y a trouvé un GRUB. On lui dit alors d’installer dans le master boot record un pointeur:

grub> setup (fd0)

Si vous testez dans une autre partition une autre version de Linux qui vous installe un nouveau GRUB, et si vous voulez rétablir l’ancien dans le master boot record du disque principal hda pour un Linux dans hdb5, vous faites:

grub> root (hd1,4)

grub> setup (hd0)

Si on a une disquette de GRUB fonctionnelle, on peut ainsi installer ou réinstaller un GRUB n’importe où. Copier les fichiers dans le /boot/grub de la partition voulue et installer comme ci-dessus.

Menu

Cherchez un fichier menu.lst pour voir. Celui de Debian est très documenté par des commentaires dans le fichier lui-même. Il est bon d’imprimer la dernière version du menu.lst chaque fois qu’elle se modifie (soit que vous l’améliorez manuellement, soit que la mise à jour du kernel l’adapte automatiquement) pour pouvoir en exécuter les commandes au clavier dans le shell d’un grub disquette. Pour plus d’informations, voir le Manuel.

Lenteurs et accidents de démarrage

(Depuis Ubuntu 5.04, Hoary, ce problème n’existe plus !)

Depuis un certain temps (je ne me rappelle pas si ça venait d’avoir installé quelque chose ; c’est peut-être depuis le début) il arrivait que la machine ralentisse pendant le lancement de Linux Debian unstable. Au début les messages défilaient en rafale mais, deux fois sur trois, ça ralentissait et on attendait jusqu’à une dizaine de secondes entre les lignes. Si (parce j’étais occupé ailleurs) je laissais Linux et Gnome démarrer ainsi, tout restait affreusement lent. Donc j’avais fini par comprendre : reset dès que ça ralentissait anormalement, parfois plusieurs fois avant d’obtenir un démarrage normal. Parfois aussi ça marchait du premier coup. Il y avait peut-être une vérification du matériel qui ne recevait parfois pas la réponse attendue et qui bouclait indéfiniment.

Sous Ubuntu 4.10 (Warty) aussi, j’avais parfois un endormissement progressif : un minuscule temps d’attente après le réglage de la hardware clock, un peu plus après l’Enterprise Volume Management System et très sensible pour le Hotplug subsystem et après. Il fallait alors faire reset.

C’est lié au problème MP-BIOS bug: 8254 timer not connected to IO-APIC qui apparait au début du démarrage et semble lié au chipset nForce de nVidia. J’ai ajouté (dans le /boot/grub/menu.lst du GRUB) l’option de démarrage acpi_skip_timer_override (d’autres suggèrent l’option noapic) et cela semble résolu.

Retour en haut de la page