Chapitre 3. Mode de secours

En cas de problèmes, vous pouvez compter sur un certain nombre de méthodes pour vous aider à les résoudre. Toutefois, il vous est nécessaire de bien connaître le système pour pouvoir les utiliser. Ce chapitre illustre les différentes façons qui vous permettent d'effectuer le démarrage en mode de secours et d'utiliser vos propres connaissances pour réparer le système.

Qu'est-ce que le mode de secours ?

Le mode de secours consiste à démarrer un petit environnement Linux contenu sur une disquette, un CD-ROM ou d'autres méthodes.

Comme son nom l'indique, ce mode est fourni pour vous porter secours lorsque vous en avez besoin. Lors d'une exécution normale, votre système Red Hat Linux utilise des fichiers situés sur le disque dur pour effectuer toutes ses tâches ; exécution de programmes, stockage de fichiers, etc.

Cependant, il est parfois impossible de faire fonctionner Linux suffisamment pour qu'il puisse accéder à ses fichiers sur le disque dur. Le mode de secours vous permet alors d'accéder aux fichiers stockés sur le disque dur et ce, même si vous ne pouvez exécuter Linux depuis ce disque dur.

Généralement, vous avez recours au mode de secours pour l'une des deux raisons suivantes :

Maintenant, examinons de plus près ces deux possibilités.

Impossibilité de démarrer Linux

Ce problème est souvent causé par l'installation d'un autre système d'exploitation après avoir installé Red Hat Linux. Certains système d'exploitation assument que vous n'en avez pas d'autres sur votre ordinateur et écrasent le bloc de démarrage maître (MBR) qui contient le chargeur de démarrage LILO. Si LILO est écrasé de cette façon, il vous est impossible de démarrer Red Hat Linux, à moins de pouvoir utiliser le mode de secours.

Problèmes logiciels et matériels

Dans ce cas, nous pouvons avoir différentes situations. En voici d'ailleurs deux exemples : une panne du disque dur et l'oubli d'exécuter LILO après avoir construit un nouveau noyau. Résultat ? Impossible de démarrer Red Hat Linux. Si vous pouvez entrer en mode de secours, vous arriverez peut-être à résoudre le problème ou du moins à obtenir des copies de vos fichiers les plus importants.

Pour démarrer votre système en mode de secours, entrez la commande suivante à l'invite de démarrage d'installation :

boot: linux rescue

Vous pouvez obtenir l'invite de démarrage d'installation d'une des façons suivantes :

  • en démarrant votre système à partir d'une disquette d'amorçage d'installation[1] ou le CD-ROM Red Hat Linux no. 1 ;

  • en démarrant à partir d'un réseau ou d'une disquette d'amorçage PCMCIA. Pour ce faire, votre connexion au réseau doit fonctionner. Vous devrez identifier l'hôte réseau et le type de transfert. Pour en savoir plus sur les façons de fournir ces informations, reportez-vous à Installation sur réseau dans le Guide d'installation officiel Red Hat Linux pour x86.

Une fois le système en mode de secours, l'invite suivante apparaît sur la VC (console virtuelle) 2 (utilisez la combinaison de touches Ctrl-Alt-F2 pour accéder à la VC 2) :

bash#

Vous pouvez exécuter de nombreuses commandes depuis cette invite, telles que :

anaconda          gzip        mkfs.ext2   ps
badblocks         head        mknod       python
bash              hwclock     mkraid      python1.5
cat               ifconfig    mkswap      raidstart
chattr            init        mlabel      raidstop
chmod             insmod      mmd         rcp
chroot            less        mmount      rlogin
clock             ln          mmove       rm
collage           loader      modprobe    rmmod
cp                ls          mount       route
cpio              lsattr      mpartition  rpm
dd                lsmod       mrd         rsh
ddcprobe          mattrib     mread       sed
depmode           mbadblocks  mren        sh
df                mcd         mshowfat    sync 
e2fsck            mcopy       mt          tac
fdisk             mdel        mtools      tail
fsck              mdeltree    mtype       tar
fsck.ext2         mdir        mv          touch
fsck.ext3         mdu         mzip        traceroute
ftp               mformat     open        umount
gnome-pty-helper  minfo       pico        uncpio
grep              mkdir       ping        uniq
gunzip            mke2fs      probe       zcat

