A renoncé à attendre le périphérique racine, ubuntu - vg-root n'existe pas


16

aujourd'hui, j'ai installé Ubuntu 64 bits sur un netbook. Lorsque le netbook démarre, un rapport d'erreur est apparu. Je pense qu'il y a un problème avec les partitions.

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/ubuntu--vg-root does not exist. Dropping to a shell! 

BusyBox v.1.21.1 (Ubuntu 1:1.21.1-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)

Sortie de lsblk comme demandé:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk 
├─sda1   8:1    0   231G  0 part 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     2G  0 part [SWAP]
sr0     11:0    1   1.2G  0 rom  /cdrom
loop0    7:0    0   1.1G  1 loop /rofs

1
exécuter lsblket ajouter la sortie à votre question.
psusi

6
@psusi Et si lsblkn'est pas disponible?
sitilge

Réponses:


10

Veuillez ajouter les sorties de lsblk -fs, fdisk / dev / sda avec le drapeau p et le rapport de réparation de grub à la question sous forme de liens pastebin.

Sur la base de la recherche, il semble y avoir des questions similaires sur Ask Ubuntu qui n'ont pas de réponse à jour ici et ici une réponse est donnée qui explique le raid et ubuntu.

Il semble y avoir plusieurs suggestions, dont certaines semblent fonctionner pour certaines personnes.

  1. À l'invite initframs, essayez de taper ls /dev/mapperet voyez si votre volume racine est répertorié. S'il ne figure pas dans la liste, essayez d'attendre 10 secondes et réexécutez ls.

    S'il est maintenant répertorié, tapez exitet il devrait maintenant trouver le périphérique racine et démarrer (extrait d' ici)

  2. Modifiez la configuration de démarrage en appuyant sur elorsque grub alert pour choisir le système d'exploitation et remplacez root=UUID-6500...par root=/dev/sdxoù sdx est la partition de démarrage. Le problème ici semble être que l'UUID est erroné ou /dev/disk/by-UUID...n'existe pas (1)

  3. L'ajout du paramètre all_generic_ideà la fin de la ligne de démarrage kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=43206294-74ef-434d-aca2-db74b4257590 ro quiet splash all_generic_idesemble fonctionner pour certaines personnes (2)
  4. La question du super utilisateur ici , semble suggérer que l'erreur est due à LVM. La solution est également donnée dans le même qui consiste à installer lvm2.
  5. Le même site Super User suggère également de démarrer en utilisant un noyau plus ancien, si disponible. Cela semble fonctionner pour certaines personnes. Essayer de démarrer en utilisant l' Recoveryoption peut fonctionner pour certaines personnes
  6. Posté par nux_man777 ici semble suggérer l'erreur peut être le support d'installation.
  7. L'erreur /dev/mapper/ubuntu-vg-rootsemble être liée au raid comme décrit ici .

    "Dans l'écran récapitulatif du programme d'installation juste avant le début du processus de copie, cliquez sur le bouton Avancé. Modifiez la partition de démarrage (il s'agit de la partition" parent "de style MSDOS et non des partitions Linux) en / dev / mapper / pdc_feddabdf (ou toute autre liste dmraid comme votre partition fakeraid) Assurez-vous que la case à cocher est activée pour démarrer à partir de ce disque. notez que le programme d'installation modifiera grub2 pour pointer vers la partition logique / dev / mapper / pdc_feddabdf1 ou quoi que ce soit. "

    Des instructions détaillées concernant l'installation sont données sur le site référé. Veuillez y vérifier pour plus d'informations sur l'installation de grub.

  8. Le démarrage dans un support d'installation en direct et la mise à jour d'ubuntu en modifiant root en utilisant chrootsemble fonctionner pour certaines personnes (suggéré par cpttripzz ici ). Les instructions concernant chroot sont ici . Vous pouvez également vous référer à cette question sur Unix et Linux. Plus de détails peuvent être trouvés sur Arch Wiki et Gentoo Wiki .
  9. Changer le contrôleur SATA en IDE natif de RAID et faire une nouvelle installation semble fonctionner pour certaines personnes ici et ici
  10. Le câble IDE ou le disque dur peut être défectueux (le même forum Ubuntu que ci-dessus page 40)

L'ancien système d'exploitation était Win7
Jonas Franz le



Réparation de démarrage: paste.ubuntu.com/9660149
Jonas Franz


8

Dans certaines versions d'Ubuntu (par exemple Xubuntu 18.10), ce problème peut être dû à un apt autoremove. En raison de ce bogue, apt suggérera de supprimer

cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run dmeventd libdevmapper-event1.02.1 liblvm2app2.2 liblvm2cmd2.02 libreadline5 lvm2

