Rescue mode EeePC
Le mode "rescue" ou "single user" de l'EeePC
Le mode rescue permet de démarrer l'EeePC en mode texte avec un Shell, pour essayer de réparer une erreur précédente qui empêche l'EeePC de démarrer correctement. Les symptômes sont en général un reboot sans fin, KDE qui refuse de démarrer, se relance et boucle, etc.
En général, le "mode rescue" se nomme "single user" car c'est un mode de démarrage de Linux qui ne permet qu'à l'utilisateur root (l'administrateur) de se connecter, afin de faire de la maintenance (réparations...).
Installation
L'installation consiste à démarrer manuellement dans le mode rescue, puis de l'installer pour de bon dans le menu de démarrage, géré par le logiciel Grub.
Démarrer le rescue mode manuellement
- arrêtez votre EeePC. Dans certains cas, il peut être nécessaire de le débrancher et de retirer la batterie.
- rallumez-le et appuyez de façon répétée sur la touche <key>F9</key>, jusqu'à ce que le menu de démarrage suivant apparaisse :
+---------------------------------
| Normal boot
| Perform disk scan
| Restore factory settings
|
Pae défaut, "Normal boot" est sélectionné. Si ce n'est pas le cas utilisez les flèches du clavier pour le sélectionner. - Tapez la touche <key>E</key> afin d'éditer la ligne de commande du démarrage. Vous devez voir les lignes suivantes :
title Normal Boot
root (0×80,0)
kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1
initrd /boot/initramfs-eeepc.img - Placez-vous avec les flèches sur la ligne qui commence par "kernel /boot/vmlinuz"
- Tapez à nouveau la touche <key>E</key> afin d'éditer cette ligne
- Vous devriez être dans une zone d'édition, avec le curseur placé à la fin de la ligne. Ajoutez un espace puis "XANDROSBOOTDEBUG=y"
- Validez en appuyant sur <key>Entrée</key>.
Note :ce changement n'est pas permanent. - Appuyez sur la touche <key>B</key> (comme "boot") pour démarrer l'EeePC.
Vous êtes maintenant dans une console, connecté avec l'utilisateur root (administrateur), où vous pouvez passer les commandes classiques du Shell. Cependant, le disque dur n'est pas disponible (monté), ni la partie système, ni la partie utilisateur. Voir le paragraphe Utiliser le "rescue mode" pour son plus d'explications sur l'utilisation de ce mode.
Installer le "rescue mode" de façon permanente
Nous allons créer une nouvelle entrée dans le menu de démarrage, afin de ne plus avoir à répéter toutes ces manipulations la prochaine fois.
Nous avons donc démarré en mode rescue (sinon recommencez les étapes précédentes), et allons modifier le fichier qui régit le menu de démarrage. Dans un système Linux normal, celui-ci se trouve là : /boot/grub/menu.lst
.
Cependant, l'EeePC a un type de montage du disque dur particulier (qui permet de revenir à la configuration d'usine en choisissant l'entrée de menu "Restore factory settings"). Il est composé de 2 partitions, l'une contenant le système tel qu'il a été livré par Asus, l'autre contenant toutes les modifications qui ont été faites depuis (mises à jour, fichiers utilisateur, etc.). Lorsque vous démarrez en mode normal, ces 2 partitions sont montées d'une façon spéciale (nommée "unionfs") et se superposent, avec priorité pour les fichiers présents dans la 2ème partition.
Solution directe pour ceux qui n'ont peur de rien (et pas de vi)
(et surtout pour ceux qui ne peuvent plus démarrer en mode normal)
Nous ne pouvons pas modifier le fichier menu.lst directement en mode Easy de l'EeePC, car les modifications iraient dans la deuxième partition, qui n'est pas accessible par le gestionnaire de démarrage Grub.
Nous allons donc monter uniquement la partition n°1 par la commande :
# mount /dev/sda1 /mnt-system
puis y modifier le fichier qui se trouve donc dans /mnt-system/boot/grub/menu.lst. Pour ce faire, nous devons utiliser un éditeur en mode texte, le seul disponible en mode Single user, qui se nomme vi :
# vi /mnt-system/boot/grub/menu.lst
Je vous conseille la lecture de l'article vi pour savoir comment l'utiliser, car si c'est votre première fois, vous risquez d'être perdu dans cet éditeur très spécial. Sachez que pour quitter, il vous faut taper <key>:</key> <key>w</key> <key>q</key> pour sortir en sauvegardant et <key>:</key> <key>q</key> <key>!</key> pour sortir sans sauver.
Copiez la première entrée de menu, et changez uniquement son titre (title) et l'option de ligne de commande (ajoutez "XANDROSBOOTDEBUG=y"). Les autres informations peuvent différer de ce qu'il y a ci-dessous, ce n'est pas grave. Ne faites aucun autre changement.
title Single user root (0x80,0) kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1 XANDROSBOOTDEBUG=y initrd /boot/initramfs-eeepc.img
Si vous n'avez pas envie de lire l'article vi, alors les pressions de touche à suivre scrupuleusement pour faire la copie sont :
- <key>Esc</key> <key>5</key> <key>Maj+Y</key> <key>haut</key> <key>Maj+P</key> ("Y" et "P" en majuscule, d'où <key>Maj</key> et <key>Y</key> ou <key>P</key> en même temps),
- déplacez-vous vers le bas sur la ligne "title" en pressant 4 fois <key>bas</key> afin d'éditer la deuxième entrée de menu,
- puis allez à la fin de la ligne "title" en tapant <key>$</key>,
- puis <key>x</key> le nombre de fois suffisant pour qu'il ne reste que "title " sur la ligne.
- Tapez <key>Maj+A</key> pour passer en mode édition à la fin de la ligne,
- tapez "Single user",
- puis <key>Esc</key> pour quitter le mode édition.
- Tapez deux fois <key>Bas</key> pour vous retrouver sur la ligne "kernel",
- puis <key>$</key>,
- puis <key>Maj+A</key>,
- <key>espace</key> et "XANDROSBOOTDEBUG=y".
- Enfin <key>Esc</key> pour quitter le mode édition.
- <key>:</key> <key>w</key> <key>q</key> permet de sortir en sauvant les modifications ; si vous voulez recommencer depuis le début et quitter sans sauver, faites <key>:</key> <key>q</key> <key>!</key>. (Ca fait un peu peur, mais quand on est habitué, on s'y fait vite, et vi devient un outil très puissant ;-)
Si tout s'est bien passé, vous pouvez redémarrer par <key>Ctrl</key>-<key>Alt</key>-<key>Suppr</key>, et tester votre nouvelle entrée de menu "Single user" en tapant sur <key>F9</key> comme expliqué au début de l'article.
Solution simple pour les débutants
Si vous pouvez redémarrer dans le mode Easy (ou avancé) de l'EeePC, i.e. si vous n'êtes pas ici car votre EeePC ne veut plus démarrer ;-) alors vous pouvez copier le fichier /boot/grub/menu.lst dans votre répertoire utilisateur : /home/user/menu.lst et le modifier avec votre éditeur de texte préféré.
Copiez/collez l'entrée de menu "Normal boot" :
title Normal Boot root (0×80,0) kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1 initrd /boot/initramfs-eeepc.img
Puis modifiez-là en :
title Single user root (0x80,0) kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1 XANDROSBOOTDEBUG=y initrd /boot/initramfs-eeepc.img
Ne changez que le title, et ajoutez "XANDROSBOOTDEBUG=y".
Ensuite redémarrez en mode single user (voir ci-dessus), montez les systèmes de fichier :
# mount /dev/sda1 /mnt-system # mount /dev/sda2 /mnt-user
puis copiez le fichier modifié au bon endroit par la commande :
# cp /mnt-user/home/user/menu.lst /mnt-system/boot/grub
Voilà ! Vous pouvez redémarrer par <key>Ctrl</key>-<key>Alt</key>-<key>Suppr</key>, et tester votre nouvelle entrée de menu "Single user" en tapant sur <key>F9</key> comme expliqué au début de l'article.
Utiliser le "rescue mode"
Si vous en avez besoin, c'est que vous avez sûrement fait une fausse manipulation. Vous devez bien savoir où se trouve le fichier que vous avez modifié ;-) Dans ce cas, il faudra le retrouver et revenir à la version précédente (bien sûr vous faites des sauvegardes systématiques des fichiers de configuration, avant de les modifier ? ;-)
Déjà, pour utiliser ce mode texte, semblable à la console qu'on lance par <key>Ctrl</key>-<key>Alt</key>-<key>T</key>, il vous faut des notions de Shell. Je vous renvoie donc à cet article.
Ensuite, il vous faut comprendre le principe de partitionnement de l'EeePC : j'ai nommé UnionFS. Pour faire court, votre disque interne est découpé en 2 partitions. L'une (/dev/sda1) qui contient le système tel qu'installé par Asus en sortie d'usine, l'autre (/dev/sda2) contenant toutes les modifications apportées par l'utilisateur. UnionFS est un mode de montage des partitions qui permet de les fusionner afin de n'en voir qu'une seule. Ainsi, pour revenir à la configuration d'usine, il suffit de supprimer la deuxième partition. C'est ce que fait l'entrée de menu "Restore factory settings".
Enfin, lorsque vous démarrez en mode single user, aucune des 2 partitions n'est montée. Vous vous trouvez dans la racine du système /
.
Pour accéder à vos fichiers, il faut "monter" les partitions, i.e. attacher leur contenu à un répertoire. Pour ce faire entrez les 2 commandes suivantes :
# mount /dev/sda1 /mnt-system # mount /dev/sda2 /mnt-user
Dans chacun des répertoires /mnt-system et /mnt-user, vous pourrez voir un ensemble de répertoire semblables à ceux qu'on trouve à la racine de n'importe quel système Linux. La magie de UnionFS est de les fusionner et de n'en laisser apparaître qu'un.
En général donc, vos modifications seront dans /mnt-user où vous devrez trouver et corriger le problème qui empêche l'EeePC de démarrer.
Par exemple, si vous aviez modifié /usr/bin/startsimple.sh (fichier contenant des commandes exécutées au démarrage de l'interface graphique), utilisez la commande suivante pour l'éditer :
# vi /mnt-user/usr/bin/startsimple.sh
ou bien la commande cp pour restaurer le backup de ce fichier que vous avez pris soin de faire avant vos modifications, par exemple :
# cp /mnt-user/home/user/mesBackups/startsimple.sh /mnt-user/usr/bin/startsimple.sh