Zrozumienie systemu plików ext2 [zamknięte]

8

Próbuję znaleźć usunięte i-węzły w systemie plików ext2. I to jest moje podejście. Jednak czuję, że robię coś złego.

  1. Najpierw szukam 1024 bajtów na początek superbloku

  2. Wiem, że rozmiar bloku to 1024 bajty, więc tabela deskryptorów grup zaczyna się od przesunięcia 2048.

  3. Tabela deskryptorów grup ma deskryptor grup dla każdej grupy bloków, prawda? Obliczam więc liczbę deskryptorów grup lub grup bloków: całkowite i-węzły / i-węzły na grupę. Daje mi to wartość 8, co oznacza, że ​​mam 8 deskryptorów grup w tabeli deskryptorów grup bloków.

  4. Czytam pole first_inode_table dla wszystkich 8 deskryptorów grup. Deskryptory grup mają długość 32 bajtów

    Więc tu się mylę. Tabela i-węzłów dla pierwszego deskryptora grupy daje mi 260. Czy to oznacza, że ​​aby uzyskać dostęp do tabeli i-węzłów dla pierwszej grupy bloków, mam 260 * rozmiar bloku?

  5. Kiedy tam dotrę, czytam pole dtime - które informuje nas o ostatnim usuniętym czasie. Jeśli jest to> 0, oznacza to, że zostało usunięte.

    Kolejnym nieporozumieniem jest to, że mówi się, że pierwsze 11 wpisów w tabeli i-węzłów jest zarezerwowanych. Więc to nie powinno stanowić problemu, dopóki przeglądam wszystkie wpisy i-węzłów tabeli i-węzłów, prawda?

Czy moje podejście jest prawidłowe? Proszę wskazać mi właściwy kierunek, jeśli zauważysz coś złego.

Wuffers
źródło
Uzasadnienie jest prawidłowe. Błąd był spowodowany innym problemem.
4
@Catie Jeśli rozwiązałeś ten problem, powinieneś samodzielnie dodać odpowiedź lub po prostu usunąć pytanie. :-)
John Parker,
1
proszę dodaj odpowiedź!
kalaracey
1
Odpowiedź na pytanie, ponieważ był to kolejny problem, który został rozwiązany. Nie ma już problemu i jest bardzo mało prawdopodobne, że Catie wróci, więc pomóżcie uzyskać to pytanie z listy bez odpowiedzi ...
Tamara Wijsman,