testdisk - recupera a tabela de partições

0

Eu destruí minha tabela de partições do meu laptop.

Testdisk relata o abaixo

Disk laptop.img - 250 GB / 232 GiB - CHS 30402 255 63 (RO)
 Partition               Start        End    Size in sectors
>P MS Data                   435868     456606      20739 [NO NAME]
 P MS Data                 19232600   19235479       2880 [NO NAME]
 D MS Data                 41945087   83890143   41945057
 D MS Data                 57151486  168579069  111427584
 D MS Data                 67637246  141037565   73400320
 D MS Data                151523326  193466365   41943040
 D MS Data                170617328  170618223        896
 D MS Data                170631168  170634047       2880
 D MS Data                171338232  171344405       6174 [Boot]
 D MS Data                172008235  172231918     223684 [NO NAME]
 P MS Data                193466368  214437887   20971520
 D MS Data                217321375  225321678    8000304 [root]
 D MS Data                224923646  308809725   83886080 [media]
 D MS Data                308809728  420237311  111427584
 D MS Data                418910206  481824765   62914560 [vmimages]

minha tabela de partições tinha 3 partições primárias.

 1. WinXP Home
 2. /boot
 3. LVM

dentro do LVM eu tinha 9 ou 10 partições LVM Uma delas era minha casa (criptografada com luks)

testdisk não pode recuperar minha tabela de partição ou qualquer outra partição. Partições com [P] não possuem nenhum dado útil.

Eu quero usar o dd para extrair as partições e tentar recuperar quantos arquivos eu puder. Qualquer idéia de como eu posso extrair, por exemplo. a partição [root] lvm do relatório do disco de teste acima?

Eu tenho medo de que meu disco também esteja corrompido.

    
por ebal 01.11.2012 / 10:47

1 resposta

2

okei, aqui está o que eu fiz até este momento. Eu realmente espero que outras pessoas nunca tenham que ler isso em momentos estressantes.

Então eu preciso de duas coisas

a. partition table
b. LVM configuration.

existe alguma na minha imagem de disco? Procure por strings na sua imagem de disco para extrair qualquer informação útil.

# strings -t d laptop.img > laptop.img.str

tenha em mente que isso pode ser um arquivo muito grande. Para um disco de 250Gb meu laptop.img.str é sobre 60Gb!

Precisamos fazer isso porque ... é muito mais eficiente pesquisar em um arquivo de 60Gb e não em um arquivo de imagem de 250Gb.

# head -1 /etc/lvm/backup/VG_file 

retornará algo assim:

# Generated by LVM2 version 2.02.98(2) (2012-10-15): Mon Nov  5 09:10:16 2012

então eu agora que eu deveria procurar por "# Generated by LVM2 version" em laptop.img.str e eu fiz

# grep -E --color '# Generated by LVM2 version ' laptop.img.str > LVM2.extracts

Eu encontrei muito. Classifiquei minha data e algo como:

24956608512 # Generated by LVM2 version 2.02.97(2) (2012-08-07): Sat Sep 22 16:22:39 2012

foi o resultado.

okei, então existe algo útil na configuração do lvm2.

Próximo passo.

Quase todo disco tem um setor de 512 bytes, então calcule:

# echo 24956608512/512|bc
48743376

hmmm deixa a esperança encontrar algo interessante:

# dd if=laptop.img bs=512 skip=48743376 count=1 

e de fato algo muito bonito veio para a minha tela

# Generated by LVM2 version 2.02.97(2) (2012-08-07): Sat Sep 22 16:22:39 2012

contents = "Text Format Volume Group"
version = 1

description = "Created *after* executing 'lvextend -l +100%FREE /dev/vg01/mmoviess'"

creation_host = "mylaptop"  # Linux mylaptop 3.5.3-1-ARCH #1 SMP PREEMPT Sun Aug 26 09:14:51 CEST 2012 x86_64
creation_time = 1348320159  # Sat Sep 22 16:22:39 2012

alterando a contagem de 1 para 4 e agora tenho todo o meu arquivo conf LVM2. Faça backup em algum lugar seguro e continue com a tabela de partições.

Eu agora que eu tinha três (3) partições primárias. sda1 - sda2 - sda3 Então eu pensei em procurá-los em laptop.img.str.

Por fim e com os passos acima, encontrei isto:

Disk /dev/sda: 250.1 GB, 250059350016 bytes, 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b13ab

   Device Boot      Start         End Blocks   Id System
/dev/sda1   *          20    41945087    20972534    7  HPFS/NTFS/exFAT
/dev/sda2        41945088    42469375      262144   83  Linux
/dev/sda3        42469376   488397167   222963896   8e  Linux LVM

O relatório do Testdisk não ajudou em nada.

O hexdump tornou-se meu novo melhor amigo!

também é útil: grep com parâmetros -a -b e losetup com parâmetro de offset! nenhum software extra - nenhuma instalação extra - nada.

apenas cmds básicos com uso poderoso.

    
por 05.11.2012 / 11:15