Plantage d'ubuntu aprés une mise à jour

Fermé
chochokadem Messages postés 47 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 9 mai 2010 - 15 mai 2009 à 16:11
mamiemando Messages postés 33352 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 novembre 2024 - 9 août 2009 à 21:05
Bonjour à tous !
Je suis un utilisateur d'Ubuntu aujourd'hui, Ubuntu me propose une mise à jour , j'accepte ce qu'il me propose, Après un long moment d'installation des paquets mon Pc s'éteint et il me donne le message d'erreur suivant:

Gave up waiting for root device. Commom problems :
- Boot args (cat /proc/cmdline)
- check rootdelay = (did the system wait long enought ?)
- chech root = (did the system wait for the right device ?)
- Missing modules (cat /proc/modules, 1s/dev)

ALERT! dev/disk/by-uuid/0de38f7e-ffoc-488a-a062-2401b364db1d does not exist. Dropping to a shell !
BusyBox v1.10.2 (Ubuntu 1:1.10-2-2ubuntu7) built-in shell (ash)
Enter 'help' for a list of built-in commands
(initramfs)_

Et sur ce même écran noir, après la ligne (initramfs), je peux entrer des commandes, comme dans un terminal shell ...

Mais je ne sais pas du tout quoi faire ! Quelqu'un pourrait-il m'aider à faire fonctionner à nouveau mon Ubuntu
Merci d'avance !
A voir également:

4 réponses

mamiemando Messages postés 33352 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 novembre 2024 7 804
15 mai 2009 à 16:34
Pourquoi ça plante ? (version brève)

Manifestement ubuntu a installé une mise à jour noyau. Les devices associés à tes partitions linux ne sont pas trouvé

Pourquoi ça plante ? (version détaillée)

Chaque périphérique (disque dur, souris, carte son...) est référencé par un device sous linux, c'est à dire un fichier un peu spécial rangé dans /dev. Par exemple un disque dur s'appelle souvent /dev/sda, /dev/sdb etc... et ses partitions /dev/sda1, /dev/sda2... (/dev/hda, /dev/hdb pour les disques IDE).

Bref tu as déjà dû remarquer ça en particulier si tu as fait un partitionnement manuel au moment d'installer. Quand linux démarre il lit le fichier /etc/fstab qui lui permet de savoir comment construire son arborescence (par exemple monté tel disque dans /, tel autre disque dans /media/data etc...). Exemple :
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>      <options>                          <dump>  <pass>
proc            /proc           proc        defaults                                        0 0
/dev/hda1       /mnt/ntfs       ntfs        user,users,uid=mando,auto,exec                  0 0
/dev/hdb1       /mnt/vfat       vfat        user,users,uid=mando,quiet,rw,auto,exec         0 0
/dev/hda2       /               ext3        defaults,errors=remount-ro                      0 1
/dev/hda3       none            swap        sw                                              0 0
...

Le seule problème c'est qu'avec cette convention de nommage, si tu changes un disque dur de nappe, cette dénomination ne va plus correspondre. C'est pourquoi depuis quelques années les fichiers /etc/fstab sont souvent basés sur un autre device basé sur l'uuid d'un disque, c'est-à-dire un identifiant spécifique au disque dur. Ainsi on s'affranchit complètement des "branchements". Par exemple chez moi :
(mando@aldur) (/dev/disk/by-uuid) $ ls -l
total 0
lrwxrwxrwx 1 root root 10 mai 15 13:57 1A70-1C3F -> ../../sda1
lrwxrwxrwx 1 root root 10 mai 15 13:57 4043-8279 -> ../../hdb1
lrwxrwxrwx 1 root root 10 mai 15 13:57 aa7c86bd-d2c6-4ac7-8174-6ebf4c0c0633 -> ../../hda2
lrwxrwxrwx 1 root root 10 mai 15 13:57 C6B430A7B4309C3D -> ../../hda1

