Como os arquivos são dispostos em ext2 / ext3 / ext4?


8

Alguns dias atrás, todos os meus metadados em um cartão flash de formato ext4 foram substituídos.

Agora vou especular sobre como isso aconteceu. Isso é pura especulação. Aconteceu logo depois que eu usei um cartão diferente. O rótulo do volume no cartão agora é o mesmo que o outro cartão. Por isso, suspeito que não consegui sincronizar / desmontar a outra placa quando a puxei. O leitor de cartão não notifica adequadamente o sistema quando um cartão é puxado, para que o próximo sistema gere sincronização, o sistema não sabia que eu alterei os cartões e substitui os metadados.

A primeira coisa que fiz quando isso aconteceu, é criar uma imagem usando o dd. A segunda coisa que fiz foi tornar a imagem somente leitura. A terceira coisa que fiz foi fazer uma cópia gravável da imagem.

Descobri o photorec, que conseguiu recuperar algumas coisas, mas não todas. Eu acho que uma das razões para isso é que não é destrutivo.

Como alguns dos arquivos recuperados são texto, suspeito que o photorec use informações mínimas sobre o formato do arquivo, se houver.

Para tentar recuperar qualquer um dos outros arquivos do cartão, eu precisaria saber como os arquivos são dispostos no ext2. Eu suspeito que o básico é que os arquivos são divididos em blocos, que são gravados em setores e as informações sobre como encontrar o próximo setor são gravadas de alguma forma no setor atual.

O que eu preciso para prosseguir é informações sobre como o ponteiro para o próximo setor é escrito.

PS: Estou lendo o código do photorec, mas estou tendo alguns problemas para lê-lo. Se sou eu ou se o código é feio, eu não sei.

PPS: Encontrei algumas informações sobre como os sistemas de arquivos ext são organizados, mas não consigo encontrar informações básicas sobre o layout do arquivo.

Respostas:


4

O PhotoRec varre um disco (ou imagem de disco) procurando por pedaços contíguos de bytes com o formato de arquivo conhecido (por exemplo, ele pode reconhecer JFIF / EXIF ​​(JPEG) pelos cabeçalhos do segmento). Muito simples, mas limitado.

O Sleuth Kit é uma ótima ferramenta para cavar em sistemas de arquivos. Com um pouco de cuidado (e criando scripts para suas ferramentas e editando hexadecimalmente a imagem do disco quando ela se desvia), ela pode ser usada para recuperação.

Para uma ferramenta que entende mais profundamente ext, tente ext4magic ? (Ainda não precisei usar isso ainda.)

Documentation/filesystems/ext2.txtnas fontes do kernel tem uma visão geral de alto nível da estrutura geral. O Ext4 Wiki possui boas informações, incluindo o Ext4 Disk Layout, que contém mais detalhes (em grande parte, aplicáveis ​​ao ext [23]).

Mas sim, os dados de um arquivo são divididos em blocos. No ext2, cada arquivo é representado por um inode que contém blocos diretos (ponteiros para blocos de dados), blocos indiretos (que contêm ponteiros para blocos diretos), blocos indiretos duplos e blocos indiretos triplos. Não há backlinks, portanto, para encontrar os irmãos de um bloco de dados, você precisará varrer todos os inodes e bloquear ponteiros para encontrar seu proprietário primeiro.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.