Bagaimana file ditata dalam ext2 / ext3 / ext4?

8

Beberapa hari yang lalu semua metadata saya pada kartu flash format ext4 ditimpa.

Saya sekarang akan berspekulasi tentang bagaimana ini terjadi. Ini spekulasi murni. Itu terjadi tepat setelah saya menggunakan kartu yang berbeda. Label volume pada kartu sekarang sama dengan kartu lainnya. Jadi saya curiga saya gagal menyinkronkan / melepas kartu lainnya, ketika saya menariknya. Pembaca kartu tidak memberi tahu sistem dengan benar ketika sebuah kartu ditarik sehingga sistem selanjutnya menghasilkan sinkronisasi, sistem tidak tahu bahwa saya mengganti kartu, dan menimpa metadata.

Hal pertama yang saya lakukan ketika ini terjadi, adalah membuat gambar menggunakan dd. Hal kedua yang saya lakukan adalah membuat gambar hanya-baca. Hal ketiga yang saya lakukan adalah membuat salinan gambar yang dapat ditulisi.

Saya menemukan photorec, yang berhasil memulihkan beberapa hal, tetapi tidak semua. Saya pikir salah satu alasan untuk ini adalah tidak merusak.

Karena beberapa file yang dipulihkan adalah teks, saya curiga photorec menggunakan informasi minimal tentang format file, jika ada.

Untuk mencoba dan memulihkan salah satu file lain dari kartu, saya perlu tahu bagaimana file diletakkan di ext2. Saya menduga dasarnya adalah bahwa file dipecah menjadi blok, yang ditulis ke dalam sektor dan informasi tentang bagaimana menemukan sektor berikutnya ditulis entah bagaimana di sektor ini.

Apa yang saya butuhkan untuk melanjutkan adalah informasi tentang bagaimana pointer ke sektor selanjutnya ditulis.

PS: Saya membaca kode photorec, tetapi saya mengalami beberapa masalah membacanya. Entah itu saya atau apakah kodenya jelek, saya tidak tahu.

PPS: Saya telah menemukan beberapa informasi tentang bagaimana sistem file ext ditata, tetapi sepertinya tidak dapat menemukan info tata letak file dasar.

Mouse. Lucky. Dog
sumber

Jawaban:

4

PhotoRec memindai disk (atau disk image) yang mencari potongan-potongan yang berdekatan dari byte-yang-terlihat-seperti-dikenal-file-format (misalnya, itu dapat mengenali JFIF / EXIF ​​(JPEG) oleh header segmen). Cukup sederhana namun terbatas.

Sleuth Kit adalah alat yang hebat untuk menggali sistem file. Dengan sedikit hati-hati (dan membuat skrip alat-alatnya dan mengedit hex disk image ketika tersesat), ini dapat digunakan untuk pemulihan.

Untuk alat yang lebih memahami ext, coba ext4magic ? (Saya belum memiliki kebutuhan untuk menggunakan ini.)

Documentation/filesystems/ext2.txtdalam sumber kernel memiliki gambaran tingkat tinggi dari struktur umum. The ext4 Wiki memiliki informasi yang baik, termasuk Ext4 Disk Tata Letak mengandung lebih detail (sebagian besar berlaku untuk ext [23] juga).

Tapi ya, data file dipecah menjadi beberapa blok. Dalam ext2, setiap file diwakili oleh inode yang berisi blok langsung (pointer ke blok data), blok tidak langsung (yang berisi pointer ke blok langsung), blok tidak langsung ganda, dan tiga blok tidak langsung. Tidak ada backlink, jadi untuk menemukan saudara blok data, Anda harus memindai semua inode dan blokir pointer untuk menemukan pemiliknya terlebih dahulu.

singkat
sumber