gdisk, realice una solución no permanente a una tabla GPT corrupta

gdisk, realice una solución no permanente a una tabla GPT corrupta

Mi computadora portátil no puede arrancar. Entonces, ejecuto Ubuntu 18.04 en vivo desde un USB de arranque. No montó automáticamente el disco duro de 500 GB /dev/sda, que usa GPT.

lsblkmuestra sólo el disco, no las particiones; fdisken cambio es capaz de mostrarlos.

gdiskmuestra el mismo error que enesta página(Sección "Recuperación semiautomática"):

# gdisk /dev/sda
GPT fdisk (gdisk) version 0.7.2

Warning! Main partition table CRC mismatch! Loaded backup partition table
instead of main partition table!

Luego, la página vinculada muestra una lista de opciones para el archivo recovery/transformation command, en la Sección "Procedimientos de recuperación manual", especificando que:

Puede experimentar con todas las opciones que acabamos de describir (excepto w); Ninguna de las herramientas de recuperación de datos provoca escrituras inmediatas en el disco.

No entendí cómo se puede verificar si estas opciones funcionarán o no antes de realizar modificaciones permanentes.

Con gdisk, ¿es posible usar temporalmente backup partition table, para que Ubuntu pueda montar las /dev/sdaparticiones del disco y luego dejar el disco sin cambios cuando se apaga Ubuntu?

Respuesta1

No necesita que su sistema operativo reconozca la partición. Puede (intentar) montar todo el dispositivo con el desplazamiento adecuado. Por ejemplo, si sospecha (o si alguna herramienta le dice) que la partición comenzó en el sector 2048(un valor bastante común con sectores lógicos de 512 bytes), intente:

sudo mount -o ro,offset=$((2048*512)) /dev/sda /some/mountpoint

( ropor si acaso; sin él sería -o offset=$((2048*512))). Si aumenta y el contenido parece correcto, el sector inicial es el correcto.

Puede ser el número de sector 256para sectores lógicos de 4096 bytes. Nota $((256*4096))y $((2048*512))son el mismo número.

Y si alguna herramienta le indica que comience desde el sector 14649344, la utiliza offset=$((14649344*512))(asumiendo sectores de 512 bytes).

A Microsoft le gustaba empezar desde 63(debido al valor común de 63 sectores por pista en CHS, supongo), pero esto fue antes de GPT. Si alguna vez necesita adivinar dónde C:\comienza cualquier Windows de la era XP, intente offset=$((63*512)).


Dijiste fdiskque es capaz de mostrar alguna estructura de partición sensata. Este debería ser tu punto de partida.

Si fdiskno ayuda, testdisksería la siguiente herramienta a ejecutar. Creo que puede buscar particiones perdidas y mostrar sus sectores iniciales sin alterar la unidad. Esto debería darle compensaciones para probar.

información relacionada