ALERTE! / dev / disk / by-uuid / xxxxxxxxx n'existe pas. Passer à un shell

28

J'utilise Ubuntu 14.04.

J'ai couru dans le terminal sudo apt-get update. Ensuite, j'ai redémarré le système. Et maintenant je vois:

ALERT! /dev/disk/by-uuid/xxxxxxxxx does not exist. Dropping to a shell
initramfs:_

Je ne peux pas démarrer Ubuntu LIVE depuis une clé USB. Oui, j'ai vérifié la configuration du BIOS et le lecteur flash USB est OK et fonctionne sur une autre machine. En ce moment, je vais acheter un DVD et graver un DVD Live à partir d'un autre ordinateur portable.

sudo blkid Donne moi:

/dev/loop0: TYPE="squashfs"  
/dev/sda1: UUID="xxxx" TYPE="ext4"   
/dev/sr0: LABEL="Ubuntu 14.04.1 LTS i386" TYPE="iso960"   

/etc/fstaba le même UUID="xxxx"et il y a une ligne avec:

errors=remount-ro 0   

J'ai essayé d'utiliser la réparation de démarrage, mais je ne parviens toujours pas à me connecter à Ubuntu.

Je ne veux pas réinstaller Ubuntu, car j'ai beaucoup de données là-bas.

Avez-vous des conseils sur la façon de résoudre ce problème?

Marcin Gorski
la source
1
Exécutez à sudo blkidpartir du terminal (à partir d'un DVD en direct si nécessaire) et vérifiez les UUID par rapport à ce qui /etc/fstaba. Ou postez les deux résultats dans votre question s'il vous plaît. Comment exécuter à sudo blkidpartir d'un DVD en direct: Démarrez à partir du disque en direct d'Ubuntu, cliquez sur l' option Try Ubuntu au démarrage. Ouvrez le terminal (Ctrl + Alt + T) et exécutez-y la sudo blkidcommande. Enfin, postez sa sortie dans votre question.
karel
1
ok @karel sudo blkidme donne /dev/loop0: TYPE="squashfs" /dev/sda1: UUID="xxxx" TYPE="ext4" dev/sr0: LABEL="Ubuntu 14.04.1 LTS i386" TYPE="iso960" / etc / fstab ont le même UUID = "xxxx" et il y a une ligne où est écrit les erreurs = remount-ro 0 -
Marcin Gorski
1
J'ai ceci après avoir exécuté boot-repair Journal de
Marcin Gorski
et puis je n'arrive toujours pas à me connecter à ubuntu ...
Marcin Gorski
3
@MarcinGorski veuillez ajouter votre solution comme réponse et la marquer comme acceptée au lieu de modifier la question.
muru

Réponses:

25

La solution était d'exécuter ces commandes à partir de liveDVD, cela me permet de faire des choses sur mon sda1 à partir de ce liveDVD (si je comprends bien)

sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
update-initramfs -u
update-grub
reboot

Un de mes amis du forum ubuntu pl m'a aidé à résoudre ce problème.

Il a découvert qu'il pourrait y avoir une erreur dans initramfs, qui devrait être mis à jour dans le cadre de la mise à jour du noyau. Si quelque chose se passe mal pendant cette mise à jour, des problèmes comme le mien pourraient survenir.

Marcin Gorski
la source
4
Bon post. Je voudrais ajouter qu'Ubuntu n'est pas nécessairement installé sur sda1. Pour aider à déterminer où il est installé, exécutez sudo fdisk -l. En supposant que vous sachiez sur quel disque dur vous avez installé Ubuntu, cette commande devrait vous aider à déterminer quel sd * correspond à ce disque.
ubiquibacon
J'ai essayé cela sur Ubuntu MATE 17.04 (nouvelle installation), et cela n'a malheureusement pas aidé ...
Dominic Hayes
1
J'obtenais WARNING: missing /lib/modules/4.2.0-16-genericparce que LiveCD avait une version différente du noyau. Donc , je l' ai monté tmp, libet lib64puis tout a fonctionné.
Max Malysh
J'ai dû spécifier le système de fichiers à monter pour une partition ext4 ( mount -t ext4 /dev/sda1 /mnt), sinon cela fonctionnait très bien.
Shane
-2

Les gens peuvent froncer les sourcils s'ils le souhaitent, mais j'ai constaté que l'utilisation de " /dev/sdX" fonctionnait de manière plus fiable pour moi que l'UUID pour mes systèmes personnels. Dans un environnement d'entreprise, je ferais plus d'efforts pour le faire fonctionner avec l'UUID au lieu de l'adresse "/ dev /", mais vous devriez être sûr d'utiliser /dev/sdaXin /etc/fstabau lieu de la référence UUID, au moins pour pouvoir démarrer votre système pendant que vous continuez à chercher la réponse à la raison exacte pour laquelle le démarrage échoue malgré le fait d'avoir l'UUID correct dans / etc / fstab.

Si vous souhaitez emprunter cette voie, utilisez la procédure suivante:

  1. Démarrez dans le shell de récupération ou démarrez dans un lecteur USB ou un CD live

  2. Montez votre partition système qui ne démarre pas

  3. Modifiez le /etc/fstabfichier dans la partition système mentionnée à l'étape 2 en tant que root et remplacez-le UUID=XXXXXpar l' /dev/sdXétiquette correspondante dans toutes les /etc/fstabentrées pertinentes .

Remarque: Cette procédure est connue pour être fiable pour Ubuntu et les distributions dérivées d'Ubuntu (au moment de la rédaction de cet article; cela pourrait facilement changer avec toute version à venir). Je sais pertinemment que cela ne fonctionnera pas de manière fiable pour certaines autres distributions telles que knoppix ou Arch Linux (cela est dû aux différences dans la façon dont UDEV scanne les périphériques et leur donne des noms dans le système de fichiers / dev). Si vous utilisez une distribution non dérivée d'Ubuntu, n'utilisez pas cette méthode ou utilisez-la à vos risques et périls.

MGodby
la source
Merci pour votre aide @MGodby mais je trouve déjà une solution.
Marcin Gorski
4
Votre méthode est l'ancienne, qui a été remplacée pour de bonnes raisons, principalement parce que la numérotation des lecteurs n'est pas constante et qu'il est possible de démarrer à partir d'un lecteur inattendu. Ce n'est pas possible avec UUID. Mais j'utilise souvent le format "LABEL = ___", simplement parce qu'il est plus clair de voir tout de suite quoi. Exemple: LABEL=data_partition.
Marty Fried