No hay un desplazamiento estándar per-se, ya que, por supuesto, puede iniciar la partición donde lo desee. Pero supongamos por un momento que está buscando la primera partición, y se creó más o menos aceptando valores predeterminados. Hay dos lugares donde puede encontrarlo, suponiendo que estaba usando una tabla de partición DOS tradicional:
- Comenzando en el sector 63 (512 bytes). Esta fue la tradición durante mucho tiempo y funcionó hasta que alguien creó discos 4K ...
- A partir del sector (512 bytes) 2048. Esta es la nueva tradición, para acomodar discos 4K.
- ¡Una opción extra! Iniciando en el sector 56. Esto es lo que sucede si alguien mueve la partición de 63 comienzos para alinearla con un sector 4K.
Ahora, para continuar, querrás elegir tu herramienta de volcado hexadecimal favorita y aprender un poco sobre el diseño del disco ext4 . En particular, comienza con 1024 bytes de relleno, que ext4 ignora. Luego viene el superbloque. Puede reconocer el superbloque comprobando el número mágico 0xEF53 en el desplazamiento 0x38 (desde el inicio del superbloque, o 0x438 desde el inicio de la partición, o 1080 en decimal). El número mágico es little-endian. Por lo tanto, en realidad se almacena en el disco como 0x53EF.
Así es como se ve eso con xxd -a
:
0000000: 0000 0000 0000 0000 0000 0000 0000 0000 ................
*
0000400: 0040 5d00 0084 7401 33a0 1200 33db a600 .@]...t.3...3...
0000410: 4963 5300 0000 0000 0200 0000 0200 0000 IcS.............
0000420: 0080 0000 0080 0000 0020 0000 6637 0952 ......... ..f7.R
0000430: 6637 0952 0200 1600 53ef 0100 0100 0000 f7.R....S.......
0000440: 9938 f851 004e ed00 0000 0000 0100 0000 .8.Q.N..........
Tenga en cuenta que cuando da el desplazamiento para montar (o perder), debe dar el desplazamiento donde comienza el relleno, no el superbloque.
Ahora, si no es la primera partición, o si no está en uno de los dos (tres) lugares esperados, básicamente puedes buscar el número mágico 0xEF53. Esto es lo que testdisk
(recomendado en un comentario) hace por ti.