10. 만약 /lost+found 디렉토리가 비어있지 않다면

몇몇 디렉토리나 파일이 정확한 위치에 나타나지 않을 수도 있다. 대신에 그 파일들은 /lost+found파일에 그들의 inode를 파일이름으로 하여 나타났을 것이다.

이 경우는, ".." 디렉토리 엔트리에 대한 포인터가 증가되어 그 다음 디렉토리를 가리키고 있게된다. (이런 현상이 일어나는 이유는 알 수 없다. 아마 파일시스템의 버그인 것 같다)

디렉토리의 연결성이 검사되는 "e2fsck.out"의 pass 3 을 조사해보아라. 아마도 거기서 영향받은 디렉토리를 찾을 수 있을 것이다. 4절에 나온대로 디스크를 덤프하여라.

e2diranap 인자를 주고, 실행시키고, 인자 없이 또 실행시켜라.(이는 ".." 디렉토리 엔트리의 포인터를 변화시킬 것이다). 여기서 dump는 덤프된 디렉토리이다.

        # e2dirana dump > dump1
        # e2dirana -p dump > dump2

두 가지 출력된 것을 비교해 보아라.

        # diff dump1 dump2

만약 두 가지 출력이 같지 않다면 디렉토리의 어떤 파일인가가 없어진 것이다. 그러면 해당하는 파일을 /lost+found 에서 찾아서 올바른 위치로 옮겨주어라. 여기서 dest 는 목적 디렉토리에 대한 심볼릭 링크이다. 출력을 스크립트에 넣고, 당신이 동의한다면 스크립트를 실행시켜라.

        # diff dump1 dump2 |\
          tail -n $[`diff dump1 dump2 | wc -l`-1] | cut -b 3- |\
          sed -e 's/^\([^ ]*\) \(.*\)$/mv lost+found\/#\1 dest\/"\2"/' |\
          sed -e 's/!/"\\\!"/g'

이 과정을 /lost+found가 비게 될 때까지 반복한다.