Nota :
Contributeurs, les sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
Vous avez installé votre système GNU Debian en choisissant l'option Assisté - Utiliser tout un disque avec LVM chiffré
.
Maintenant, votre système est cassé et ne démarre plus
… Et vous aimerez bien récupérer vos données (ou le dépanner).
Ce tuto propose d'utiliser un système live2) pour accéder au(x) volume(s) logique(s) LVM3) d'un système chiffré.
Ci-dessous est décrit l'installation d'un système GNU Debian utilisant l'option de partitionnement :
Assisté - Utiliser tout un disque avec LVM chiffré
.
Avec le schéma : Tous les fichiers dans une seule partition
.
Voir (fr) d-i.debian.org.
Lorsque nous demandons l'installation d'un système GNU Debian crypté utilisant tout un disque,
L'installateur d-i
(Debian installer) va supprimer toutes partitions existantes sur le disque pour créer :
/boot
.cryptsetup
).pvcreate
).<nom_d_hôte>-vg
, alors créé (commande vgcreate
).lvcreate
) :<nom_d_hôte>-vg-root
./
.<nom_d_hôte>-vg-swap_1
.
Dans ce tuto,
Le système GNU Debian à été installé selon la méthode expliquée ci-dessus.
Sur un PC, nommé monpc, disposant que d'un seul disque, nommé sda.
Ainsi est obtenu le schéma de partitionnement suivant :
sda ├─sda1 : La partition primaire de boot. ├─sda2 : La partition étendue. └─sda5 : La partition logique (chiffrée, convertie en volume physique LVM, incorporé dans le groupe de volume monpc-vg). ├─monpc-vg-root : Le volume logique racine (contenant l'arborescence du système). └─monpc-vg-swap_1 : Le volume logique d'échange (la swap).
Une fois créer, les volumes logiques sont accessibles dan les répertoires /dev/<nom_du_groupe_de_volume>
et /dev/mapper
.
Ici, le groupe de volume étant nommé par l’installateur Debian monpc-vg
:
ls /dev/monpc-vg
root swap_1
Et
ls /dev/mapper
control monpc--vg-root monpc--vg-swap_1 sda5_crypt
Note : Nous pouvons remarquer la différence de nom dans /dev/mapper
(avec un -
supplémentaire).
Que ce soit dans /dev/<nom_du_groupe_de_volume>
ou /dev/mapper
, ces fichiers sont en fait des liens symboliques :
ls -l /dev/monpc-vg
total 0 lrwxrwxrwx 1 root root 7 Jun 28 13:23 root -> ../dm-1 lrwxrwxrwx 1 root root 7 Jun 28 13:23 swap_1 -> ../dm-2
ls -l /dev/dm*
brw-rw---- 1 root disk 252, 0 Jun 28 13:23 /dev/dm-0 brw-rw---- 1 root disk 252, 1 Jun 28 13:23 /dev/dm-1 brw-rw---- 1 root disk 252, 2 Jun 28 13:23 /dev/dm-2
Disposer d'un système live.
Ici nous utilisons le système GNU Debian Live (xfce, mais choisissez l'iso5) construit avec le bureau que vous préférez),
Qui peut-être récupéré à l'adresse : https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/
Récupérer aussi le fichier SHA512SUMS
afin de vérifier l'authenticité de l'iso téléchargé.
Voir : https://www.debian.org/releases/stable/amd64/ch04s07.fr.html
Puis copier l'iso obtenu sur une clé USB.
Voir : https://www.debian.org/releases/stable/amd64/ch04s03.fr.html
Pour démarrer sur la clé USB contenant le système live,
Voir : https://www.debian.org/releases/stable/amd64/ch03s06.fr.html#boot-dev-select-x86
Le système live démarré,
Nous ouvrons un terminal.
Tout de suite, nous indiquons l'usage d'un clavier azerty avec :
setxkbmap fr
setxkbmap
, étant encore configuré avec clavier qwerty soit nous saisissons :
setxkb,qp
setx
Tab ⇆
Par curiosité, nous pouvons utiliser la commande lsblk
pour lister les partitions du disque dur :
lsblk -o NAME
NAME loop0 sr0 sda ├─sda1 ├─sda2 └─sda5
Nous retrouvons les trois partition décrites plus haut dans la section Description :
sda1
la partition de boot.sda2
la partition étendue.sda5
la partition logique chiffrée, qui contient les volumes logiques du système monpc.Bien, passons sous root :
sudo -i
Et demandons le déchiffrage de sda5
avec la commande cryptsetup
:
cryptsetup luksOpen /dev/sda5 sda5_crypt
Warning: keyslot operation could fail as it requires more than available memory.
… Ne pas tenir compte de ce message.
Demandons de nouveau l'exploration du disque :
lsblk -o NAME
NAME loop0 sr0 sda ├─sda1 ├─sda2 └─sda5 └─sda5_crypt ├─monpc--vg-root └─monpc--vg-swap_1
Les volumes racine et d'échange du système monpc sont maintenant visibles.
Nous pouvons donc monter celui de la racine (monpc–vg-root
) :
lsblk
utilise les noms des volumes logiques du répertoire /dev/mapper
.
mount /dev/mapper/monpc--vg-root /mnt
Maintenant l’arborescence du système monpc est accessible dans le répertoire /mnt
ls /mnt
bin home lib64 mnted run tmp vmlinuz.old boot initrd.img lost+found opt sbin usr dev initrd.img.old media proc srv var etc lib mnt root sys vmlinuz
Et nous pouvons récupérer les données situées dans le répertoire /mnt/home/<nom_utilisateur>
Ou apporter tout autre modification au système monpc.
Évidement si vous souhaitez récupérer des données, il vous faudra probablement une autre clé USB, ou un disque amovible, pour y copier les données souhaitées.
Si vous avez installé votre système avec le schéma de partition Partition /home séparé
,
Ce n'est pas le volume monpc–vg-root
qu'il vous faut monter (à moins de vouloir modifier le système manuellement),
Mais le volume monpc–vg-home
:
lsblk -o NAME
NAME loop0 sr0 sda ├─sda1 ├─sda2 └─sda5 └─sda5_crypt ├─monpc--vg-root ├─monpc--vg-swap_1 └─monpc--vg-home
mount /dev/mapper/monpc--vg-home /mnt
Maintenant les données d'un utilisateur sont accessibles dans le répertoire /mnt/<nom_utilisateur>
.
Pour finir proprement,
Démonter le volume monté et terminer le déchiffrage de la partition sda5 :
umount /tmp cryptsetup luksClose sda5_crypt
cryptsetup
. Voir (fr) LUKS (wikipedia.fr)