최신 컴퓨터는 믿을 수 없을 정도로 안정적이지만 여전히 문제가 발생할 수 있습니다. 그리고 일반적으로 잘못될 수 있는 최악의 상황은 중요한 작업이든 소중한 사진이든 데이터 손실입니다.
강력한 백업 시스템과 함께 fsck (파일 시스템 검사)는 아마도 데이터 손실을 방지하기 위해 손에 넣을 수 있는 가장 중요한 도구일 것입니다. 이 튜토리얼은 fsck를 사용하여 Linux에서 파일 시스템 오류를 복구하는 방법을 설명하고 네 가지 일반적인 예를 보여줍니다.
fsck Linux 파일 시스템의 무결성을 확인하고 오류를 수정합니다.
구문
fsck Linux에서 사용하는 파일 시스템에 사용할 수 있는 여러 파일 시스템 검사기의 인터페이스이며 다음 구문을 사용합니다.
fsck [OPTIONS]... [FILESYSTEMS]...
참고:
- [OPTIONS]… 아래 표의 옵션 목록입니다.
- [FILESYSTEMS]는 검사/복구할 파일 시스템 목록입니다.
- 아닌 옵션 fsck에 의해 이해됨 검사 중인 특정 파일 시스템에 사용되는 특정 파일 시스템 검사기로 전달됩니다.
- 파일 시스템을 지정하지 않으면 fsck 기본적으로 /etc/fstab의 모든 파일 시스템을 검사합니다(즉, 기본적으로 -A 옵션)
옵션
fsck 몇 가지 옵션이 있습니다. 다음을 실행하여 전체 목록을 볼 수 있습니다.
man fsck
... 터미널에서. 다음은 가장 많이 사용해야 할 옵션에 대한 요약입니다.
다음은 fsck를 사용할 때 일반적으로 사용되는 옵션입니다. , 매뉴얼에서 바로 가져옴(단, 간결함을 위해 일부 수정함 - 더 자세한 사용법은 매뉴얼을 확인하십시오):
<일> | |
---|---|
-t | fslist 검사할 파일 시스템의 유형을 지정합니다. fslist 매개변수는 쉼표로 구분된 파일 시스템 및 옵션 지정자 목록입니다. 일반적으로 파일 시스템 유형은 /etc/fstab 파일에서 filesys를 검색하고 해당 항목을 사용하여 추론됩니다. |
-A | /etc/fstab 파일을 살펴보고 모든 파일 시스템을 한 번에 확인하십시오. 이 옵션은 일반적으로 단일 파일 시스템을 검사하기 위한 여러 명령 대신 /etc/rc 시스템 초기화 파일에서 사용됩니다. |
-M | 마운트된 파일 시스템을 확인하지 않고 마운트된 파일 시스템에 대해 종료 코드 0을 반환합니다. |
-N | 실행하지 말고 수행할 작업을 보여주십시오. |
-R | -A 플래그로 모든 파일 시스템을 검사할 때 루트 파일 시스템을 건너뜁니다(이미 읽기-쓰기로 마운트된 경우). |
-V | 실행되는 모든 파일 시스템별 명령을 포함하여 자세한 출력을 생성합니다. |
다른 파일 시스템별 fsck에 대한 옵션은 표준화되어 있지 않습니다. 확실하지 않은 경우 파일 시스템별 검사기의 매뉴얼 페이지를 참조하십시오. 보장되지는 않지만 대부분의 파일 시스템 검사기는 다음 옵션을 지원합니다.
<일> | |
---|---|
-a | 질문 없이 파일 시스템을 자동으로 복구합니다(이 옵션은 주의해서 사용). |
-n | 일부 파일 시스템 특정 검사기의 경우 -n 옵션을 사용하면 fs 특정 fsck가 문제 복구를 시도하지 않고 이러한 문제를 보고하기만 하면 됩니다. |
-r | 파일 시스템을 대화식으로 복구합니다(확인 요청). |
-y | 일부 파일 시스템 특정 검사기의 경우 -y 옵션을 사용하면 fs 특정 fsck가 항상 감지된 파일 시스템 손상을 자동으로 수정하려고 시도합니다. |
특정 파일 시스템의 특정 검사기에 사용할 수 있는 옵션을 보려면 다음을 실행하십시오.
man fsck.ext4
종료 코드
fsck에서 반환된 종료 코드는 다음 조건의 합계입니다. | <일>|
---|---|
0 | 오류 없음 |
1 | 파일 시스템 오류 수정 |
2 | 시스템을 재부팅해야 합니다. |
4 | 수정되지 않은 파일 시스템 오류 |
8 | 작동 오류 |
16 | 사용 또는 구문 오류 |
32 | 사용자 요청으로 Fsck가 취소됨 |
128 | 공유 라이브러리 오류 |
여러 파일 시스템이 검사될 때 반환되는 종료 코드는 검사되는 각 파일 시스템에 대한 종료 코드의 비트별 OR입니다. |
예시
다음은 fsck의 일반적인 사용 예입니다. – 루트 파일 시스템을 포함한 로컬 디스크 확인.
마운트 해제
사용 중인 파일 시스템을 확인할 수 없습니다. 파일 시스템이 손상되어 데이터가 손실될 수 있기 때문입니다. 파일 시스템을 마운트 해제하여 사용 중이 아니고 확인할 수 있도록 하려면 다음을 실행하십시오.
sudo umount /dev/filesystem
... 여기서 파일 시스템 마운트 해제할 파일 시스템의 이름입니다.
파일 시스템의 이름을 모르는 경우 다음을 실행하십시오.
df -h
... 파일 시스템 및 마운트 지점 목록을 가져옵니다.
재장착
확인 및 복구가 끝나면 다음을 사용하여 파일 시스템을 다시 마운트할 수 있습니다.
sudo mount /dev/filesystem
손상된 파일 시스템 검사 및 복구
sudo fsck -p /dev/filesystem
참고:
- 파일 시스템 검사 중인 파일 시스템의 이름이며 "sda1" 또는 "sdc1"과 유사합니다.
- -p 옵션은 fsck에 알려줍니다. 사용자 상호 작용이 자동으로 필요하지 않은 문제를 해결하기 위해
부팅 확인 / 루트 파일 시스템 확인
사용 중인 파일 시스템을 확인할 수 없으므로 Linux에서 시스템이 완전히 부팅되어 사용 중인 동안에는 루트 파일 시스템을 확인할 수 없습니다.
원격으로 시스템에 로그인한 경우에도 작동하므로 부팅 시 확인을 실행하는 것이 가장 좋은 방법입니다.
대부분의 Linux 배포는 기본적으로 fsck를 실행하도록 구성됩니다. 파일 시스템이 "dirty"(확인 필요)로 표시되거나 고정된 부팅 간격 후에 자동으로 표시됩니다.
각 시스템 부팅(루트 파일 시스템 포함)에서 특정 항목을 강제로 확인하려면 tune2fs를 사용하세요. 파일 시스템 매개변수를 조정하려면:
tune2fs -c 1 /dev/filesystem
파일 시스템 위치 검사할 파일 시스템의 이름입니다. 1 fsck의 부팅 수입니다. 다음에 실행됩니다. 기본값은 30입니다. Ubuntu 배포판에서 정상으로 되돌리려면 다음을 실행할 수 있습니다.
tune2fs -c 30 /dev/filesystem
이것이 작동하지 않으면 이전 배포판은 부팅 시 fsck를 실행합니다. /forcefsck 파일이 있습니다:
sudo touch /forcefsck
fsck 한 번 부팅 시 수행된 결과는 다음 위치에 기록됩니다.
/var/log/fsck
... 확인할 준비가 되었습니다.
시스템이 전혀 부팅되지 않을 정도로 손상된 경우 복구 디스크나 USB 스틱에서 부팅한 다음 fsck를 실행할 수 있습니다. 거기에서 확인하려는 루트 파일 시스템이 마운트되지 않습니다.
결론
자세한 내용은 fsck를 참조하세요. 실행하여 수동:
man fsck
터미널에서.
일반적인 Linux 셸 도구에 대한 다른 설명을 확인하세요.