Alexander Goetzenstein
2025-02-10 14:42:36 UTC
Hallo,
ich mache regelmäßig mit dd ein Image meiner Systemplatte, die mit LUKS
verschlüsselt ist. Vor ein paar Jahren habe ich mir ein Script
zusammengestöpselt, mit dem ich das Image einbinden kann, etwa um
einzelne Dateien daraus ziehen zu können. Das hatte auch mal
funktioniert. Man ahnt es: "hatte" bedeutet, dass es das nicht mehr tut,
stammt, die Partitionierung wurde nicht geändert.
Image wurde von genau diesem Rechner gezogen, daher vermutlich die
Gleichheit. Aber wie oben geschrieben, ist die lsblk-Ausgabe sowieso
eine andere als "damals", als es noch funktionierte.
Hat jemand eine Idee, was da schiefläuft, und wie man es besser/richtig
macht?
ich mache regelmäßig mit dd ein Image meiner Systemplatte, die mit LUKS
verschlüsselt ist. Vor ein paar Jahren habe ich mir ein Script
zusammengestöpselt, mit dem ich das Image einbinden kann, etwa um
einzelne Dateien daraus ziehen zu können. Das hatte auch mal
funktioniert. Man ahnt es: "hatte" bedeutet, dass es das nicht mehr tut,
#!/bin/bash
## verbindet ein Festplattenimage als Verzeichnis
## hier: Verschlüsseltes LUKS-LVM auf der USB-Platte /dev/sdb2
PLATTE=sdb2
IMGPFAD='/mnt/'$PLATTE'/root/backup'
mount /dev/$PLATTE /mnt/$PLATTE
ARRAY=($(ls $IMGPFAD'/'*.img))
i=0
do
echo $i': '${ARRAY[$i]}
i=$(($i+1))
done
echo ''
echo 'Dateinummer angeben:'
read NUMMER
## -f ermittelt das erste unbenutzte Device, -P erzeugt ein partitioniertes Loop Device
losetup -f -P ${ARRAY[$NUMMER]}
for i in 6 7
do
cryptsetup open /dev/loop0p$i lupe$i
RC_CRYPT=$?
## hier muss dann das LUKS-Passwort eingegeben werden, findet sich anschließend als /dev/mapper/lupe
echo 'RC_CRYPT: '$RC_CRYPT
if [ $RC_CRYPT -eq 0 ]; then
echo 'pvscan:'
pvscan --cache -aay /dev/mapper/lupe$i
## listet die physischen Volumes im gemappten Image> fi
done
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 1.8T 0 loop
├─loop0p1 259:0 0 100M 0 part
├─loop0p2 259:1 0 128M 0 part
├─loop0p3 259:2 0 222.9G 0 part
├─loop0p4 259:3 0 200M 0 part
├─loop0p5 259:4 0 500M 0 part
└─loop0p6 259:5 0 1.6T 0 part
└─lupe 254:1 0 1.6T 0 crypt
├─linux-home 254:2 0 1.5T 0 lvm
├─linux-swap 254:3 0 15.5G 0 lvm
→ └─linux-root 254:4 0 50G 0 lvm
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 1.8T 0 loop
├─loop0p1 259:0 0 100M 0 part
├─loop0p2 259:1 0 128M 0 part
├─loop0p3 259:2 0 222.9G 0 part
├─loop0p4 259:3 0 614M 0 part
├─loop0p5 259:4 0 500M 0 part
├─loop0p6 259:5 0 200M 0 part
└─loop0p7 259:6 0 1.6T 0 part
Es handelt sich nach wie vor um dieselbe Platte, von der das Image## verbindet ein Festplattenimage als Verzeichnis
## hier: Verschlüsseltes LUKS-LVM auf der USB-Platte /dev/sdb2
PLATTE=sdb2
IMGPFAD='/mnt/'$PLATTE'/root/backup'
mount /dev/$PLATTE /mnt/$PLATTE
ARRAY=($(ls $IMGPFAD'/'*.img))
i=0
do
echo $i': '${ARRAY[$i]}
i=$(($i+1))
done
echo ''
echo 'Dateinummer angeben:'
read NUMMER
## -f ermittelt das erste unbenutzte Device, -P erzeugt ein partitioniertes Loop Device
losetup -f -P ${ARRAY[$NUMMER]}
for i in 6 7
do
cryptsetup open /dev/loop0p$i lupe$i
RC_CRYPT=$?
## hier muss dann das LUKS-Passwort eingegeben werden, findet sich anschließend als /dev/mapper/lupe
echo 'RC_CRYPT: '$RC_CRYPT
if [ $RC_CRYPT -eq 0 ]; then
echo 'pvscan:'
pvscan --cache -aay /dev/mapper/lupe$i
## listet die physischen Volumes im gemappten Image> fi
done
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 1.8T 0 loop
├─loop0p1 259:0 0 100M 0 part
├─loop0p2 259:1 0 128M 0 part
├─loop0p3 259:2 0 222.9G 0 part
├─loop0p4 259:3 0 200M 0 part
├─loop0p5 259:4 0 500M 0 part
└─loop0p6 259:5 0 1.6T 0 part
└─lupe 254:1 0 1.6T 0 crypt
├─linux-home 254:2 0 1.5T 0 lvm
├─linux-swap 254:3 0 15.5G 0 lvm
→ └─linux-root 254:4 0 50G 0 lvm
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 1.8T 0 loop
├─loop0p1 259:0 0 100M 0 part
├─loop0p2 259:1 0 128M 0 part
├─loop0p3 259:2 0 222.9G 0 part
├─loop0p4 259:3 0 614M 0 part
├─loop0p5 259:4 0 500M 0 part
├─loop0p6 259:5 0 200M 0 part
└─loop0p7 259:6 0 1.6T 0 part
stammt, die Partitionierung wurde nicht geändert.
cryptsetup open /dev/loop0p6 lupe
(hier wird die Passphrase abgefragt)pvscan --cache -aay /dev/mapper/lupe
pvscan[5026] PV /dev/mapper/lupe 254:4 is duplicate for PVID 3Va2vZcsWjpTrRYrEZRkeML90mGHL013 on 254:1 /dev/dm-1.
pvscan[5026] PV /dev/mapper/lupe failed to create online file.
dm-1 ist die Systempartition des Rechners, nicht die aus dem Image. Daspvscan[5026] PV /dev/mapper/lupe 254:4 is duplicate for PVID 3Va2vZcsWjpTrRYrEZRkeML90mGHL013 on 254:1 /dev/dm-1.
pvscan[5026] PV /dev/mapper/lupe failed to create online file.
Image wurde von genau diesem Rechner gezogen, daher vermutlich die
Gleichheit. Aber wie oben geschrieben, ist die lsblk-Ausgabe sowieso
eine andere als "damals", als es noch funktionierte.
Hat jemand eine Idee, was da schiefläuft, und wie man es besser/richtig
macht?
--
Gruß
Alex
Gruß
Alex