testdisk - recuperar tabla de particiones

testdisk - recuperar tabla de particiones

Destruí la tabla de particiones de mi computadora portátil.

Testdisk informa lo siguiente

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]

mi tabla de particiones tenía 3 particiones primarias.

 1. WinXP Home
 2. /boot
 3. LVM

dentro de LVM tenía 9 o 10 particiones LVM. Una de ellas era mi casa (cifrada con luks)

testdisk no puede recuperar mi tabla de particiones ni ninguna otra partición. Las particiones con [P] no tienen ningún dato útil.

Quiero usar dd para extraer las particiones e intentar recuperar tantos archivos como pueda. Alguna idea de cómo puedo extraer, por ejemplo. ¿La partición [raíz] lvm del informe testdisk anterior?

Temo que mi disco también esté dañado.

Respuesta1

Okei, esto es lo que he hecho hasta este momento. Realmente espero que otras personas nunca tengan que leer esto en momentos estresantes.

entonces necesito dos cosas

a. partition table
b. LVM configuration.

¿Hay alguno en la imagen de mi disco? Busque cadenas en la imagen de su disco para extraer información útil.

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

tenga en cuenta que este podría ser un archivo muy grande. ¡Para un disco de 250 Gb, mi laptop.img.str tiene aproximadamente 60 Gb!

Necesitamos hacer esto porque... es mucho más eficiente buscar en un archivo de 60 Gb y no en un archivo de imagen de disco de 250 Gb.

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

devolverá algo como esto:

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

así que ahora que debo buscar "# Generado por la versión LVM2" en laptop.img.str y lo hice

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

he encontrado mucho. Ordené mi fecha y algo como:

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

fue el resultado.

Okei, hay algo útil sobre la configuración de lvm2.

Próximo paso.

Casi todos los discos tienen un sector de 512 bytes, así que calcúlelo:

# echo 24956608512/512|bc
48743376

hmmm esperemos encontrar algo interesante:

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

y de hecho algo muy hermoso vino a mi pantalla

# 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

cambiando el recuento de 1 a 4 y ahora tengo mi archivo de configuración LVM2 completo. Haga una copia de seguridad en algún lugar seguro y continúe con la tabla de particiones.

Ahora que tengo tres (3) particiones primarias. sda1 - sda2 - sda3 Así que pensé en buscarlos en laptop.img.str.

Finalmente y con los pasos anteriores encontré esto:

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

El informe de Testdisk no ayudó en absoluto.

¡Hexdump se convirtió en mi nuevo mejor amigo!

También es útil: grep con parámetros -a -b y losetup con parámetro de desplazamiento. sin software adicional, sin instalaciones adicionales, nada.

solo cmds básicos con un uso potente.

información relacionada