Eu tenho uma partição f2fs com o Superblock ausente. Eu fiz uma imagem de disco para não destruir a partição original tentando consertar.
sd-repair# fsck.f2fs sd128.img
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 249737216 (121942 MB)
Can't find a valid F2FS superblock at 0x0
Can't find a valid F2FS superblock at 0x1
O testdisk não suporta o F2FS.
Eu não sei se existe uma maneira de reescrever os superblocos, gostaria de recuperar meus arquivos ou reparar o sistema de arquivos.
Aqui está o hex do que eu acredito ser o superbloco F2FS, de uma boa partição
10 20 F5 F2 01 00 07 00 09 00 00 00 03 00 00 00 0C 00 00 00 09 00
00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00
E1 0F 00 00 FF 0F 00 00 02 00 00 00 02 00 00 00 12 00 00 00 08 00
00 00 E1 0F 00 00 00 02 00 00 00 02 00 00 00 06 00 00 00 0A 00 00
00 2E 00 00 00 3E 00 00 03 00 00 00 01 00 00 00 02 00 00 00 31 8B
E4 FB 13 D1 42 26 A5 07 EA 8A B6 70 A9 45
Aqui está o hex encontrado na parte ruim
10 20 F5 F2 01 00 07 00 09 00 00 00 03 00 00 00 0C 00 00 00 09 00
00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 46 DC 01 00 00 00 00
31 ED 00 00 22 EE 00 00 02 00 00 00 06 00 00 00 72 00 00 00 77 00
00 00 31 ED 00 00 00 02 00 00 00 02 00 00 00 06 00 00 00 12 00 00
00 F6 00 00 00 E4 01 00 03 00 00 00 01 00 00 00 02 00 00 00 16 CD
C2 62 53 10 46 17 A5 B7 41 C6 8E AA 33 D5 73 00 64 00 2D 00 65 00
78 00 74 00
O superbloco parece ok, as diferenças são por causa de 1 é parte de 128 GB e outro é parte de 8 GB. Eu não sei como saber se o superbloco está no local certo na partição ruim. Há offset não combina, pelo que eu posso dizer. Mas eu não sou tão bom com editores hexadecimais, então eu não sei como comparar os deslocamentos.
Atualização:
o offset para o superblock estava errado, estava em 0x600 ou 3 setor. Eu removi os primeiros 512 bytes da imagem de disco. Agora fsck.f2fs mostra
sd-repair# fsck.f2fs -f trim_sd.img
Info: Force to fix corruption
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 249704447 (121925 MB)
Info: MKFS version
"Linux version 3.4.0-CM-g87d27dd (Adam@TheKeurig) (gcc version 4.9 20150123 (prerelease)
(GCC) ) #6 SMP PREEMPT Sat Dec 17 21:28:57 CET 2016"
Info: FSCK version
from "Linux version 4.9.0-3-amd64 ([email protected])
(gcc version 6.3.0 20170516 (Debian 6.3.0-18) )
#1 SMP Debian 4.9.30-2 (2017-06-12)"
to "Linux version 4.9.0-3-amd64 ([email protected])
(gcc version 6.3.0 20170516 (Debian 6.3.0-18) ) #1 SMP Debian 4.9.30-2 (2017-06-12)"
Info: superblock features = 0 :
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
Info: total FS sectors = 249704448 (121926 MB)
[f2fs_crc_valid: 477] CRC validation failed: cal_crc = 4076150800, blk_crc = 0 buff_size = 0x0
[f2fs_crc_valid: 477] CRC validation failed: cal_crc = 4076150800, blk_crc = 0 buff_size = 0x0
[f2fs_do_mount:1945] Can't find valid checkpoint
Do que eu posso dizer que a partição mudou, pode estar em questão com a tabela de partição. Todos os dados parecem estar intactos. Está usando a tabela de partição ms-dos.