Realmente, um backup do cabeçalho LUKS é o que você precisa. Mas, talvez seja possível que, na verdade, não tenha sido sobrescrito e apenas a tabela de partição de disco tenha sido confundida e você não consiga encontrar o início do dispositivo LUKS.
O cabeçalho LUKS realmente começa com os caracteres LUKS
, depois dois caracteres não-ascii 0xba e 0xbe, então você pode procurar em todo o seu disco procurando por essa string. Tudo em hexadecimal, é
4C 55 4B 53 BA BE
Tenha uma pesquisa de programa
PhotoRec deve ser capaz de encontrar cabeçalhos / arquivos LUKS e está no Debian & Fontes do Ubuntu, e disponíveis para o Windows também, dizem para pesquisar toda a sua unidade.
Ou tente TestDisk também (do mesmo autor), ele pode tentar procurar por partições perdidas & pode encontrar o LUKS.
Pesquise "você mesmo"
Ou, você poderia pesquisar o tipo inteiro de byte-by-byte "você mesmo", com seu editor hexadecimal favorito (Bless é legal) ou com grep
no linux (encontrado em esta outra Q ):
LANG=C grep -obUaP "\x4C\x55\x4B\x53\xBA\xBE" /dev/your-hard-drive-device
Sem a configuração inicial de LANG=C
não estava funcionando para mim, minha "linguagem" usual é aparentemente UTF-8, e essas opções são a forma abreviada de - somente correspondência - byte-offset --binary --text --perl-regexp veja man grep
ou info grep
)
Deverá produzir o byte onde o cabeçalho LUKS é iniciado, se encontrar um. Você poderia então usar dd
para copiar o contêiner LUKS em algum lugar seguro, ou usar essa informação para criar uma partição que começa no ponto certo, embora fazer uma cópia de segurança primeiro seja mais seguro, você não queira sobrescrever o cabeçalho erro.
-
Por exemplo:
$ LANG=C grep -obUaP "\x4C\x55\x4B\x53\xBA\xBE" file 5242880:LUKS��
Aqui, são 5.242.880 bytes no arquivo (no linux tudo é um arquivo, todo o disco rígido também, por exemplo,
/dev/sdb
).
Agora é um bom momento para fazer um backup de cabeçalho, eles têm 1M ou 2M, então copie o próximo 2M com dd
.
dd
requer um pouco de matemática para descobrir um bom tamanho de bloco ( -bs), it tends to read extremely slow with a low block size, the default 512 bytes is probably too slow for more than a few megabytes on a hard drive, 1M (1048576 bytes,
dd 'sabe M, G, K, etc) deve estar ok.
-
No exemplo acima, é exatamente 5M desde o início (5242880/1048576 = 5), então este comando iria copiar de 5M para o final do arquivo / dispositivo, gravando no arquivo
outfile
(no diretório atual):dd if=file of=outfile bs=1M skip=5
Para um backup somente de cabeçalho, você pode usar count=N
para interromper a cópia após N blocos, apenas descobrir quantos blocos do seu bs=
selecionado estão em 2 megabytes, acima seria apenas 2. Ver dd
de ajuda para informações.