web-dev-qa-db-fra.com

Impossible de trouver la racine LVM renvoyée à initramfs

Lorsque je démarre, un écran s’affiche:

Gave up waiting for root device

Ensuite, il énumère les problèmes courants:

ALERT! /dev/mapper/ubuntu--vg-root does npt exist. Dropping to a Shell!

Ensuite, je reçois une invite initramfs.

Est-ce réparable sans sauvegarde?

Je ne me souviens pas exactement de ce que j'ai fait pour que cela cesse de fonctionner ...

(Mon disque dur n'est pas crypté.)

5
tillius

La détection automatique de LVM par Ubuntu ne fonctionnait pas du tout pour moi non plus. Pour résoudre ce problème, j’ai fait un script dans

/etc/initramfs-tools/scripts/local-top/forcelvm

avec le contenu suivant:

#!/bin/sh
PREREQ=""
prereqs()
{
   echo "$PREREQ"
}
case $1 in
prereqs)
   prereqs
   exit 0
   ;;
esac
. /scripts/functions
# Begin real processing below this line

# This was necessary because ubuntu's LVM autodetect is completely broken. This
# is the only line they needed in their script. It makes no sense.
# How was this so hard for you to do, Ubuntu?!?!?
lvm vgchange -ay

Alors fait

# chmod +x `/etc/initramfs-tools/scripts/local-top/forcelvm`

pour faire bonne mesure et

# update-initramfs -u -k all

Cela a tout corrigé, tout en persistant après une mise à jour du système.

8

Essayez une solution temporaire

Dans initramfs Type d'invite:

vgchange -ay

Exemple de sortie:

volume (s) logique (s) du groupe de volumes "vg1000" maintenant actif

Suivi par:

exitname__

Si vous avez un instantané LVM de la partition racine, c'est un bogue # 360237 . Je résous ce problème en supprimant/supprimant cet instantané.

Si ce n'est pas votre cas, essayez corrigez cela .

Un autre bogue lié: # 139621 , # 29858 , # 1163406

2
Maxwel Leite

Pour certains d'entre vous, cela pourrait être un problème dans votre fichier grub.cfg:

Nous sommes tombés sur le même problème (la racine n’a pas été trouvée car les groupes de volumes lvm n’ont pas été activés par initrd) aujourd’hui le 18.04. J'ai compris que les groupes de volumes sont automatiquement activés si vous spécifiez votre périphérique racine dans "grub.cfg" via le nom du périphérique.

linux   /vmlinuz root=/dev/mapper/vg-root

où comme ils ne sont pas activés automatiquement si vous le spécifiez par UUID

linux   /vmlinuz root=UUID=abcd-[...]

Ainsi, il devait y avoir un script dans initrd contenant cette logique.

1
user922073
  1. Sauvegarde

    /usr/share/initramfs-tools/scripts/local-top/lvm2
    
  2. Modifier

    /usr/share/initramfs-tools/scripts/local-top/lvm2
    
  3. Entre modprobe -q dm-mod et activate_vg "$ROOT", ajoutez cette ligne pour initialiser votre lvm:

    lvm vgchange -ayactivate_vg "$ROOT"
    
  4. Reconstruisez vos initramfs:

    Sudo update-initramfs -u
    
  5. Reconstruisez votre cfg grub:

     Sudo update-grub
    

Prendre plaisir! :-)

0
Jason