기계적 인조 인간

리눅스에서 fsck 명령 (파일 시스템 복구)

EXT File System Recovery - SANS Digital Forensics and Incident Response Summit 2017

EXT File System Recovery - SANS Digital Forensics and Incident Response Summit 2017

차례:

Anonim

fsck (파일 시스템 검사)는 하나 이상의 Linux 파일 시스템에서 일관성 검사 및 대화식 복구를 수행 할 수있는 명령 줄 유틸리티입니다. 검사하는 파일 시스템 유형에 특정한 프로그램을 사용합니다.

시스템 부팅에 실패하거나 파티션을 마운트 할 수없는 경우 fsck 명령을 사용하여 손상된 파일 시스템을 복구 할 수 있습니다.

fsck 명령에 대해 이야기하겠습니다.

fsck 사용법

fsck 명령은 다음과 같은 일반적인 형식을 fsck .

fsck

sudo 권한을 가진 루트 또는 사용자 만 버퍼를 지울 수 있습니다.

FILESYSTEM 이 인수로 제공되지 않으면 fsck fstab 파일에 나열된 장치를 확인합니다.

파일 시스템을 손상시킬 수 있으므로 마운트 된 파티션에서 fsck 를 실행하지 마십시오. 파일 시스템을 점검하거나 복구하기 전에 항상 파일 시스템을 unmount 하십시오.

fsck 명령은 다양한 Linux 파일 시스템 검사기 ( fsck.* )의 래퍼이며 파일 시스템 유형에 따라 다른 옵션을 허용합니다.

특정 체커에 대한 자세한 내용은 매뉴얼 페이지를 확인하십시오. 예를 들어, fsck.ext4 사용 가능한 옵션을 보려면 다음을 입력하십시오.

man fsck.ext4

손상된 파일 시스템 복구

fsck 명령의 가장 간단한 사용 사례는 루트가 아닌 손상된 ext3 또는 ext4 파일 시스템을 복구하는 것입니다.

  1. 장치를 마운트 해제하십시오.

    sudo umount /dev/sdc1

    fsck 를 실행하여 파일 시스템을 복구하십시오.

    sudo fsck -p /dev/sdc1

    -p 옵션은 fsck 에게 사용자 개입없이 안전하게 해결할 수있는 모든 문제를 자동으로 복구하도록 지시합니다.

    파일 시스템이 복구되면 파티션을 마운트하십시오.

    sudo mount /dev/sdc1

루트 파일 시스템 복구

fsck 는 마운트 해제 할 수 없으므로 실행중인 시스템에서 루트 파일 시스템을 확인할 수 없습니다.

복구 모드에서 fsck 를 실행하려면 다음을 수행하십시오.

  1. 부팅 메뉴로 들어가서 고급 옵션을 선택하십시오. 복구 모드를 선택한 다음“fsck”를 선택하십시오. 루트 파일 시스템을 다시 마운트하라는 프롬프트가 표시되면“Yes”를 선택하십시오. 완료되면 정상 부팅을 다시 시작하십시오.

라이브 배포에서 fsck 를 실행하려면

  1. 라이브 배포를 부팅하십시오.

    fdisk 또는 parted 를 사용하여 루트 파티션 이름을 찾으십시오.

    터미널을 열고 다음을 실행하십시오.

    sudo fsck -p /dev/sda1

    완료되면 라이브 배포를 재부팅하고 시스템을 부팅하십시오.

부팅시 파일 시스템 확인

대부분의 Linux 배포에서 파일 시스템이 더티로 표시되거나 특정 수의 부팅 또는 시간 후에는 fsck 가 부팅시 실행됩니다.

현재 마운트 수, 점검 빈도 번호, 점검 간격 및 특정 파티션에 대한 마지막 점검 시간을 보려면 tune2fs 도구를 사용하십시오.

sudo tune2fs -l /dev/sdc1 | grep -i 'last checked\|mount count'

Mount count: 292 Maximum mount count: -1 Last checked: Tue Jul 24 11:10:07 2018 Check interval: 0 () Mount count: 292 Maximum mount count: -1 Last checked: Tue Jul 24 11:10:07 2018 Check interval: 0 ()

  • “Maximum mount count (최대 마운트 수)”는 파일 시스템을 검사 한 후의 마운트 수입니다. 0 또는 -1 값은 fsck 가 절대 실행되지 않음을 의미합니다.“체크 간격”은 두 파일 시스템 검사 사이의 최대 시간입니다.

예를 들어, 25 번의 부팅 (마운트)마다 fsck 를 실행하려면 다음을 입력하십시오.

sudo tune2fs -c 25 /dev/sdc1

두 검사 사이의 최대 시간을 설정할 수도 있습니다. 예를 들어, 한 달로 설정하려면 다음을 실행하십시오.

sudo tune2fs -i 1m /dev/sdc1

SystemD 배포에서 부팅시 fsck 를 강제로 실행하려면 다음 커널 부팅 매개 변수를 전달하십시오.

fsck.mode=force fsck.repair=yes

이전 배포판에서 /forcefsck 파일이 있으면 부팅시 fsck 가 실행됩니다.

sudo touch /forcefsck

fstab 옵션

fstab 은 시스템에 파티션을 마운트하는 방법과 위치를 알려주는 구성 파일입니다.

/etc/fstab 파일에는 다음 형식의 항목 목록이 있습니다.

/ etc / fstab

# /dev/sda1 / ext4 defaults 0 1 /dev/sda2 /home ext4 defaults 0 2 server:/dir /media/nfs nfs defaults 0 0

마지막 6 번째 열 ( )는 재부팅시 파일 시스템 검사가 수행되는 순서를 제어하는 ​​옵션입니다.

  • 0 확인하지 마십시오. 1 한 번에 하나씩 파일 시스템을 점검합니다. 2 다른 모든 파일 시스템은 나중에 병렬로 점검됩니다.

루트 파일 시스템의 값은 1 이어야하고 검사하려는 다른 모든 파일 시스템의 값은 2 여야합니다.

결론

fsck 는 Linux 파일 시스템을 확인하고 선택적으로 복구하기위한 명령 줄 도구입니다.

fsck 명령에 대한 자세한 내용을 보려면 fsck 매뉴얼 페이지를 방문하거나 터미널에 man fsck 를 입력하십시오.

fsck 터미널