Poucos ... consegui resolvê-lo e recuperar todas as minhas partições. Aqui, em poucas palavras, o que fiz:
Primeiro, peguei um drive USB Ubuntu ao vivo e inicializei no sistema live. Então:
- instale gddrescue e use ddrescue para fazer backup de toda a unidade, bit por bit, em um arquivo em uma unidade externa. Isso dá tranquilidade ao brincar: o estado original sempre pode ser restaurado se necessário
- Use o testdisk para fazer uma pesquisa rápida. Ele não conseguiu a partição da criptografia correta, mas a de inicialização, então eu restaurei aquela com o testdisk.
- Use "grep -a -b -P - apenas correspondência 'LUKS \ xba \ xbe' / dev / sda" para procurar o início da cripta do LUKS.
- Use "losetup -o result_from_grep -r -f / dev / sda" e "hexdump -C -n 128 / dev / loop0" para verificar se este é realmente o início da cripta LUKS incluindo o cabeçalho. Deve ser algo como: | LUKS .... aes ..... |
- O grep retornou o início em Bytes, calcule-o em setores
- Use o parted para criar uma partição estendida iniciando dois setores antes da cripta do LUKS, até -1s (Fim do disco, como no meu caso, todo o resto do disco foi usado)
- Use o parted para criar uma partição lógica no setor em que a cripta do LUKS inicia até -3s (três setores antes do final - veja meu exemplo fdisk -l na pergunta)
- Abra a cripta e siga as etapas descritas no link 2 para restaurar o SWAP, o root etc.
- Você pode tentar salvar seus dados neste momento, mas no meu caso eu poderia simplesmente reinicializar e colocar o computador em funcionamento normalmente.
Esses três links me ajudaram com as diferentes etapas, bem como as páginas de manual dos comandos:
1) parted: como criar as partições exatamente nas posições certas
2) Monte a cripta e encontre todos os volumes lógicos novamente
Espero que isso ajude outras pessoas com problemas semelhantes.