Forum Linux.debian/ubuntu Problème BusyBox

Posté par  . Licence CC By‑SA.
Étiquettes :
0
5
août
2019

Bonjour à tous et à toutes !
Et merci d'avance pour votre aide !

J'ai un problème de démarrage BusyBox … Mais pas celui qui se résoudra par fsck …

Au démarrage j'ai le droit à

BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1.4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

si je tape exit pour avoir la main avec fsck je tombe sur :

Gave up waiting for a root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! UUID=aff53co2-e07a-4f95-a3a1-baf160f2ffb8 does no exist. Dropping a shell!

Pour info je peux démarrer en mode sans échec pour accéder à un terminal …

Je n'ai que ubuntu sur mon PC pas de partition windows.

Quelqu'un pour me donner la marche à suivre ?

Merci :)

  • # Piste

    Posté par  . Évalué à 5.

    As tu changé de disque dur ou autre récemment:

    Le message est assez clair:

    ALERT! UUID=aff53co2-e07a-4f95-a3a1-baf160f2ffb8 does no exist. Dropping a shell!

    Visiblement, la partition correspondant à l'UUID spécifié n'existe pas.

    Lorsque tu es en "rescue", que donne le résultat de la commande blkid ?
    Y retrouves tu l'UUID manquant ?
    Quel est l'UUID de ta partition / ?

    Si l'UUID a changé, tu peux:

    1. Utiliser directement le device block (/dev/sdXX) dans ta config grub.
    2. Mettre à jour l'UUID dans ta config grub.

    Si l'UUID a changé, il est probable que tu doives également modifier le fichier /etc/fstab.

    • [^] # Re: Piste

      Posté par  . Évalué à 3.

      Ce problème peut aussi se produire suite à une mise à jour (kernel, udev).

      Ce cas est "simple" à vérifier rapidement: utiliser les vraies partitions /dev/sdXY au lieu des liens symboliques /dev/disk/by-uuid.
      Si tout boote normalement alors que le système est divisé en plusieurs partitions, alors il est probable que ce soit l'initrd qui merde, et pas un problème d'UUID qui aurait changé.
      Ou voir s'il peut démarrer une autre version du noyau (ça doit être dans le menu avancé de grub2, je suppose, je n'utilise pas ce bootloader).

      Il faudrait aussi voir exactement ce que l'OP appelle "mode sans échecs". Pour moi, ce qui s'en rapproche le plus, c'est le "veuillez entrer le mot de passe root ou CTRL+D pour continuer", voir l'option "single" au démarrage.

      • [^] # Re: Piste

        Posté par  . Évalué à 5.

        A noter qu'il est possible de modifier la ligne de commande du kernel (et donc le root device) directement depuis l'invite grub…utile pour tester vite fait.

        • [^] # Re: Piste

          Posté par  . Évalué à 2.

          Exact. À ma connaissance, cela requiert la connaissance de la disposition qwerty us par contre, sauf si certaines distros ont le bon boût de changer ça a l'installe, mais j'en serais surpris.

          • [^] # Re: Piste

            Posté par  . Évalué à 2. Dernière modification le 07 août 2019 à 11:06.

            Coucou !

            Je n'ai pas fait de manipulations particulières avant le crash …
            Juste une mise à jour des paquets …

            Si je tape à l'invit (initramfs) fdisk ou fdisk -l
            j'ai un retour /bin/sh: fdisk: not found

            Je n'ai fait aucun changement matériel ni de partition …

            Un démarrage "sans échec" c'est un démarrage dans les options avancées avec :
            Linux Mint 18.3 Xfce 64-bit, with Linux 4.15.0-54-generic (recovery mode)
            Chargement du disque mémoire initial…

            A la suite d'une cascade de lignes de commandes je tombe sur un mode 64 bit bien moche mais fonctionnel …

            • [^] # Re: Piste

              Posté par  . Évalué à 2.

              A la suite d'une cascade de lignes de commandes je tombe sur un mode 64 bit bien moche mais fonctionnel …

              C'est plutôt dans ce mode qu'il te faut tester fdisk, blkid, etc…

              En mode initramfs, tu as un set d'outil très limité puisque:

              1. Le ramdisk est, de base, limité en taille.
              2. Le but du ramdisk ici est de loader les drivers permettant ensuite d'accéder à ton root device … pas de débugguer ;-)
            • [^] # Re: Piste

              Posté par  . Évalué à 2. Dernière modification le 07 août 2019 à 14:36.

              Un démarrage "sans échec" c'est un démarrage dans les options avancées avec : […]

              Ok. Donc, soit l'initrd utilisé pour le sans échec est différent de l'initrd normal, ce dont je doute, soit grub lui passe des paramètres différents, ce qui me paraît plus probable, et je vais partir sur cette piste.

              Dans grub, il est possible (comme dit plus haut) de modifier le script de démarrage, de mémoire en allant dans ce menu avancé et en utilisant la touche 'e' sur l'entrée voulue.

              Pourrais-tu nous lister le scripts de l'entrée de démarrage normal et celui de l'entrée du démarrage sans échecs s'il te plaît?

              • [^] # Re: Piste

                Posté par  . Évalué à 2.

                Chez moi, sur ma debian, en regardant /boot/grub/grub.cfg, l'unique différence que je vois et l'ajout du paramètre single à la ligne de commande du noyau.

                Ce paramètre ne semble pas être un paramètre noyau en lui même (pas trouvé ici) par contre, il semblerait que ce soit un paramètre pris en compte par le processus init:

                rescue, rd.rescue, single, s, S, 1
                Boot into rescue mode. This is equivalent to
                systemd.unit=rescue.target or rd.systemd.unit=rescue.target,
                respectively, and provided for compatibility reasons and to be
                easier to type.
                Par contre … mes compétences en systemd étant plutôt maigrichones, je ne saurais pas trop dire ce qu'il se passe avec cette "target".

                • [^] # Re: Piste

                  Posté par  . Évalué à 2.

                  Ce paramètre ne semble pas être un paramètre noyau en lui même

                  Nope, le paramètre single était utilisé pour sélectionner un runlevel du temps de sysVinit, et sous runit il permets de ne lancer que le minimum de services.

                  Mon intuition est que, dans les services complets, sous systemd, un truc vide et ne repeuple pas bien /dev/disk/by-uuid. Et j'entend bien au niveau de l'initrd, ce qui empêcherait les scripts de boot de passer au montage proprement dit.

                  Bon, ça reste de l'intuition, je maîtrise pas initrd et je ne connais pas systemd, donc je peux me tromper complètement de cible.
                  M'enfin, si l'initrd marche avec certains paramètres de boot et pas d'autres, y'a un truc quand même: déjà le boot loader trouve le noyau, donc il trouve la partition racine. Dans les 2 cas (sinon l'initrd ne serait pas chargé après tout…).
                  Un paramètre présent ou absent fait que l'initrd ne trouve plus la partition racine après que le noyau ait été chargé…
                  Ça pourrait aussi être un module qui est juste chargé dans le mode sans échec? L'initrd contiendrais plus de module en mode sans échec que normal? Pas logique.

                  Désolé, je réfléchis en même temps…

              • [^] # Re: Piste

                Posté par  . Évalué à 1. Dernière modification le 07 août 2019 à 17:13.

                "Pourrais-tu nous lister le scripts de l'entrée de démarrage normal et celui de l'entrée du démarrage sans échecs s'il te plaît?"

                Peux tu me donner la marche à suivre freem ? Je ne vois pas trop quels scripts tu veux :)

                • [^] # Re: Piste

                  Posté par  . Évalué à 2. Dernière modification le 07 août 2019 à 19:13.

                  Peux tu me donner la marche à suivre freem ? Je ne vois pas trop quels scripts tu veux :)

                  Vais essayer, mais je n'utilise pas spécialement grub…

                  Dans le menu ou tu peux changer de système d'exploitation ou passer en "mode sans échec", la touche "e" (de mémoire) permets d'éditer le script de démarrage lié à une entrée.
                  Avoir les scripts liés à l'entrée par défaut et à celle qui fonctionne permettrait de savoir ce qui se passe au démarrage dans le cas qui marche et dans l'autre.

                  [edit]
                  en fait, c'est la même chose que ce qui est utilisé pour modifier les entrées de démarrage. On peut aussi s'en servir pour bypasser login et donc reset un password root perdu.

                  • [^] # Re: Piste

                    Posté par  . Évalué à 1.

                    Imaginons que je veuille supprimer ma version actuelle crasher pour rebooter une version clean … Je dois procéder comment ?

                    • [^] # Re: Piste

                      Posté par  . Évalué à 2. Dernière modification le 09 août 2019 à 20:23.

                      Il y a au moins 2 manières:

                      • le dérivé de manie windowsienne: réinstaller tout. C'est dérivé, parce que, au moins sous linux/bsd/… il est aisé de mettre sa configuration utilisateur sur une autre partition;
                      • le mode avancé, qui nécessite d'avoir des bases sur le fonctionnement de son système: démarrer dans le mode le plus fonctionnel, et régénérer l'image de démarrage, sous Debian cela se fait par la commande sudo update-initramfs, mais sans avoir identifié le problème de base, je doute que ça résolve le souci;

                      Personnellement, j'ai tendance à opter pour une 3ème solution: sur toutes mes machines, j'ai au moins un système fonctionnel de secours, le plus stable possible et modifié le moins possible. Ce système me permets de réparer un de mes systèmes principaux qui serait en panne, ce que je ne peux faire que parce que j'utilise majoritairement des logiciels peu automatisés, qui nécessitent parfois des interventions manuelles pour appliquer leurs changements (syslinux au lieu de grub, runit-init au lieu de systemd-init, environnement de bureau spartiate, etc). Le fait de bosser dans le domaine aide peut-être aussi un peu.

                      Quoique tu fasses, n'oublies pas de faire une sauvegarde de tes données importantes avant.

                      Je suis désolé, mais je ne vois pas comment aider plus pour l'instant, je n'ai malheureusement pas assez de maîtrise des logiciels les plus répandus (je connais un peu grub, mais pas du tout systemd). Quand j'ai eu affaire a ce type de problèmes, j'ai plus joué de la démerde, très peu de doc tirées du web (que j'aurais citées sinon).

                      [EDIT]

                      Ah, peut-être tout bêtement passer par ton gestionnaire de paquet en mode sans échec pour réinstaller le noyau, ça pourrait marcher. Peut-être remonter a une version précédente, au cas ou ça serait une upgrade kernel la source du problème?

                      • [^] # Re: Piste

                        Posté par  . Évalué à 1.

                        Effectivement par la suite je vais installer un noyau stable pour le au cas ou ça sera plus sage … Pour le moment j'ai sauvegardé toutes les données importantes c'est déjà ça …
                        Du coup si je vais tous supprimer de manière Windowsienne je fais comment je prends un clef bootable et au démarrage je fais F12 ?

                        • [^] # Re: Piste

                          Posté par  . Évalué à 2.

                          Effectivement par la suite je vais installer un noyau stable pour le au cas ou ça sera plus sage …

                          Plutôt une distro "complète", pas besoin de bureau super joli, juste assez d'outils pour que toi tu te sentes apte a dépanner. Enfin, c'est ce que je fais :)

                          Du coup si je vais tous supprimer de manière Windowsienne je fais comment je prends un clef bootable et au démarrage je fais F12 ?

                          Oui.
                          Ou alors un autre moyen que j'ai oublié de mentionner mais qui nécessite une bonne connaissance du système: debootstrap.
                          Je te conseilles l'installation par clé USB quand même, c'est plus simple (j'ai mentionné debootstrap par souci de complétude).

                          • [^] # Re: Piste

                            Posté par  . Évalué à 1.

                            Du coup j'ai installé Lubuntu et effacé l'autre OS.

                            Je sais pas pourquoi l'USB n’était pas reconnu j'ai utilisé une autre clef …

                            J'ai pas réussi avec Ubuntu pas suffisamment de mémoire vive et peut être un processeur un peu moyen et Puppy Linux c'est un peu court quand même …

                            Comme ca je recommence avec un système stable :)

                            Merci pour tout et bonne fin de semaine :D

  • # Piste ?

    Posté par  . Évalué à 0.

    Coucou !

    Je n'ai pas fait de manipulations particulières avant le crash …
    Juste une mise à jour des paquets …

    Si je tape à l'invit (initramfs) fdisk ou fdisk -l
    j'ai un retour /bin/sh: fdisk: not found

    Je n'ai fait aucun changement matériel ni de partition …

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.