Message d’erreur pour la commande sudo chroot /media/ubuntu
Bonjour,
J’essaie de récupérer un mot de passe root et la commande chroot ne fonctionne pas.
Message d’erreur :
chroot: impossible d’exécuter la commande « /bin/bash »: Erreur de format pour exec()
Pouvez-vous m’aider ?
Cordialement
Jean-François
Bonjour Jean-François,
Cette erreur vient presque toujours d’un décalage entre l’architecture du système que vous réparez et celle de l’environnement de secours utilisé pour lancer le chroot. Le message « erreur de format pour exec() » signifie que le noyau refuse d’exécuter le binaire /bin/bash trouvé sur le disque, car il n’est pas compilé pour la même architecture que le système sur lequel vous avez démarré.
Deux causes reviennent le plus souvent. Soit votre clé live ou votre CD de secours tourne en 32 bits alors que le système installé est en 64 bits, soit le point de montage /media/ubuntu ne correspond pas à la partition racine du système à réparer, mais à une autre partition, celle de démarrage ou de données par exemple.
Avant toute chose, vérifiez la partition montée. Ouvrez un terminal et tapez lsblk -f. Une partition racine contient normalement des dossiers comme bin, etc et home. Vous pouvez confirmer en tapant ls /media/ubuntu. Si vous n’y voyez pas ces dossiers, ce n’est pas la bonne partition.
Pour vérifier l’architecture, comparez le résultat de deux commandes. La première, uname -m, indique l’architecture du système de secours actuellement démarré. La seconde, file /media/ubuntu/bin/bash, indique l’architecture du binaire présent sur le disque. Si l’une renvoie x86_64 et l’autre i386 ou i686, le problème est identifié : il faut redémarrer avec une clé de secours de la même architecture que le système installé.
Si les deux architectures correspondent, le souci vient souvent de l’absence de montage des systèmes de fichiers virtuels avant le chroot. Sans eux, certains programmes internes à bash échouent au démarrage. Montez-les avant de relancer la commande.
sudo mount --bind /dev /media/ubuntu/devsudo mount --bind /proc /media/ubuntu/procsudo mount --bind /sys /media/ubuntu/syssudo chroot /media/ubuntu /bin/bash
Une fois dans l’environnement chrooté, la commande passwd root vous permet de définir un nouveau mot de passe root pour le système.
Si l’erreur persiste malgré une architecture identique et les montages effectués, essayez avec une clé de secours plus récente. Les vieilles images de secours 32 bits ne sont plus mises à jour et posent régulièrement ce type de souci sur du matériel récent.
Bien à vous,

Commentaires
Laisser un commentaire