web-dev-qa-db-fra.com

Comment éviter l'invite de mot de passe de partition de démarrage crypté dans LVM- Arch Linux

J'utilise LVM avec Arch Linux. Veuillez trouver la structure de disque ci-dessous.

NAME              MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                 8:0    0   50G  0 disk  
|-sda1              8:1    0  512M  0 part  
| `-cryptboot     254:3    0  510M  0 crypt 
|   `-vgboot-boot 254:4    0  508M  0 lvm   /boot
`-sda2              8:2    0 49.5G  0 part  
  `-cryptlvm      254:0    0 49.5G  0 crypt 
    |-vgos-swap   254:1    0    4G  0 lvm   [SWAP]
    `-vgos-root   254:2    0 45.5G  0 lvm   /
sr0                11:0    1  560M  0 rom   

Lorsque je démarre dans mon système, je recevrai une invite de mot de passe pour ma partition de démarrage car elle est cryptée. Mais je veux éviter cette invite de mot de passe et que ma partition de démarrage devrait également résider dans LVM. S'il vous plaît laissez-moi savoir si quelqu'un a fait cela.

Si vous voyez le diagramme ci-dessus, ma racine réside également dans LVM. Après avoir sélectionné le Kernal, il invite également le mot de passe. Mais ce n'est pas un problème.

3
Vipin

Vous obtenez une invite de mot de passe double par mot de passe parce que votre /boot La partition est cryptée. Premièrement, GRUB invite le mot de passe car il doit charger le noyau de chiffrement /boot. Ensuite, le noyau invite à nouveau le mot de passe pour déchiffrer /.

Il y a deux approches à ce problème:

  1. N'utilisez pas de cryptage /boot. =GRUB Je ne demandera pas de mot de passe. Cela permettra à quiconque Tinker avec des fichiers de noyau et d'initialramfs . Par exemple on pourrait Remplacez le noyau par un malveillant qui accède à votre chiffrement / Une fois que vous entrez le mot de passe.

  2. Créez une clé de déchiffrement et ajoutez-la à un emplacement Luks gratuit sur /, puis incorporer la clé dans InitRamfs. Cela laissera l'accès au noyau / Sans mot de passe.

La configuration du n ° 2 est assez compliquée, alors je vais aller avec l'ancienne approche. Je tape ceci en haut de ma tête, sans aucun test. Faire des sauvegardes et procéder avec soin. Je ne suis pas responsable de toute perte de données et d'autres problèmes causés par ce processus.

Vous aurez besoin d'un support de linux amorçable avec cryptsetup et resize2fs. Je recommanderais d'utiliser Ubuntu Flash lecteur. Vous pouvez également remplacer ce dernier avec partclone. Vous aurez également besoin d'environ 500 Mo d'espace disque libre pour stocker intermédiaire décrypté /boot image.

Démarrez de votre support Linux. Accédez au LVM (Honnêtement, je ne l'ai jamais traitée, donc je n'ai aucune idée si des étapes supplémentaires sont nécessaires - il est possible que Ubuntu s'occupe de cela automatiquement). Ouvrez le crypté /boot:

cryptsetup open /dev/<boot> cryptboot

Faites une image de démarrage non crypté: (Pour voir la progression, utilisez pv au lieu de cat)

cat /dev/mapper/cryptboot > /media/ubuntu/<someExternalStorage>/boot.img

Proche /boot:

sync
cryptsetup close cryptboot

Écrire non crypté /boot à la partition et ajustez la taille du système de fichiers:

cat /media/ubuntu/<someExternalStorage>/boot.img > /dev/<boot>
resize2fs /dev/<boot>

Obtenez UUID de /boot (Notez-la):

blkid /dev/<boot>

Ouvrir et monter /, mise à jour fstab:

cryptsetup open /dev/<root> cryptroot
mkdir -p /mnt/root
mount /dev/mapper/cryptroot /mnt/root
cd /mnt/root
vi etc/fstab

Ajustez la ligne qui monte /boot Pour utiliser la nouvelle UUID au lieu de /dev/mapper/... Entrée. Vous devrez peut-être aussi supprimer /boot ligne de etc/crypttab.

Mettre à jour Initiramfs (celui-ci peut se casser à Ubuntu si votre système d'exploitation principal est Arch ... Je ne suis pas sûr, alors soyez juste prudent):

cd /mnt/root
mount -t sysfs sysfs sys
mount -t tmpfs tmp tmp
mount -t proc proc proc
mount --bind /dev dev
mount /dev/<boot> boot
mount --bind /boot/efi boot/efi
chroot
update-initramfs -u -k all
exit

Autant que je me souvienne que devrait suffire. Vous pouvez également simplifier GRUB config en désactivant la démarrage crypté dans ses fichiers de configuration. Il peut accélérer le démarrage légèrement, mais n'est pas nécessaire.

Nettoyer après vous-même:

umount boot/efi boot dev proc tmp sys
cd ..
umount root
cryptsetup close cryptroot
2
gronostaj