« Rescue mode EeePC » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
(balises code)
 
Ligne 1 : Ligne 1 :
[[Catégorie:Eee PC]]
[[Catégorie:Eee PC]]


= Le mode "rescue" ou "single user" de l'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.
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" ou "failsafe" ou "sans échec" se nomme "single user" sous Linux, 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...).
En général, le « mode rescue » ou « failsafe » ou « sans échec » se nomme « single user » sous Linux, 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...).


<u>Note</u> : attention dans ce mode le clavier sera en QWERTY, ce qui signifie que vous aurez sûrement à tatonner pour trouver la correspondance avec votre clavier AZERTY, surtout pour les caractères "spéciaux"... Par exemple la touche <key>A</key> donne "Q", <key>Maj+1</key> donne "!", etc. Voir [http://fr.wikipedia.org/wiki/Correspondance_entre_le_clavier_qwerty_et_le_clavier_azerty cette table de correspondance sur Wikipédia].
<u>Note</u> : attention dans ce mode le clavier sera en QWERTY, ce qui signifie que vous aurez sûrement à tatonner pour trouver la correspondance avec votre clavier AZERTY, surtout pour les caractères "spéciaux"... Par exemple la touche <b>A</b> donne "Q", <b>Maj+1</b> donne "!", etc. Voir [http://fr.wikipedia.org/wiki/Correspondance_entre_le_clavier_qwerty_et_le_clavier_azerty cette table de correspondance sur Wikipédia].


== Démarrer manuellement en mode single user ==
== Démarrer manuellement en mode single user ==
#arrêtez votre EeePC. Dans certains cas, il peut être nécessaire de le débrancher et de retirer la batterie.
#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 :<br /><span style="font-family:courier new,courier,fixed;color:white;background:black;line-height:normal">+---------------------------------<br />| <span style="font-family:courier new,courier,fixed;color:black;background:white">Normal boot</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />| Perform disk scan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />| Restore factory settings&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br />Par défaut, "Normal boot" est sélectionné. Si ce n'est pas le cas utilisez les flèches du clavier pour le sélectionner.
#rallumez-le et appuyez de façon répétée sur la touche <b>F9</b>, jusqu'à ce que le menu de démarrage suivant apparaisse :<br /><span style="font-family:courier new,courier,fixed;color:white;background:black;line-height:normal">+---------------------------------<br />| <span style="font-family:courier new,courier,fixed;color:black;background:white">Normal boot</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />| Perform disk scan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />| Restore factory settings&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br />Par 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 :<br /><span style="font-family:courier new,courier,fixed">title Normal Boot<br />      root (0×80,0)<br />      kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1<br />      initrd /boot/initramfs-eeepc.img</span>
#Tapez la touche <b>E</b> afin d'éditer la ligne de commande du démarrage. Vous devez voir les lignes suivantes :<br /><span style="font-family:courier new,courier,fixed">title Normal Boot<br />      root (0×80,0)<br />      kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1<br />      initrd /boot/initramfs-eeepc.img</span>
#Placez-vous avec les flèches sur la ligne qui commence par "kernel /boot/vmlinuz"
#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
#Tapez à nouveau la touche <b>E</b> 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"
#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>.<br /><u>Note</u>&nbsp;:ce changement n'est pas permanent.
#Validez en appuyant sur <b>Entrée</b>.<br /><u>Note</u>&nbsp;:ce changement n'est pas permanent.
#Appuyez sur la touche <key>B</key> (comme "boot") pour démarrer l'EeePC.
#Appuyez sur la touche <b>B</b> (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 les paragraphes suivants pour son plus d'explications sur l'utilisation de ce mode.
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 les paragraphes suivants pour son plus d'explications sur l'utilisation de ce mode.
Ligne 23 : Ligne 23 :
L'installation consiste à démarrer manuellement dans le mode rescue (voir ci-dessus), puis à l'installer pour de bon dans le menu de démarrage, géré par le logiciel [[Grub]].
L'installation consiste à démarrer manuellement dans le mode rescue (voir ci-dessus), puis à l'installer pour de bon dans le menu de démarrage, géré par le logiciel [[Grub]].


Nous allons donc 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. &Agrave; la fin de nos manipulations, le menu de démarrage accessible par <key>F9</key> sera le suivant :
Nous allons donc 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. &Agrave; la fin de nos manipulations, le menu de démarrage accessible par <b>F9</b> sera le suivant :


<span style="font-family:courier new,courier,fixed;color:white;background:black;line-height:normal">+---------------------------------<br />| <span style="font-family:courier new,courier,fixed;color:black;background:white">Normal boot</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />| Single user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:black;background:white"><span style="font-family:courier new,courier,fixed"> &lt;-</span> ici la nouvelle ligne</span><br />| Perform disk scan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />| Restore factory settings&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span style="font-family:courier new,courier,fixed;color:white;background:black;line-height:normal">+---------------------------------<br />| <span style="font-family:courier new,courier,fixed;color:black;background:white">Normal boot</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />| Single user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:black;background:white"><span style="font-family:courier new,courier,fixed"> &lt;-</span> ici la nouvelle ligne</span><br />| Perform disk scan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />| Restore factory settings&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>


Nous avons 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à : <code>/boot/grub/menu.lst</code>.
Nous avons 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à : <b>/boot/grub/menu.lst</b>.


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<sup>ème</sup> partition.
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<sup>ème</sup> partition.
Ligne 34 : Ligne 34 :
<i>(et surtout pour ceux qui ne peuvent plus démarrer en mode normal)</i>
<i>(et surtout pour ceux qui ne peuvent plus démarrer en mode normal)</i>


Nous ne pouvons pas modifier le fichier <code>menu.lst</code> 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 [[Admin-admin boot-grub|Grub]].
Nous ne pouvons pas modifier le fichier <b>menu.lst</b> 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 [[Admin-admin boot-grub|Grub]].


Nous allons donc monter uniquement la partition n°1 par la commande :
Nous allons donc monter uniquement la partition n°1 par la commande :


<code multi># mount /dev/sda1 /mnt-system</code>
<div class="code"># mount /dev/sda1 /mnt-system</div>


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 [[Software-soft edit-vi|vi]] :
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 [[Software-soft edit-vi|vi]] :


<code multi># vi /mnt-system/boot/grub/menu.lst</code>
<div class="code"># vi /mnt-system/boot/grub/menu.lst</div>


Je vous conseille la lecture de [[Software-soft edit-vi|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.
Je vous conseille la lecture de [[Software-soft edit-vi|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 <b>:</b> <b>w</b> <b>q</b> pour sortir en sauvegardant et <b>:</b> <b>q</b> <b>!</b> 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. <b>Ne faites aucun autre changement</b>.
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. <b>Ne faites aucun autre changement</b>.


<code>title Single user
<div class="code">
title Single user
       root (0x80,0)
       root (0x80,0)
       kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1 XANDROSBOOTDEBUG=y
       kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1 XANDROSBOOTDEBUG=y
       initrd /boot/initramfs-eeepc.img</code>
       initrd /boot/initramfs-eeepc.img
</div>


Si vous n'avez pas envie de lire [[Software-soft edit-vi|l'article vi]], alors les pressions de touche à suivre scrupuleusement pour faire la copie sont :
Si vous n'avez pas envie de lire [[Software-soft edit-vi|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),
*<b>Esc</b> <b>5</b> <b>Maj+Y</b> <b>haut</b> <b>Maj+P</b> ("Y" et "P" en majuscule, d'où <b>Maj</b> et <b>Y</b> ou <b>P</b> 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,
*déplacez-vous vers le bas sur la ligne "title" en pressant 4 fois <b>bas</b> afin d'éditer la deuxième entrée de menu,
*puis allez à la fin de la ligne "title" en tapant <key>$</key>,
*puis allez à la fin de la ligne "title" en tapant <b>$</b>,
*puis <key>x</key> le nombre de fois suffisant pour qu'il ne reste que "title " sur la ligne.
*puis <b>x</b> 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 <b>Maj+A</b> pour passer en mode édition à la fin de la ligne,
* tapez "Single user",
* tapez "Single user",
*puis <key>Esc</key> pour quitter le mode édition.
*puis <b>Esc</b> pour quitter le mode édition.
*Tapez deux fois <key>Bas</key> pour vous retrouver sur la ligne "kernel",
*Tapez deux fois <b>Bas</b> pour vous retrouver sur la ligne "kernel",
*puis <key>$</key>,
*puis <b>$</b>,
*puis <key>Maj+A</key>,
*puis <b>Maj+A</b>,
*<key>espace</key> et "XANDROSBOOTDEBUG=y".
*<b>espace</b> et "XANDROSBOOTDEBUG=y".
*Enfin <key>Esc</key> pour quitter le mode édition.
*Enfin <b>Esc</b> 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 ;-)
*<b>:</b> <b>w</b> <b>q</b> permet de sortir en sauvant les modifications ; si vous voulez recommencer depuis le début et quitter sans sauver, faites <b>:</b> <b>q</b> <b>!</b>. (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 :
Si tout s'est bien passé, vous pouvez :
* démonter la partition (pour s'assurer que tout va bien être écrit dessus) :<code multi># umount /mnt-system</code>
* démonter la partition (pour s'assurer que tout va bien être écrit dessus) : <div class="code"># umount /mnt-system</div>
* redémarrer par <key>Ctrl+Alt+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.
* redémarrer par <b>Ctrl+Alt+Suppr</b>, et tester votre nouvelle entrée de menu "Single user" en tapant sur <b>F9</b> comme expliqué au début de l'article.


==== Solution simple pour les débutants ====
==== Solution simple pour les débutants ====
Ligne 77 : Ligne 79 :
Copiez/collez l'entrée de menu "Normal boot" :
Copiez/collez l'entrée de menu "Normal boot" :


<code>title Normal Boot
<div class="code">
title Normal Boot
       root (0×80,0)
       root (0×80,0)
       kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1
       kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1
       initrd /boot/initramfs-eeepc.img</code>
       initrd /boot/initramfs-eeepc.img
</div>


Puis modifiez-là en :
Puis modifiez-là en :


<code>title Single user
<div class="code">
title Single user
       root (0x80,0)
       root (0x80,0)
       kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1 XANDROSBOOTDEBUG=y
       kernel /boot/vmlinuz-2.6.21.1-eeepc quiet rw irqpoll root=/dev/sda1 XANDROSBOOTDEBUG=y
       initrd /boot/initramfs-eeepc.img</code>
       initrd /boot/initramfs-eeepc.img
</div>


Ne changez que le title, et ajoutez "XANDROSBOOTDEBUG=y".
Ne changez que le title, et ajoutez "XANDROSBOOTDEBUG=y".
Ligne 93 : Ligne 99 :
Ensuite redémarrez en mode single user (voir ci-dessus), montez les systèmes de fichier :
Ensuite redémarrez en mode single user (voir ci-dessus), montez les systèmes de fichier :


<code># mount /dev/sda1 /mnt-system
<div class="code">
# mount /dev/sda2 /mnt-user</code>
# mount /dev/sda1 /mnt-system
# mount /dev/sda2 /mnt-user
</div>


puis copiez le fichier modifié au bon endroit par la commande :
puis copiez le fichier modifié au bon endroit par la commande :
<code multi># cp /mnt-user/home/user/menu.lst /mnt-system/boot/grub</code>
<div class="code"> # cp /mnt-user/home/user/menu.lst /mnt-system/boot/grub</div>


Voilà ! Vous pouvez :
Voilà ! Vous pouvez :
* démonter les partitions (pour s'assurer que tout va bien être écrit dessus) :
* démonter les partitions (pour s'assurer que tout va bien être écrit dessus) :
<code># umount /mnt-system
<div class="code">
# umount /mnt-user</code>
# umount /mnt-system
* redémarrer par <key>Ctrl+Alt+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.
# umount /mnt-user
</div>
* redémarrer par <b>Ctrl+Alt+Suppr</b>, et tester votre nouvelle entrée de menu "Single user" en tapant sur <b>F9</b> comme expliqué au début de l'article.


== Utiliser le "rescue mode" ==
== Utiliser le "rescue mode" ==
Ligne 109 : Ligne 119 :
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 ? ;-)
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+Alt+T</key>, il vous faut des notions de [[Shell]]. Je vous renvoie donc à cet article.
Déjà, pour utiliser ce mode texte, semblable à la console qu'on lance par <b>Ctrl+Alt+T</b>, 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é [http://fr.wikipedia.org/wiki/Unionfs 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 <b>toutes les modifications apportées par l'utilisateur</b>. 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".
Ensuite, il vous faut comprendre le principe de partitionnement de l'EeePC : j'ai nommé [http://fr.wikipedia.org/wiki/Unionfs 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 <b>toutes les modifications apportées par l'utilisateur</b>. 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 <code>/</code>.
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 <b>/</b>.


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 :
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 :


<code># mount /dev/sda1 /mnt-system
<div class="code">
# mount /dev/sda2 /mnt-user</code>
# mount /dev/sda1 /mnt-system
# mount /dev/sda2 /mnt-user
</div>


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.
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.
Ligne 126 : Ligne 138 :
Par exemple, si vous aviez modifié /usr/bin/startsimple.sh (fichier contenant des [[Lancement automatique de logiciels au démarrage sur EeePC|commandes exécutées au démarrage]] de l'interface graphique), utilisez la commande suivante pour l'éditer :
Par exemple, si vous aviez modifié /usr/bin/startsimple.sh (fichier contenant des [[Lancement automatique de logiciels au démarrage sur EeePC|commandes exécutées au démarrage]] de l'interface graphique), utilisez la commande suivante pour l'éditer :


<code multi># vi /mnt-user/usr/bin/startsimple.sh</code>
<div class="code"># vi /mnt-user/usr/bin/startsimple.sh</div>


ou bien la commande cp pour restaurer le backup de ce fichier que vous avez pris soin de faire avant vos modifications, par exemple :
ou bien la commande cp pour restaurer le backup de ce fichier que vous avez pris soin de faire avant vos modifications, par exemple :


<code multi># cp /mnt-user/home/user/mesBackups/startsimple.sh /mnt-user/usr/bin/startsimple.sh</code>
<div class="code"># cp /mnt-user/home/user/mesBackups/startsimple.sh /mnt-user/usr/bin/startsimple.sh</div>


A la fin de vos modifications, avant de redémarrer par <key>Ctrl+Alt+Suppr</key>, vous devez démonter les partitions avec les 2 commandes suivantes :
A la fin de vos modifications, avant de redémarrer par <b>Ctrl+Alt+Suppr</b>, vous devez démonter les partitions avec les 2 commandes suivantes :
<code># umount /mnt-system
<div class="code">
# umount /mnt-user</code>
# umount /mnt-system
# umount /mnt-user
</div>
Cela permettra de s'assurer que toutes les modifications sont bien écrites sur le disque interne (et que rien ne reste bloqué dans un cache).
Cela permettra de s'assurer que toutes les modifications sont bien écrites sur le disque interne (et que rien ne reste bloqué dans un cache).


Ligne 143 : Ligne 157 :


La seule solution ? le mode rescue, pour faire :
La seule solution ? le mode rescue, pour faire :
<code># mount /dev/sda1 /mnt-system
<div class="code">
# mount /dev/sda2 /mnt-user
# mount /dev/sda1 /mnt-system
# cd /mnt-system/usr/bin
# mount /dev/sda2 /mnt-user
# mv xandros_device_detection_dialog xandros_device_detection_dialog.orig
# cd /mnt-system/usr/bin
# cd /mnt-user/usr/bin
# mv xandros_device_detection_dialog xandros_device_detection_dialog.orig
# rm xandros_device_detection_dialog.orig
# cd /mnt-user/usr/bin
# umount /mnt-system
# rm xandros_device_detection_dialog.orig
# umount /mnt-user</code>
# umount /mnt-system
# umount /mnt-user
</div>


Ce qui signifie : dans la partition "système", on renomme l'original du programme en .orig. Dans la partition "utilisateur", on supprime la copie qu'on a faite.
Ce qui signifie : dans la partition "système", on renomme l'original du programme en .orig. Dans la partition « utilisateur », on supprime la copie qu'on a faite.


<br/>
<br/>

Dernière version du 28 avril 2012 à 17:16


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 » ou « failsafe » ou « sans échec » se nomme « single user » sous Linux, 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...).

Note : attention dans ce mode le clavier sera en QWERTY, ce qui signifie que vous aurez sûrement à tatonner pour trouver la correspondance avec votre clavier AZERTY, surtout pour les caractères "spéciaux"... Par exemple la touche A donne "Q", Maj+1 donne "!", etc. Voir cette table de correspondance sur Wikipédia.

Démarrer manuellement en mode single user

  1. arrêtez votre EeePC. Dans certains cas, il peut être nécessaire de le débrancher et de retirer la batterie.
  2. rallumez-le et appuyez de façon répétée sur la touche F9, jusqu'à ce que le menu de démarrage suivant apparaisse :
    +---------------------------------
    | Normal boot                     
    | Perform disk scan               
    | Restore factory settings        
    |                                 

    Par défaut, "Normal boot" est sélectionné. Si ce n'est pas le cas utilisez les flèches du clavier pour le sélectionner.
  3. Tapez la touche E 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
  4. Placez-vous avec les flèches sur la ligne qui commence par "kernel /boot/vmlinuz"
  5. Tapez à nouveau la touche E afin d'éditer cette ligne
  6. Vous devriez être dans une zone d'édition, avec le curseur placé à la fin de la ligne. Ajoutez un espace puis "XANDROSBOOTDEBUG=y"
  7. Validez en appuyant sur Entrée.
    Note :ce changement n'est pas permanent.
  8. Appuyez sur la touche B (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 les paragraphes suivants pour son plus d'explications sur l'utilisation de ce mode.

Installation permanente du mode single user

L'installation consiste à démarrer manuellement dans le mode rescue (voir ci-dessus), puis à l'installer pour de bon dans le menu de démarrage, géré par le logiciel Grub.

Nous allons donc 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. À la fin de nos manipulations, le menu de démarrage accessible par F9 sera le suivant :

+---------------------------------
| Normal boot                     
| Single user                      <- ici la nouvelle ligne
| Perform disk scan               
| Restore factory settings        
|                                 

Nous avons 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 : w q pour sortir en sauvegardant et : q ! 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 :

  • Esc 5 Maj+Y haut Maj+P ("Y" et "P" en majuscule, d'où Maj et Y ou P en même temps),
  • déplacez-vous vers le bas sur la ligne "title" en pressant 4 fois bas afin d'éditer la deuxième entrée de menu,
  • puis allez à la fin de la ligne "title" en tapant $,
  • puis x le nombre de fois suffisant pour qu'il ne reste que "title " sur la ligne.
  • Tapez Maj+A pour passer en mode édition à la fin de la ligne,
  • tapez "Single user",
  • puis Esc pour quitter le mode édition.
  • Tapez deux fois Bas pour vous retrouver sur la ligne "kernel",
  • puis $,
  • puis Maj+A,
  • espace et "XANDROSBOOTDEBUG=y".
  • Enfin Esc pour quitter le mode édition.
  • : w q permet de sortir en sauvant les modifications ; si vous voulez recommencer depuis le début et quitter sans sauver, faites : q !. (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 :

  • démonter la partition (pour s'assurer que tout va bien être écrit dessus) :
    # umount /mnt-system
  • redémarrer par Ctrl+Alt+Suppr, et tester votre nouvelle entrée de menu "Single user" en tapant sur F9 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 :

  • démonter les partitions (pour s'assurer que tout va bien être écrit dessus) :
# umount /mnt-system
# umount /mnt-user
  • redémarrer par Ctrl+Alt+Suppr, et tester votre nouvelle entrée de menu "Single user" en tapant sur F9 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 Ctrl+Alt+T, 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

A la fin de vos modifications, avant de redémarrer par Ctrl+Alt+Suppr, vous devez démonter les partitions avec les 2 commandes suivantes :

# umount /mnt-system
# umount /mnt-user

Cela permettra de s'assurer que toutes les modifications sont bien écrites sur le disque interne (et que rien ne reste bloqué dans un cache).

autre exemple

Lors de l'écriture de l'article [Empêcher la détection automatique des périphériques USB et de la carte SD au démarrage de l'EeePC], j'ai eu un problème : après avoir renommé le programme /usr/bin/xandros_device_detection_dialog en /usr/bin/xandros_device_detection_dialog.orig, celui-ci ne voulait plus fonctionner (il plantait en faisant un "segmentation fault" lorsqu'on le lançait ; ceci peut se voir en ligne de commande).

J'ai eu beau lui rendre son nom original, rien à faire : il plantait toujours.

La seule solution ? le mode rescue, pour faire :

# mount /dev/sda1 /mnt-system
# mount /dev/sda2 /mnt-user
# cd /mnt-system/usr/bin
# mv xandros_device_detection_dialog xandros_device_detection_dialog.orig
# cd /mnt-user/usr/bin
# rm xandros_device_detection_dialog.orig
# umount /mnt-system
# umount /mnt-user

Ce qui signifie : dans la partition "système", on renomme l'original du programme en .orig. Dans la partition « utilisateur », on supprime la copie qu'on a faite.



@ Retour à la rubrique Eee PC

Copyright

Copyright © 20/6/2008, Jean-Christophe Cardot

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 4.0 :
https://creativecommons.org/licenses/by-sa/4.0/



Retour à la page EeePC