Debian : Chroot et Cryptsetup


Lors de la mise à jours (Debian 6 vers 7) du système sur mon laptop (complètement chiffré), le paquet cryptsetup n’avait pas été mis à jours et lors de la reconstruction de l’initramfs pour le nouveau noyau Linux et les anciens, aucun script d’initialisation pour cryptsetup n’a donc été rajouté.

De ce fait, au reboot, je n’ai aucun prompt pour déverrouiller mon volume physique chiffrée qui contenait mes LVMs et j’ai eu le droit à un beau message d’erreur disant que le système ne trouvait aucun volume logique à monter… Logique !
Rien de bien compliqué à restaurer mais je vais donner la recette :

Boot sur un autre système Linux via pxe, usb ou cdrom (pour moi ce sera gentoo via pxe).
On commence par créer le répertoire qui accueillera notre chroot :

On déverrouille notre volume physique(pv) chiffrée(et non cryptée) avec un label arbitraire :

Ensuite on entre sa passphrase pour déchiffrer le tout… Logique !
On active le groupe de volumes logiques (vg) qui contient notre racine :

Ensuite on monte le système de fichier de notre lvm racine dans notre répertoire de chroot :

On récupère le bon label pour notre volume depuis le fichier /etc/crypttab :

On démonte tout ça proprement et on verrouille notre partition physique chiffré :

Maintenant on déverrouille notre partition avec le bon label :

On active le groupe de volumes logiques (vg) qui contient nos système de fichiers :

Ensuite on monte les systèmes de fichiers idoines dans notre répertoire de chroot :

On chroot le tout :

Il ne reste alors que la ré-installation du paquet manquant à effectuer :

Et voila, il ne vous reste plus qu’as sortir du chroot (nan, on ne sploit pas, exit ou ctrl+d suffiront), et faire un reboot (gentoo s’occupera de démonter proprement tous les fs montés).
Au redémarrage le système vous demanderas bien votre passphrase et continuera comme si rien ne c’étais passé…