Mode de secours

Lorsque les choses tournent mal, il existe plusieurs façons d'y remédier. Il importe cependant que vous compreniez bien comment le système fonctionne. Nous allons vous expliquer comment démarrer en mode de secours lorsque vous pouvez faire appel à vos propres connaissances pour dépanner le système.

Qu'est-ce qu'un mode de secours ?

Le mode de secours est une méthode permettant de démarrer un petit environnement Linux entièrement à partir d'une disquette, d'un CD ou d'un autre support.

La suite de cette section peut vous aider à résoudre un problème dans une certaine mesure.

Comme son nom l'indique, le mode de secours a pour vocation de venir à votre rescousse. En cours de fonctionnement normal, votre système Red Hat Linux utilise des fichiers situés sur le disque dur pour toutes les opérations — exécution des programmes, stockage des fichiers, etc.

Cependant, il peut arriver que vous ne soyez pas en mesure d'exécuter Linux complètement pour accéder à ses fichiers sur le disque dur de votre système. Le mode de secours permet d'accéder aux fichiers stockés sur le disque dur de votre système, même si vous ne pouvez pas exécuter Linux à partir de ce disque dur.

Normalement, vous devez entrer en mode de secours dans une ou deux situations :

Examinons de plus près chacun de ces scénarios.

Impossible de démarrer Linux

Ce problème résulte souvent de l'installation d'un autre système d'exploitation après l'installation de Red Hat Linux. Certains autres systèmes d'exploitation partent du principe qu'il n'y a pas d'autre système d'exploitation installé sur votre ordinateur. Ils écrasent donc le MBR (Master Boot Record, bloc de démarrage maître) contenu à l'origine dans le chargeur de démarrage LILO. Si LILO est écrasé de cette manière, ce n'est pas votre jour de chance — à moins que vous ne puissiez passer en mode de secours.

Problèmes de matériel/logiciel

Les situations possibles, dans cette catégorie, sont aussi variées que les systèmes fonctionnant sous Linux. Un disque dur défectueux ou l'oubli d'exécuter LILO après avoir construit un nouveau noyau sont deux exemples de problèmes pouvant empêcher le démarrage de Red Hat Linux. Si vous pouvez passer en mode de secours, vous parviendrez peut-être à résoudre le problème — ou au moins à obtenir des copies de vos principaux fichiers.

Pour démarrer le système en mode de secours, entrez le paramètre suivant à l'invite boot d'installation :

boot: linux rescue
	  

Vous pouvez accéder à l'invite boot d'installation en procédant de l'une des manières suivantes :

  • En démarrant le système sur la disquette ou le CD-ROM livré avec votre suite sous emballage Red Hat Linux.

  • En démarrant sur un réseau ou une disquette d'amorçage PCMCIA. Ces méthodes partent de l'hypothèse que votre connexion de réseau fonctionne et requièrent que identifiiez l'hôte du réseau et le type de transfert. Pour savoir comment spécifier ces informations, reportez-vous à la section "Installation sur le réseau" du Chapitre 14.

Une fois le système en mode de secours, une invite s'affiche sur la console virtuelle 2 (utilisez la combinaison de touches Ctrl-Alt-F2 pour accéder à cette console) :

bash#
	  

A partir de cette invite, vous pouvez exécuter les commandes répertoriées ci-dessous :

anaconda          gzip        mkfs.ext2   ps
badblocks         head        mknod       python
bash              hwclock     mkraid      python1.5
cat               ifconfig    mkswap      raidstart
chatter           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
ftp               mdu         mzip        traceroute
genhdlist         mformat     open        umount
gnome-pty-helper  minfo       pico        uncpio
grep              mkdir       ping        uniq
gunzip            mke2fs      probe       zcat
	  

Toutefois, si votre système de fichiers root n'est pas endommagé, vous pouvez le monter, puis exécuter n'importe quel utilitaire Linux standard. Par exemple, supposons que votre système de fichiers root se trouve dans /dev/hda5. Voici comment monter cette partition :

mount -t ext2 /dev/hda5 /foo
	    

/foo est un répertoire créé par vous.

Vous pouvez à présent exécuter chroot, fsck, man et d'autres utilitaires. A ce stade, vous exécutez Linux en mode à un seul utilisateur.

Si vous ne connaissez pas les noms de vos partitions Linux, vous pouvez les deviner ; le montage de partitions inexistantes ne présente aucun risque.

Démarrage directement en mode à un seul utilisateur

Vous pouvez peut-être démarrer directement en mode à un seul utilisateur. Si le système démarrer mais ne vous permet pas de vous connecter une fois la séquence de démarrage terminée, essayez de redémarrer en spécifiant l'une des options suivantes à l'invite boot de LILO :


LILO boot: linux simple
LILO boot: linux d'urgence
	  

En mode à un seul utilisateur, l'ordinateur démarre au niveau d'exécution 1. Vos systèmes de fichiers locaux sont montés mais le réseau n'est pas activé. Vous obtenez un shell de maintenance système utilisable.

En mode d'urgence, vous démarrez dans un environnement minimal. Le système de fichiers root est monté en lecture seule et quasiment rien n'est configuré. Le principal avantage de cette solution sur linux simple est que vos fichiers init ne sont pas chargés. Si le programme init est corrompu ou ne fonctionne pas, vous pouvez toujours monter des systèmes de fichier afin de récupérer des données qui pourraient être perdues en cours de réinstallation.

Astuce pratique

Avez-vous jamais reconstruit un noyau et, impatient d'essayer votre nouvelle oeuvre, redémarré le système avant d'exécuter LILO ? Et qu'il n'y ait plus d'entrée pour un noyau plus ancien dans le fichier lilo.conf ? Continuez à lire…

Souvent, il est possible de démarrer le système Red Hat Linux/Intel à partir de la disquette d'amorçage Red Hat Linux avec le système de fichiers root monté et prêt à opérer. Voici comment procéder :

Tapez la commande suivante à l'invite boot: de la disquette d'amorçage :

linux single root=/dev/hdXX initrd=
	  

(remplacez XX dans /dev/hdXX par la lettre et le numéro approprié de votre partition root).

Quel est l'effet de cette opération ? Tout d'abord, elle lance le démarrage en mode mono-utilisateur, avec la partition root définie sur votre partition root. La spécification initrd vide passe outre l'image en rapport avec l'installation sur la disquette d'amorçage, ce qui vous fait entrer immédiatement en mode mono-utilisateur.

Y-a-t-il un revers à la médaille ? Malheureusement, oui. Du fait que le noyau sur la disquette d'amorçage de Red Hat Linux ne prend en charge que l'IDE intégrée, ceux qui utilisent un système de type SCSI ne peuvent pas tirer parti de cette astuce. Dans ce cas, il ne leur reste plus qu'à utiliser la combinaison disquette d'amorçage/de secours évoquée plus haut.