LUKS tem um cabeçalho distinto, você pode encontrar possíveis deslocamentos com grep
:
# grep -a -b --only-matching 'LUKS' /dev/sda5
1832480940:LUKS
1959072314:LUKS
2019974297:LUKS
Para cada deslocamento possível encontrado, você pode criar um dispositivo de loop e ver se é um dispositivo LUKS válido ou não:
# losetup --find --show --offset 1832480940 --read-only /dev/sda5
/dev/loop3
# cryptsetup luksOpen /dev/loop3 luksloop3
...mount -o ro, ls, backup, umount...
# cryptsetup luksClose luksloop3
# losetup -d /dev/loop3
Depois de encontrar o deslocamento correto, você pode movê-lo para o início da partição usando dd
. Isso é perigoso , se você errar o offset ou cancelar a operação, os dados serão perdidos. Então você deve fazer um backup primeiro em qualquer caso.
# dd if=/dev/sda5 of=/dev/sda5 bs=1M iflag=skip_bytes skip=1832480940
Veja se funcionou:
# cryptsetup luksOpen /dev/sda5 luks
Restaure o backup de outra forma.