e2fsck는 리눅스 파일 시스템 점검 및 복구를 할 수 있는 명령어 입니다. fsck의 확장 명령어라고 할 수 있으며 리눅스에서 사용가능한 거의 모든 종류의 파일시스템의 점검과 복구를 할 수 있는 명령어 입니다.


리눅스는 부팅단계에서 /etc/rc.d/rc.sysinit 스크립트에 내용에 따라 fsck 가 /etc/fstab파일을 참조하여 각 마운트된 (디스크)장치의 파일 시스템을 점검합니다. 그런데 점검도중 파일시스템이 에러 난 파티션이 있다면 부팅이 되지 않습니다.

이럴경우 Root 비밀번호 입력 후 (Repair filesystem):e2fsck /dev/sdb1 입력 및 리부팅 해주면 정상부팅이 됩니다.

Fsck 명령어를 사용하여 파일시스템을 점검할 때에는 파티션을 언마운트 후 실행해야 합니다. 
언마운트 하지않고 실행하면 파일시스템에 손상 갈 수 있습니다.



* fsck 명령어 사용 방법


# e2fsck -f /dev/sdb1 
-f : 파일시스템이 이상이 없더라도 강제적으로 파일 시스템을 점검 할 때 사용 

# e2fsck -j ext3 /dev/sda1 
-j : 저널링 파일 시스템을 대상으로 작업할때 사용 하는 옵션. 저널링 파일 시스템(보통 ext3)를 대상으로 작업할때 옵션이 아니라 필수 해줘야 하는 옵션 

# e2fsck -j ext3 -fv /dev/sda2 
-v : 점검내역 상세 보기(ext3의 파일 시스템으로 구성된 sda1파티션을 강제로 점검하면서 상세내역도 보는 명령) 

# e2fsck -b 98304 -p /dev/sda1 
-p : 오류 있는 파일 시스템의 자동 복구 

# e2fsck -b 98304 -y /dev/sdb1 
-y : 수행 과정의 질문에 모두 yes라 응답하는 옵션 

# e2fsck -b 98304 -n /dev/sdb1 
-n : 수행 과정의 질몬에 모두 no 로 응답하는 옵션 

# e2fsck -j ext3 -cv /dev/sda2 (/dev/sda2 파일 시스템내의 배드블록이 있다면 배드블록 아이노드에 마킹하는 작업)
-c : 점검 과정에서 찾게된 베드블록을 마킹하여 사용치 못하게 하는 옵션


위와 같은 많은 방법을 동원하여 복구 하려 해도 안될 때 백업 슈퍼 블록을 이용하여 파일 시스템을 복구할 수 있습니다.



# dumpe2fs /dev/sda1 | grep superblock     // 슈퍼 블록 위치 파악



# e2fsck -b 57345 -f -j ext3 -y /dev/sda1


sda1 파티션의 파일시스템을 4번째 슈퍼블록 복사본을 이용하여 강제로 복구 실행합니다.
모든 질문에 yes로 응답해 주시면 됩니다.