web-dev-qa-db-fra.com

LVM sur une partition chiffrée me renvoie à la racine d'initramfs manquante

J'ai installé Ubuntu 13.10 64bit sur mon PC. J'ai un seul disque dur (/ dev/sda) avec une partition cryptée LVM.

Le problème est donc qu'après le redémarrage, je ne peux pas démarrer Ubuntu (il m'a laissé tomber à initramfs Invite avec le message: /dev/mapper/kubuntu....-root missing)

Donc, je pense que c'est parce qu'au démarrage, il ne peut pas ouvrir/dev/sda5 avec cryptsetup. Si je chroote, je peux ouvrir une partition et monter une partition racine chiffrée. J'ai essayé d'ajouter dans le paramètre grub:

cryptopts=target=sda5_crypt,source=/dev/sda5,lvm=vg-root

Mais en cosole au démarrage, je constate qu’aucun volume LVM n’a été trouvé sur sda5? Je trouve aussi le message:

scripts/local_top/cryptroot:line 1 /sbin/cryptsetup: not found

Quelqu'un peut-il avoir une idée de ce qui ne va pas?

J'ai essayé la mise à niveau du système, le fichier cryptroot créé, le fichier initram régénéré.

5
mixs

Les modules cryptsetup ne sont ajoutés à l'image initramfs que "lorsqu'un périphérique doit être déverrouillé au stade initramfs (par exemple, les périphériques root ou resume)" (voir: conf-hook ). Mais cela ne fonctionne actuellement (de manière fiable) que si le périphérique racine ne se trouve pas dans un LVM (crypté).

Pour forcer les modules cryptsetup à l'image initramfs, vous devez définir _CRYPTSETUP=y_ dans _/etc/cryptsetup-initramfs/conf-hook_.

Vous pouvez également supprimer le paramètre cryptopts grub/kernel lors de l'ajout de l'option initramfs dans _/etc/crypttab_:

_sda5_crypt /dev/sda5 none luks,initramfs_

Je viens de répondre à une question similaire sur nix & Linux , vous voudrez peut-être aussi y jeter un coup d’œil.

4
dpat

J'ai eu ce problème hier. J'utilisais BTRFS et Ubuntu avait automatiquement créé des sous-volumes racine et maison sur le système de fichiers que je ne connaissais pas. Je devais modifier mon /etc/fstab pour monter ces volumes correctement.

Un conseil: une fois que vous êtes dans le shell initramfs, jouez un peu et voyez si ls /root rapporte quelque chose. Cela m'a conduit à ma réponse.

0
Naftuli Kay