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

De Lea Linux
Aller à la navigation Aller à la recherche
(balises code)
 
(50 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{En construction}}
[[Catégorie:Eee PC]]


= Le mode "rescue" =
= 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.


== Installation ==
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...).
L'installation consiste à démarrer manuellement dans le mode rescue, puis de l'installer pour de bon dans le menu de démarrage (grub).
 
=== Démarrer le rescue mode manuellement ===
<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 ==
#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 [F9], jusqu'à ce que le menu de démarrage suivant apparaisse :<br /><span style="font-family:courier new,courier,fixed;color:white;background:black">+---------------------------------<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 />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.
#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 [E] afin d'éditer la ligne de commande du démarrage
#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 [E] 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 [Entrée].<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 [B] (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.
 
== 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. &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>
 
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.
 
==== Solution directe pour ceux qui n'ont peur de rien (et pas de vi) ====
<i>(et surtout pour ceux qui ne peuvent plus démarrer en mode normal)</i>
 
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]].


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 [[Rescue mode#Installer_le_.22rescue_mode.22_de_fa.C3.A7on_permanente|Utiliser le "rescue mode"]] pour son plus d'explications sur l'utilisation de ce mode.
Nous allons donc monter uniquement la partition n°1 par la commande :


=== Installer le "rescue mode" de façon permanente ===
<div class="code"># mount /dev/sda1 /mnt-system</div>
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à : <code>/boot/grub/menu.lst</code>.
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]] :


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.).
<div class="code"># vi /mnt-system/boot/grub/menu.lst</div>


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]].
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.


Nous allons donc monter la partition n°1 par la commande :
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>.


<div class="code">mount /dev/sda1 /mnt-system</div>
<div class="code">
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
</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, par exemple [[Software-soft edit-vi|vi]] :
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 :
*<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 <b>bas</b> afin d'éditer la deuxième entrée de menu,
*puis allez à la fin de la ligne "title" en tapant <b>$</b>,
*puis <b>x</b> le nombre de fois suffisant pour qu'il ne reste que "title " sur la ligne.
*Tapez <b>Maj+A</b> pour passer en mode édition à la fin de la ligne,
* tapez "Single user",
*puis <b>Esc</b> pour quitter le mode édition.
*Tapez deux fois <b>Bas</b> pour vous retrouver sur la ligne "kernel",
*puis <b>$</b>,
*puis <b>Maj+A</b>,
*<b>espace</b> et "XANDROSBOOTDEBUG=y".
*Enfin <b>Esc</b> pour quitter le mode édition.
*<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 ;-)


<div class="code">vi /mnt-system/boot/grub/menu.lst</div>
Si tout s'est bien passé, vous pouvez :
* démonter la partition (pour s'assurer que tout va bien être écrit dessus) : <div class="code"># umount /mnt-system</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.


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.
==== 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 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.
Copiez/collez l'entrée de menu "Normal boot" :


<div class="code"><pre> title Rescue mode
<div class="code">
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
</div>
 
Puis modifiez-là en :
 
<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</pre></div>
       initrd /boot/initramfs-eeepc.img
</div>
 
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 :
 
<div class="code">
# mount /dev/sda1 /mnt-system
# mount /dev/sda2 /mnt-user
</div>
 
puis copiez le fichier modifié au bon endroit par la commande :
<div class="code"> # cp /mnt-user/home/user/menu.lst /mnt-system/boot/grub</div>
 
Voilà ! Vous pouvez :
* démonter les partitions (pour s'assurer que tout va bien être écrit dessus) :
<div class="code">
# umount /mnt-system
# 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" ==
 
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 <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".
 
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 :
 
<div class="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.
 
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 [[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 :
 
<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 :
 
<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 <b>Ctrl+Alt+Suppr</b>, vous devez démonter les partitions avec les 2 commandes suivantes :
<div class="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).
 
===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 :
<div class="code">
# 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
</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.
 
<br/>
<br/>
'''<b>[[EeePC|@ Retour à la rubrique Eee PC]]</b>'''
 
= Copyright =
Copyright &copy; 20/6/2008, [[Utilisateur:LeaJice|Jean-Christophe Cardot]]
{{CC-BY-SA}}
 


=== Utiliser le "rescue mode" ===
<hr />
[[EeePC|Retour à la page EeePC]]
<hr />

Dernière version du 28 avril 2012 à 16: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