Ainsi ton fichier /etc/fstab n'utilise pas les notations /dev/hd... ou /dev/sd... mais /dev/disk/by-uuid/... Le problème peut donc venir de deux endroits :
- soit ces liens sont mal construits (peu probable)
- soit les disques sont mal reconnus et ces liens ne sont donc pas créés.

Comme tu le sais, c'est le noyau qui assure la prise en charge d'un périphérique. Cela signifie que si ton noyau actuel ne prend pas ton disque dur en charge correctement, le device n'est pas créé et le système ne peut pas redémarrer.

Ok c'est cool mais comment on répare ça

Il n'y a pas quarante solution, il faut soit réinstaller (version simple mais peu satisfaisante) soit réparer proprement le matériel. Note que tu peux opter pour la version intermédiaire puisque la procédure de récupération que je vais t'indiquer permet de récupérer les éventuels documents importants que tu as sur tes partitions de disque dur.

Commence par démarrer sur un live CD ou un CD d'installation. Celui que tu as utilisé pour l'installation par exemple, car on est sûr que le noyau utilise prend correctement en charge ton disque dur. Ouvre un terminal et récupère la version de noyau utilisée avec la commande :
uname -a

Ensuite télécharge le paquet linux-image-* (fichier .deb) via ce site :
https://packages.ubuntu.com/

Histoire de ne pas s'embêter avec les sudo on va se mettre directement en root :
sudo su -

S'il te demande un mot de passe appuies sur entrée.

À présent, on va se chrooter sur ton système. Ce terme barbare signifie déplacer la position de / (la racine, root en anglais) au niveau d'un autre répertoire. La première étape consiste à repérer le device associé à ta partition / à l'aide de la commande :
fdisk -l

Supposons que ce soit /dev/sda1 et que ce soit de l'ext3. Ensuite on créé un répertoire dans lequel monter la partition :
mkdir -p /mnt/linux
mount -t ext3 /dev/sda1 /mnt/linux

C'est par ce même principe que tu peux accéder à ton /home si tu l'as installé sur une autre partition.

Dans /mnt/linux se trouve maintenant le contenu de la partition / de ton disque dur. On va y copier le noyau que tu as récupéré. Si par exemple tu l'as copié sur le bureau il doit être dans /home/ubuntu :
cp /home/ubuntu/linux-image*deb /mnt/linux/root

Puis on se chroote pour que l'on se place dans le même contexte que si le PC avait démarré correctement
chroot /mnt/linux

À présent, dans ce terminal, tout se passe comme si le / était celui tu serais positionné si le système avait correctement démarré. Par exemple ton paquet debian est à présent dans /root. Justement, installons-le, maintenant qu'on est chrooté, ça va corriger ton installation actuelle :
cd /root
dpkg -i linux-image*deb

À présent en quitte proprement
exit
cd /
umount /mnt/linux
reboot

Au redémarrage tout devrait être réparé.

Bonne chance
6
chochokadem Messages postés 47 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 9 mai 2010 16
18 mai 2009 à 18:01
Bonjour
Merci bien pour ta réponse j'ai suivit toutes les étapes mais j'obtiens le même message d'erreur
qui dit que le uuid n'existe pas
en tout cas merci beaucoup j'ai appris appris plusieurs choses de ta réponse ,
si vous pouvez encore m'aider merci
0
mamiemando Messages postés 33352 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 novembre 2024 7 804
9 août 2009 à 21:05
Un simple recherche google suffit...
https://packages.ubuntu.com/hardy/base/linux-image-2.6.24-16-generic

Merci de ne pas poster dans ce fil de discussion qui est résolu.

Bonne chance
1
mamiemando Messages postés 33352 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 novembre 2024 7 804
18 mai 2009 à 23:21
Tu as bien démarré sur le noyau qui est utilisé sur ton live CD ?
0
tu dit: "Ensuite télécharge le paquet linux-image-* (fichier .deb) via ce site :
https://packages.ubuntu.com/"



mais je trouve pas ou faut télécharger...
0