LINUX.ORG.RU

Восстановление файлов с повреждённой F2FS

 ,


1

1

Всем привет! На свою голову решил попробовать файловую систему F2FS, создал раздел на 250 гб на своём SSD, поставил на него арч, вроде всё летало.. Решил перенести все свои файлы на раздел с F2FS, не оставив резервных копий. Потом я решил создать SWAP-файл на этом разделе ибо оперативки в ноуте всего 2 гб... Создавал файл через dd + mkswap, но после команды swapon программы перестали запускаться, при попытке выполнить любую команду в терминале был segfault.. Короче у меня такие же симптомы были когда я по приколу решил выполнить rm -rf /* Решил кнопкой reset перезапустить ноут и в итоге попал в панель восстановления initramfs... Оказалось что файловая система почему-то повредилась и fsck.f2fs разных версий отказывается восстановить раздел. Так как сама ФС создавалась в f2fs-tools версии 1.13.0, то показываю результат работы fsck.f2fs именно этой версии:

dev@dev-laptop:~$ sudo fsck.f2fs -d 10 -f /dev/sda1
Info: Debug level = 10
Info: Force to fix corruption
Info: [/dev/sda1] Disk Model: Samsung SSD 850 
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 515735552 (251824 MB)
Info: MKFS version
  "Linux version 5.3.1-arch1-1-ARCH (builduser@heftig-3999379) (gcc version 9.1.0 (GCC)) #1 SMP PREEMPT Sat Sep 21 11:33:49 UTC 2019"
Info: FSCK version
  from "Linux version 5.3.0-20-generic (buildd@lgw01-amd64-029) (gcc version 9.2.1 20191008 (Ubuntu 9.2.1-9ubuntu2)) #21-Ubuntu SMP Wed Oct 23 16:20:37 UTC 2019"
    to "Linux version 5.3.0-20-generic (buildd@lgw01-amd64-029) (gcc version 9.2.1 20191008 (Ubuntu 9.2.1-9ubuntu2)) #21-Ubuntu SMP Wed Oct 23 16:20:37 UTC 2019"
Info: superblock features = 0 : 
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000

+--------------------------------------------------------+
| Super block                                            |
+--------------------------------------------------------+
magic                         		[0xf2f52010 : 4076150800]
major_ver                     		[0x       1 : 1]
volum_name                    		[]
minor_ver                     		[0x       d : 13]
log_sectorsize                		[0x       9 : 9]
log_sectors_per_block         		[0x       3 : 3]
log_blocksize                 		[0x       c : 12]
log_blocks_per_seg            		[0x       9 : 9]
segs_per_sec                  		[0x       1 : 1]
secs_per_zone                 		[0x       1 : 1]
checksum_offset               		[0x       0 : 0]
block_count                   		[0x 3d7b000 : 64466944]
section_count                 		[0x   1ea67 : 125543]
segment_count                 		[0x   1ebd7 : 125911]
segment_count_ckpt            		[0x       2 : 2]
segment_count_sit             		[0x       a : 10]
segment_count_nat             		[0x      6e : 110]
segment_count_ssa             		[0x      f6 : 246]
segment_count_main            		[0x   1ea67 : 125543]
segment0_blkaddr              		[0x     200 : 512]
cp_blkaddr                    		[0x     200 : 512]
sit_blkaddr                   		[0x     600 : 1536]
nat_blkaddr                   		[0x    1a00 : 6656]
ssa_blkaddr                   		[0x    f600 : 62976]
main_blkaddr                  		[0x   2e200 : 188928]
root_ino                      		[0x       3 : 3]
node_ino                      		[0x       1 : 1]
meta_ino                      		[0x       2 : 2]
cp_payload                    		[0x       0 : 0]
crc                           		[0x       0 : 0]
version                       Linux version 5.3.0-20-generic (buildd@lgw01-amd64-029) (gcc version 9.2.1 20191008 (Ubuntu 9.2.1-9ubuntu2)) #21-Ubuntu SMP Wed Oct 23 16:20:37 UTC 2019
Info: total FS sectors = 515735552 (251824 MB)
	Invalid CP CRC offset: 0
	Invalid CP CRC offset: 0
[f2fs_do_mount:3273] Can't find valid checkpoint

Новее версии f2fs-tools просто нет, я собирал последнюю мастер-версию с kernel.org Я проверил, файлы в этом разделе вроде на месте, с нодами вроде тоже всё ок... Я написал небольшой скрипт на php для проверки наличия в этом разделе любой ценной информации, вот его вывод:

root@dev-laptop:~# ./why.php /dev/sda1 10
00000000000000000000

..........


ADDR = 0x400 [1024]
1020f5f201000d0009000000030000000c0000000900000001000000010000000000000000b0d7030000000067ea0100d7eb0100020000000a0000006e000000f600000067ea0100000200000002000000060000001a000000f6000000e2020003000000010000000200000012cef9f64385490b85f7b592a115650600000000000000000000

 .............................g........n......g...........................CIe..........


ADDR = 0x87c [2172]
240000006d70000000000000776d0000000000006f670000000000006a7000000000000061766900000000006d347600000000006d347000000000006d6b7600000000006d6f7600000000007765626d0000000077617600000000006d3461000000000033677000000000006f70757300000000666c6163000000006769660000000000706e670000000000737667000000000077656270000000006a61720000000000646562000000000069736f0000000000677a000000000000787a0000000000007a737400000000007064660000000000707963000000000074746300000000007474660000000000657865000000000061706b0000000000636e74000000000065786f00000000006f646578000000007664657800000000736f000000000000646200000000000000000000

$...mp......wm......og......jp......avi.....m4v.....m4p.....mkv.....mov.....webm....wav.....m4a.....3gp.....opus....flac....gif.....png.....svg.....webp....jar.....deb.....iso.....gz......xz......zst.....pdf.....pyc.....ttc.....ttf.....exe.....apk.....cnt.....exo.....odex....vdex....so......db..........


ADDR = 0xa84 [2692]
4c696e75782076657273696f6e20352e332e302d32302d67656e6572696320286275696c6464406c677730312d616d6436342d3032392920286763632076657273696f6e20392e322e3120323031393130303820285562756e747520392e322e312d397562756e7475322929202332312d5562756e747520534d5020576564204f63742032332031363a32303a333720555443203230313900000000000000000000

Linux version 5.3.0-20-generic (buildd@lgw01-amd64-029) (gcc version 9.2.1 20191008 (Ubuntu 9.2.1-9ubuntu2)) #21-Ubuntu SMP Wed Oct 23 16:20:37 UTC 2019..........

и так дальше... там и файлы есть, но инфы на диске 250 гб, а метаинформацию с названиями файлов, их размером и расположением на диске хз где и как правильно искать. В общем диск на первый взгляд в норме, тогда почему он не монтируется и fsck.f2fs ругается на CRC? Есть ли какой-то способ пофиксить это или хоть найти и достать файлы оттуда без написания тысячи строк кода??? Буду благодарен за любую информацию по этому поводу!


Ответ на: комментарий от anonymous

не пробовал ещё им восстанавливать файлы, хочу пока что попробовать всё же как-то восстановить структуру этого раздела вместе с файлами (да и есть она вроде как там, почему не монтируется и не восстанавливается понятия не имею...)

XopmoH
() автор топика

f2fs архитектурно не поддерживает свапфайл из-за своей главной фичи.
В остальном, это обычная ext4, и файлы с неё достаются так-же.

anonymous
()
Ответ на: комментарий от anonymous

scalpel не сумел восстановить файлы с этого раздела, хотя эти файлы там 100% есть (я проверял hex-редактором). Что ещё можно использовать для восстановления файлов?

XopmoH
() автор топика
13 декабря 2019 г.

Вам удалось решить свою проблему? т.к. у меня возникла такая же

ForumLiker
()

Арче проблемы да потопа что надо ставить убунту и не выеживаться , ну можно там эту проблему решить а твоём случае страдать на онтопиках

anonymous
()
Ответ на: комментарий от anonymous

Совсем не та же:

F2FS is … based on Log-structured File System (LFS)

anonymous
()
Ответ на: комментарий от Deleted

ext4 файлы не теряет просто так.

А как она их теряет? В ОП посте описано прям рядовое, каждодневное использование компа, с dd, rm -rf /, и свапфайлом на разделе который его не поддерживает. Его там нормальными способами даже создать не получится, но ТС смог.

anonymous
()
Ответ на: комментарий от anonymous

Вот я тоже в 14-м думал, поставлю кубунту и заживу счастливо. Зажил только через 2 года, когда с этого убогого поделия на арч ушёл.

Hertz ★★★★★
()
Ответ на: комментарий от Deleted

Что за петросянство? Тот тс уже отметился в этом топике, и так-же как тс этого топика ходит по граблям.

anonymous
()
Ответ на: комментарий от ForumLiker

Расскажите нам!

swap-раздел, внезапно.

anonymous
()
Ответ на: комментарий от anonymous

Если писать в жирный файл на этой чудо фс, то она так же весело помрет ?

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.