Cependant, si votre système de fichiers root n'est pas endommagé, vous pouvez le monter et exécuter tout utilitaire standard Linux. Par exemple, si votre système de fichiers root se trouve dans /dev/hda5, vous pouvez monter cette partition à l'aide de la commande suivante :

mount -t ext2 /dev/hda5 /foo

Dans cette commande, /foo est un répertoire que vous avez créé.

A ce stade, vous pouvez exécuter chroot, fsck, man et d'autres utilitaires. Vous exécutez Linux en mode mono-utilisateur.

Si vous ne connaissez pas les noms de vos partitions Linux, vous pouvez essayer de les deviner. Le montage de partitions non existantes ne cause aucun problème.

Démarrage direct en mode mono-utilisateur

Peut-être pourrez-vous démarrer directement en mode mono-utilisateur. Si votre système démarre, mais ne vous permet pas de vous connecter lorsqu'il a terminé le processus de démarrage, essayez de redémarrer et de spécifier l'une des options suivantes à l'invite de démarrage LILO (si vous utilisez l'interface graphique LILO, vous devez appuyer sur la combinaison de touches Ctrl-x pour en sortir et aller à l'invite boot: prompt) :

boot: linux single
boot: linux emergency

En mode mono-utilisateur, votre ordinateur démarre au niveau d'exécution 1. Le système de fichiers local est monté, mais votre réseau n'est pas activé. Vous avez accès à un shell de maintenance du système utilisable.

En mode d'urgence, vous démarrez dans l'environnement le plus primaire qui soit. Le système de fichiers root est monté en lecture seule et presque rien n'est configuré. Le grand avantage du mode d'urgence par rapport au mode linux single est que vos fichiers init ne sont pas chargés. Par conséquent, si init est corrompu ou non fonctionnel, vous pouvez tout de même monter des systèmes de fichiers pour récupérer des données qui, autrement, pourraient être perdues lors d'une réinstallation.

Avez-vous déjà reconstruit un noyau et, dans la hâte d'essayer votre oeuvre, redémarré avant d'avoir exécuté /sbin/lilo ? Si vous n'aviez pas d'entrée pour un noyau plus ancien dans lilo.conf, vous avez probablement eu un problème. Si vous aimeriez connaître la solution à ce problème, lisez cette section.

Souvent, vous pouvez démarrer votre système Red Hat Linux à partir du disque d'amorçage Red Hat Linux [1] et avoir votre système de fichiers root monté et prêt à être utilisé. Voici comment :

Entrez la commande suivante à l'invite boot: du disque d'amorçage :

linux single root=/dev/hdXX initrd=

Remplacez XX dans la commande /dev/hdXX par la lettre et le numéro appropriés pour votre partition root.

Que fait cette commande ? D'abord, elle lance le processus de démarrage en mode mono-utilisateur en définissant la partition indiquée comme étant votre partition root. La spécification initrd vide évite le lancement de l'installation sur le disque d'amorçage, ce qui fait en sorte que vous passez immédiatement en mode mono-utilisateur.

Y a-t-il un côté négatif à l'utilisation de cette technique ? Malheureusement, oui. Comme le noyau sur le disque d'amorçage Red Hat Linux ne prend en charge que les IDE, vous ne pouvez utiliser cette technique si votre système est fondé sur des SCSI. Dans ce cas, vous devez accéder au mode de secours à l'aide de la commande linux rescue dont il a été question précédemment.

Notes

[1]

Pour créer une disquette d'amorçage d'installation, utilisez le fichier images/boot.img contenu sur le CD-ROM Red Hat Linux no. 1, la commande dd if=boot.img of=/dev/fd0 et une disquette vierge.