ce qui rend le système non amorçable (car la partition racine ne peut pas être montée et non chiffrée à l'aide de LVM).

Si vous n'utilisez pas LVM et le chiffrement de disque, cette réponse n'est probablement pas pour vous.

J'ai pu le réparer en réinstallant cryptsetup et lvm2 dans un environnement chroot: démarrer à partir d'une clé USB en direct, exécuter les commandes ci-dessous dans un terminal, redémarrer.

# find root partition
sudo fdisk -l

# unencrypt partition
#   Note: replace /dev/nvme0n1p3 with your disk
#         replace "nvme0n1p3_crypt" with the correct name 
#         check by running this in chroot:
#         $ cat /etc/crypttab | cut -f1 -d " "
#         nvme0n1p3_crypt
sudo cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt

# mount root partition
sudo vgscan 
sudo vgchange -ay
sudo mount /dev/mapper/xubuntu--vg-root /mnt

# prepare chroot environment
sudo mount /dev/nvme0n1p2 /mnt/boot/   # replace nvme0n1p2 with your boot partition!
sudo mount -o rbind /dev/ /mnt/dev/
sudo mount -t proc proc /mnt/proc/
sudo mount -t sysfs sys /mnt/sys/

# make dns available in chroot
sudo cp /etc/resolv.conf  /mnt/etc/resolv.conf 

# enter chroot
sudo chroot /mnt /bin/bash

# re-install missing packages
apt install cryptsetup lvm2

# re-generate  (this might be done also by apt in the step before, I'm not sure)
update-initramfs -u -k all

# Leave chroot environment - not sure if the following is really necessary...
exit
# Write buffers to disk
sudo sync
# Unmount file systems
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot

Ce Q&R m'a aidé à collecter les commandes.


1
Ohh, vous venez de m'économiser environ trois jours de travail que j'avais consacrés à la configuration d'un nouvel appareil. Fonctionne parfaitement! Remplacé nvme0n1p3par sda5et nvme0n1p2avec sda1(partition linux à l'intérieur du LVM et la petite partition de démarrage à l'extérieur du LVM, respectivement)
Oliver U

1
@OliverU super que cela ait fonctionné! Même si vous ne pouvez plus le faire démarrer, vous devriez toujours pouvoir copier votre répertoire personnel et peut-être des parties de / etc ou ainsi vers une nouvelle installation. Cela devrait probablement être moins de travail que la configuration initiale.
lumbric

1
Fonctionne parfaitement pour Ubuntu 18.10, où le problème m'est arrivé après le apt autoremoveproblème. Comme Oliver ci-dessus, je viens de remplacer les éléments suivants dans les instructions: nvme0n1p3sda5, nvme0n1p3sda5_crypt, nvme0n1p2sda1. Avec la bonne supposition comme ça, pas besoin d'entrer chrootdeux fois comme à l' cat /etc/crypttab | cut -f1 -d " "intérieur chrootconfirmera simplement que vous avez fait la bonne supposition. Si vous devez entrer deux fois, faites-le après un redémarrage car la fermeture et la réouverture de l'environnement crytpsetup + LVM2 sans redémarrage semble… complexe.
tanius

À noter également, ces instructions ont très bien fonctionné avec le disque dur sans démarrage placé dans un boîtier de disque et connecté à un autre ordinateur Ubuntu (fonctionnant correctement) via USB. Pas besoin alors d'un système live.
tanius

Merci mec, cela a aidé après 4 heures à essayer de résoudre ce problème. Fonctionne même sur Ubuntu 19.10
WellBloud

3

J'ai eu ce problème et rien sur aucun poste ici ou ailleurs n'a pu vous aider. Plus précisément dans mon cas, je pouvais voir que /dev/mappercela ne contenait pas ubuntu--vg-rootou autre chose d'ailleurs. Cela signifie que quelque chose s'est mal passé lorsque LVM a essayé de monter / mapper les volumes OU que quelque chose s'est mal passé plus tôt dans le processus de démarrage, et cette erreur n'est qu'un symptôme fourre-tout pour tout problème antérieur.

Le deuxième d'entre eux a été le cas pour moi et c'est uniquement grâce à mes lectures que initramfsj'ai pu comprendre et diagnostiquer le problème. Cela devrait être la première chose à faire si vous soupçonnez que quelque chose a mal tourné avant que LVM ne le fasse.

Dans mon cas (qui n'est peut-être pas le même que vous, mais qui mérite d'être documenté), le cryptage complet du disque (LUKS) était activé, et les cryptsetupoutils avaient été supprimés initramfs, donc je n'étais pas invité à saisir la phrase secrète à déverrouiller, et les lecteurs n'étaient pas accessibles, ce qui signifiait qu'ils /dev/sdaXne pouvaient pas être montés et ne ubuntu--vg-rootpouvaient donc pas être montés / mappés dans /dev/mapper. Si vous essayez d'exécuter à cryptsetuppartir de l'invite BusyBox, vous ll know you have the same issue if thecryptsetup` est introuvable.

La solution était de démarrer à partir d'un LiveCD, de déverrouiller manuellement le lecteur avec cryptsetup, chrootdans le système de fichiers racine, de réinstaller cryptsetupet d'appeler update-initramfs.


Bienvenue sur Ask Ubuntu! :-) Pouvez-vous développer la dernière ligne en commandes réelles?
Fabby

