Dépannez le démarrage d’un serveur Linux avec GRUB
GRUB est un outil pratique pour aider les administrateurs à résoudre un problème de démarrage sur un serveur Linux. Il existe deux techniques pour s’en servir.
Lorsque vous rencontrez un problème de démarrage sur un serveur Linux, la solution se trouve dans GRUB, le composant nécessaire au boot du système. Il y a deux façons de vous en sortir : soit en réinstallant GRUB, soit en exécutant chacune de ses étapes l’une après l’autre depuis la ligne de commande.
Les symptômes des problèmes que GRUB peut résoudre sont les suivants : vous ne verrez rien d'autre qu'un curseur clignotant lorsque votre serveur démarre, GRUB génère un message d'erreur générique, ou encore GRUB indique qu'il ne trouve pas un fichier dont il a besoin.
Comment réinstaller GRUB sur une machine qui ne boote même pas
Le curseur clignotant est le plus souvent le symptôme d’un problème au niveau du MBR (Master Boot Record). Dans ce cas, GRUB n’est même pas visible et vous avez besoin d’un CD de secours ou d’une clé USB de boot pour démarrer la machine dans un mode à partir duquel nous allons pouvoir la manipuler. Des distributions « Live » Ubuntu, Fedora ou Knoppix sont disponibles au téléchargement pour ce cas d’usage.
Pour résoudre les problèmes de démarrage de Linux, assurez-vous que tout ce qui se trouve sur votre disque dur est monté, indiquez la partition de boot avec la commande chroot et utilisez ensuite la commande grub-install pour y ré-installer GRUB. Par exemple, si vous décidez d'installer GRUB dans le MBR du disque dur qui porte le nom de périphérique /dev/sda, vous utiliserez la commande : grub-install /dev/sda.
Cette commande lit le fichier de configuration de GRUB – à savoir /boot/grub/menu.lst sur la plupart des distributions Linux - et écrit un nouveau bootloader GRUB dans le MBR.
Lancez manuellement les étapes de démarrage de GRUB
Vous n'avez pas toujours besoin de réinstaller GRUB pour résoudre les problèmes de démarrage de Linux. Si GRUB se lance toujours mais ne peut plus démarrer à cause d'un problème dans son fichier de configuration, il est possible de redémarrer manuellement.
Si GRUB donne un message d'erreur et s'arrête, le redémarrage manuel est la meilleure approche. Cela vous permet de découvrir l'origine du problème et les informations dont vous avez besoin pour le résoudre.
Pour accéder au menu de démarrage de GRUB, regardez ce que fait votre ordinateur lorsqu'il démarre. Dans la plupart des cas, il montre que vous devez appuyer sur la touche Echap au moment où GRUB est exécuté. Ceci vous amène sur la ligne de commande GRUB.
Vous pouvez également démarrer à partir d'un CD de secours et entrer la commande grub pour ouvrir l'interface de la ligne de commande GRUB.
Le shell de GRUB vous offre de l'aide, de sorte qu'il n'est pas strictement nécessaire de se souvenir de toutes les commandes utiles. Pour obtenir un aperçu de toutes les commandes disponibles, il suffit de taper la commande help.
Pour exécuter GRUB manuellement, il faut entrer toutes les commandes du fichier /boot/grub/menu.lst. La meilleure approche pour ce faire est d'examiner le contenu de ce fichier en entrant la commande cat /boot/grub/menu.lst. Ce fichier contient ce dont votre ordinateur a besoin pour réparer le démarrage de Linux.
La liste des étapes affichée sur l'écran de votre ordinateur, il suffit de saisir au clavier chaque ligne après l’autre : celle qui commence par root, puis par kernel, puis par initrd. Vous taperez par exemple :
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-16-server root=/dev/sda2 ro
splash initrd /boot/initrd-2.6.24-16-server
Après avoir entré ces commandes, votre ordinateur attend de nouvelles instructions. En clair, cela signifie que vous devez à présent entrer la commande boot pour lancer le processus de démarrage. Surveillez-le attentivement pour vous assurer qu'il n'y a pas d'erreur. En effet, retaper ces lignes complexes à la main pose un vrai risque de faute de frappe. Si tel est le cas, ne vous inquiétez pas : il suffit simplement de recommencer, plus scrupuleusement.