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 mono-utilisateur, et d'utiliser vos propres connaissances pour réparer le système.
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 :
Il vous est impossible de démarrer Linux ;
Vous avez des problèmes logiciels ou matériels et vous voulez récupérer des fichiers importants se trouvant sur le disque dur de votre système.
Maintenant, examinons de plus près ces deux possibilités.
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 GRUB ou LILO. Si le chargeur de démarrage est écrasé de cette façon, il vous est impossible de démarrer Red Hat Linux, à moins que vous ne puissiez utiliser le mode de secours.
Ce problème peut également se vérifier si vous utiliser un outil de partitionnement pour redimensionner une partition ou créer une nouvelle partition à partir de l'espace libre restant après l'installation et qu'il modifie l'ordre de vos partitions. Si le numéro de votre partition / change, le chargeur de démarrage ne pourra pas le trouver pour monter la partition. Pour résoudre ce problème, démarrer le système en mode de secours et modifiez /boot/grub/grub.conf si vous utilisez GRUB ou /etc/lilo.conf si vous utilisez LILO.
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 (si vous utilisez le chargeur de démarrage LILO). 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, insérez la disquette de démarrage Red Hat Linux ou le CD-ROM #1 Red Hat Linux et 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 à l'aide d'une disquette d'amorçage d'installation créée à partir de l'image boot.img. Cette méthode requiert que le CD-ROM #1 de Red Hat Linux soit inséré comme image de secours ou que l'image de secours soit enregistrée sur le disque dur comme image ISO. [1]
en démarrant votre système à partir du CD-ROM #1 de Red Hat Linux.
en démarrant à partir d'une disquette réseau créée en utilisant l'image bootnet.img ou à partir d'une disquette d'amorçage PCMCIA créée en utilisant l'image pcmcia.img. 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 Red Hat Linux officiel.
Une fois que vous avez démarré le système à partir d'une disquette d'amorçage ou du CD-ROM #1 de Red Hat Linux et que vous avez fourni une image de secours valide, le message suivant (en anglais) s'affiche à l'écran :
L'environnement de secours essaiera maintenant de trouver votre installation de Red Hat Linux et de la monter sous le répertoire /mnt/sysimage. Ensuite, vous pourrez apporter toutes les modifications nécessaires à votre système. Si vous souhaitez poursuivre cette opération, sélectionnez 'Continuer'. Si ce processus devait échouer, sélectionnez Ignorer pour interrompre l'opération et retourner directement au shell. |
En sélectionnant Continuer, il essaiera de monter votre système de fichiers sous le répertoire /mnt/sysimage. S'il ne parvient pas à monter une partition, il vous en informera. Si vous sélectionnez Ignorer, votre système de fichiers ne sera pas monté. Choisissez Ignorer si vous craignez que votre système de fichiers ne soit endommagé.
Une fois le système en mode de secours, l'invite suivante apparaît sur les CV (console virtuelle) 1 et 2 (utilisez la combinaison de touches Ctrl-Alt-F1 pour accéder à la CV 1 et Ctrl-Alt-F2 pour accéder à la CV 2) :
bash# |
Si vous avez sélectionné Continuer pour monter vos partitions de façon automatique et que vos partitions ont effectivement été montées, vous vous trouvez dans le mode mono-utilisateur.
Pour monter manuellement une partition Linux en mode de secours, créez un répertoire /foo et tapez la commande suivante :
mount -t ext3 /dev/hda5 /foo |
Dans l'exemple, /foo est un répertoire que vous avez créé et /dev/hda5 est la partition que vous souhaitez monter. Si la partition est de type ext2, remplacez ext3 par ext2.
Si vous ne connaissez pas les noms de vos partitions, affichez-les à l'aide de la commande ci-dessous :
fdisk -l |
Si votre système de fichiers est monté et que vous souhaitez que votre système soit la partition racine, utilisez la commande chroot /mnt/sysimage. Celle-ci est utile si vous devez exécuter des commandes, comme rpm, qui requièrent que votre partition racine soit montée en tant que /. Pour sortir de l'environnement chroot, entrez exit et vous retournerez à l'invite bash#.
A partir de l'invite bash#, vous pouvez exécuter de nombreuses commandes utiles, y compris :
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 |
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 le mode mono-utilisateur.
Si vous utilisez GRUB, suivez les étapes ci-dessous :
Si vous avez configuré un mot de passe GRUB, entrez p et tapez le mot de passe.
Sélectionnez le système Red Hat Linux avec la version de noyau que vous souhaitez démarrer. Ensuite, tapez e pour procéder à sa modification. Une liste d'éléments s'affichera dans le fichier de configuration.
Sélectionnez la ligne qui commence par kernel et entrez e pour la modifier.
Allez à la fin de la ligne et entrez single comme mot séparé (appuyez sur la barre d'espacement et ensuite tapez single). Appuyez sur Entrée pour sortir du mode de modification.
Vous êtes de nouveau à l'écran de GRUB. Tapez b pour démarrer le mode mono-utilisateur.
Si vous utilisez LILO, spécifiez ces options à l'invite de démarrage de LILO (si vous utilisez le chargeur de démarrage LILO graphique, appuyez sur Ctrl-x pour sortir de l'écran graphique et afficher l'invite boot:) :
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 souhaitez 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.
| [1] | Pour créer une disquette d'amorçage d'installation, insérez une disquette vierge dans le lecteur de disquette et utilisez le fichier images/boot.img contenu dans le CD-ROM #1 de Red Hat Linux en entrant la commande dd if=boot.img of=/dev/fd0. |
| Précédent | Sommaire | Suivant |
| Enregistrement du fichier | Niveau supérieur | Redundant Array of Independent Disks (RAID) |