Eu tenho 3 discos:
- SO principal (CentOS)
- HDD criptografado com LUKS para dados (Hardware RAID10, LSI Logical Volume)
- Windows 10 (instalado recentemente para teste)
Meu problema é quando eu instalei o Windows 10, ele quebrou meu disco LUKS criando um gerenciador de inicialização ... Agora não consigo descriptografar meu disco e realmente preciso dos meus dados.
Posso reverter o processo com o Gparted ou outra ferramenta? Espero que meus dados não sejam destruídos por esse gerenciador de inicialização ...
Eu realmente preciso de ajuda por favor!
EDITAR 1 Adicionou algumas informações
fdisk -l
Disk /dev/sda: 12000.0 GB, 11999999164416 bytes, 23437498368 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x385dcf68
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 7 HPFS/NTFS/exFAT
Após a resposta do Xen2050, aqui está o meu resultado:
LANG=C grep -obUaP "\x4C\x55\x4B\x53\xBA\xBE" /dev/sda
164822601573:LUKS��
Então a esperança é retornada!
Eu dd meu cabeçalho com tamanho de bloco de 1 bytes com isso
dd if=/dev/sda of=luks_header bs=1 skip=164822601573 count=2097152
Agora eu tenho o meu cabeçalho luks, posso confirmar que comece com o LUKS com o vi
LUKSº¾^@squashfs^@sqsh^@hsqs^@lvm2pv^@LVM2 001^@btrfs^@
Agora o próximo passo é reescrever meu cabeçalho luks ...
EDIT 2 Adicionado desenvolvimento
A partir desta unix.stackexchange: https://unix.stackexchange.com/questions/177831/recovering-a-luks-partition
Eu encontrei o começo se meu cabeçalho
hexdump -s 164822601573 -C /dev/sda | grep LUKS
2660314f65 4c 55 4b 53 ba be 00 73 71 75 61 73 68 66 73 00 |LUKS...squashfs.|
Configurar dispositivos de loop
losetup -o 0x2660314f65 -r -f /dev/sda
losetup -a
cryptsetup luksOpen /dev/loop0 luksrecover
Mas eu tenho esta mensagem de erro:
Unsupported LUKS version 115.
Acho que meu cabeçalho está corrompido ... Aqui está o começo do meu:
|LUKS...squashfs.|
|sqsh.hsqs.lvm2pv|
|.LVM2 001.btrfs.|
|_BHRfS_M.f2fs.. |
|...<device.</dev|
|ice>.PRI.TIME.DE|
|VNO.%s-XXXXXX.w.|
| PRI="%d".>%s</d|
|evice>.. %s="%s"|
|.%s.old.1.42.9.2|
|8-Dec-2013......|
|................|
*
|...............d|
|.... n;.0.&.A.v.|
|QkkXa.M<q.P ...D|
|.........a...d..|
|...x............|
|.............T..|
|..........@.....|
|.i@<device DEVNO|
|="0x%04lx" TIME=|
|"%ld"...........|
E aqui está um cabeçalho funcional
|LUKS....aes.....|
|................|
|........xts-plai|
|n64.............|
|........sha1....|
|................|
|............... |
|2x.l...r0....8|.|
|...'..[!D..J..tp|
|....?J...~.x"s.=|
|.?.....]981be66e|
|-a0b0-4daa-8a2c-|
|5a6e5d8ed3ae....|
|..q....ZG..}#..,|
|...w..!|..3..>.?|
|.;.&...-........|
|................|
|................|
fonte
Respostas:
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
então dois caracteres não-ascii 0xba e 0xbe, então você poderia procurar em todo o seu disco procurando por aquela string. Tudo em hexadecimal, éTenha uma pesquisa de programa
PhotoRec deve ser capaz de encontrar Cabeçalhos / arquivos LUKS e está no Debian & amp; 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 & amp; pode encontrar o LUKS.
Pesquise "você mesmo"
Ou, você pode pesquisar o tipo inteiro de "você mesmo" byte-by-byte, com seu editor hexadecimal favorito (Bless é legal) ou com
grep
no linux (encontrado em este outro Q ):Sem a inicial
LANG=C
definindo que não estava funcionando para mim, minha "linguagem" usual é aparentemente UTF-8, e essas opções são a forma abreviada de --only-matching --byte-offset --binary --text --perl-regexp Vejoman grep
ouinfo grep
)Ele deve gerar o byte no qual 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 comece no ponto certo, embora fazer uma cópia de segurança primeiro seja mais seguro, você não quer sobrescrever o cabeçalho por engano.Por exemplo:
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 são 1M ou 2M de comprimento, 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, acontece exatamente 5M desde o início (5242880/1048576 = 5), então este comando iria copiar de 5M para o final do arquivo / dispositivo, escrevendo para o arquivo
outfile
(no diretório atual):Para um backup somente de cabeçalho, você pode usar
count=N
para parar de copiar depois de N blocos, apenas descobrir quantos blocos de sua seleçãobs=
estão em 2 megabytes, acima seria apenas 2. Vejadd
ajuda para informações.fonte
cryptsetup
tem um comando de reparo, poderia tentar em uma cópia de 10 ou 20MB do "cabeçalho" foreward? Ou a resposta vinculada em unix.stackexchange mostra o formato do cabeçalho em um PDF, poderia tentar extrair dados se sobrou algum? Um backup de cabeçalho é realmente necessário, infelizmente