1
J'ai écrit un script pour ce cas (LUKS + LVM) sur un lecteur NVMe, mais je peux également l'étendre aux /dev/sd*lecteurs de style. unix.stackexchange.com/a/467113/103652
dragon788

2

Pour ceux qui souffrent de problèmes de chiffrement, comme dans la réponse de @ Zanna, vous devrez suivre une procédure similaire à celle-ci:

  1. Démarrez votre système à l'aide d'une distribution en direct / USB.

  2. Montez la partition chiffrée (dans Ubuntu, vous devriez voir le volume chiffré disponible sur le bureau; double-cliquer et entrer le mot de passe devrait suffire). La partition sera montée à /media/ubuntu/[mount point]. (Le nom d'utilisateur changera en fonction de la distribution; par exemple, Xubuntu utilise xubuntu.)

  3. Ouvrez une fenêtre de terminal et un bourbon.

  4. Définissez les liaisons appropriées pour les points de montage dans le système:

    sudo su -
    mount -t auto /dev/sdX /media/ubuntu/[mount point]/boot
    mount --bind /dev /media/ubuntu/[mount point]/dev
    mount --bind /dev/pts /media/ubuntu/[mount point]/dev/pts
    mount --bind /sys /media/ubuntu/[mount point]/sys
    
  5. chroot dans le répertoire racine de votre disque crypté: chroot /media/ubuntu/[mount point]

  6. Assurez -vous que votre système a appropriés les initramfspaquets installés: sudo apt install cryptsetup-initramfs lvm2.

  7. Critique, vous devez également vous assurer que vos fichiers de configuration obligent initramfsà inclure les binaires cryptsetup, qui ont été retirés à un moment donné, il semble : nano /etc/cryptsetup-initramfs/conf-hookla uncomment CRYPTSETUPligne et assurez - vous qu'il lit CRYPTSETUP=Y.

  8. Enfin, exécutez update-initramfs -u -k all, arrêtez, extrayez les médias en direct et redémarrez.

Votre kilométrage ici peut varier en fonction de ce qui s'est passé avec votre système. Si, par exemple, vous avez modifié le nom du groupe LVM ou l'UUID, vous devrez peut-être aligner /etc/crypttabet /etc/fstabutiliser les bons identificateurs. Si, comme moi, vous migriez d'une version à une autre, vous pouvez constater que vous avez deux volumes chiffrés avec le même nom de groupe, ce qui rend le montage du disque assez difficile (vous devez utiliser l'UUID explicitement).

Dans l'ensemble, la mise à niveau vers Xubuntu 18.10 était horrible à cause de cela. (Un système de stock ne redémarrerait pas une fois les mises à niveau du noyau effectuées!) Au moins dans la configuration actuelle que j'ai, le système est stable grâce aux redémarrages.

Nb, les erreurs ACPI qui m'ont amené partout sur Internet à chercher une solution étaient un redingue: elles n'ont aucune incidence sur la possibilité de démarrer à partir d'un disque crypté.


Qu'est- sdXce que dans ce cas? Lors du démarrage à partir d'un LiveCD, il n'y a pas de /bootpartition, donc ce n'est pas clair ce qui devrait y entrer.
ralien

@ralien - sdXest le lecteur contenant la partition chiffrée, probablement sdadans la plupart des systèmes. Dans mon cas, j'ai chiffré le disque principal ( sda) lors d'une nouvelle installation.
Ethan

0

Essayez ce qui suit:

(initramfs) reboot

Ensuite, à l'invite du sélecteur de système d'exploitation, essayez de démarrer avec un noyau plus ancien.

Si vous réussissez, cela résoudra probablement le problème, comme suggéré dans les puces 4 et 5 de @One Face, et le lien auquel il fait référence:

sudo apt-get install lvm2

Si lvm2 n'est pas installé, l'ancien noyau ne démarre pas. Le paquet lvm2 et le noyau ne sont pas des choses liées. Il doit démarrer avec Rescue System et installer le package via chroot.
PRIHLOP du
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.