Utilisation de fsck pour vérifier et réparer le disque crypté LUKS?

13

Ma machine Ubuntu 11.04 utilise le cryptage LUKS pour root, swap et home. Une routine fsck -n a révélé un ensemble d'erreurs que je dois réparer. fsck nécessite de démonter les partitions. Avant luks, je voulais simplement démarrer à partir d'une clé USB et corriger run fsck à partir de là. Quelles sont les étapes pour le faire pour les partitions chiffrées LUKS?

stwissel
la source

Réponses:

26

La méthode exacte dépend de la façon dont vous avez configuré luks et si vous avez LVM au-dessus de luks ou si vous avez simplement un système de fichiers dans le volume luks.

Si vous n'avez pas LVM en plus de luks, vous feriez probablement quelque chose comme ça.

cryptsetup luksOpen /dev/rawdevice somename
fsck /dev/mapper/somename

# or

cryptsetup luksOpen /dev/sda2 _dev_sda2
fsck /dev/mapper/_dev_sda2

Si vous avez utilisé l'option LVM sur LUKS fournie par le programme d'installation Debian / Ubuntu, vous devrez alors démarrer LVM. Donc, vgchange -alyaprès avoir ouvert le volume chiffré, exécutez fsck sur le /dev/mapper/lvname.

(Si les commandes sont manquantes, vous devrez peut - être faire d' apt-get install cryptsetupabord. De même , si vous avez besoin vgchangefaire apt-get install lvm.)

Zoredache
la source
Pour une raison quelconque, cela cryptsetup luksOpen /dev/rawdevice somenamene fonctionnait pas pour me donner quelque chose sur lequel fonctionner fsck, même si cela apparaissait vgscantrès bien après vgchange -aycomme `` actif '' ... J'ai dû créer les périphériques bruts manuellement avec vgscan --mknodes, puis fscksur le volume logique apparaissant dans vgscanavec fsck /dev/cryptVG/root- J'espère que cela aide quelqu'un d'autre là
Dmitri DB
Hm, peu importe si je l' utilise cryptsetupou cryptdisk_start, je reçois le même résultat lorsque je tente fsck: /dev/mapper/ext_crypt is in use. J'ai vérifié mountet il n'est monté nulle part.
Nikodemus RIP
9

Vous devez d'abord ouvrir le volume LUKS.

cryptsetup luksOpen /dev/(whatever) someName

Cela vous demandera le mot de passe, puis créera /dev/mapper/someName, qui est le périphérique en texte brut sur lequel vous pouvez exécuter fsck. Lorsque vous avez terminé,

cryptsetup luksClose someName

supprimera le /dev/mapper/someNamepériphérique de texte en clair,.

Wyzard
la source
1

La procédure doit être la même.

En utilisant une clé USB Debian (7.7.0 amd64 netinst, dans mon cas), on peut passer en mode de secours, qui devrait identifier la partition LUKS, demander un mot de passe et la mapper. Il identifie et mappe également toutes les partitions LVM qui y sont contenues. Si vous ne montez pas la partition racine, à partir de l'invite du shell, vous pouvez simplement e2fsck -f -c /dev/system_name/partition_name, etc.

Cette question a quatre ans, mais je ne pense pas que la procédure ait changé.


Je dois cependant souligner que faire un fsck -nsur un système de fichiers monté est presque sûr de signaler des erreurs qui n'existeront pas réellement lorsque vous l'avez fsckdémonté!

Mike
la source