Linux에서 fsck 명령을 사용하는 방법

0
289

바이너리 코드가 위에 쓰여진 하드 디스크 드라이브.
Pixza 스튜디오/Shutterstock

우리의 모든 중요한 데이터는 한 가지 유형 또는 다른 유형의 파일 시스템에 저장되며 파일 시스템 문제는 반드시 발생합니다. Linux에서는 다음을 사용할 수 있습니다. fsck 파일 시스템 오류를 찾아 수정하는 명령입니다.

파일 시스템은 소프트웨어입니다

파일 시스템은 컴퓨터의 가장 중요한 구성 요소 중 하나입니다. 파일 시스템이 없으면 컴퓨터는 드라이브가 회전하는 기계 플래터이든 솔리드 스테이트 드라이브이든 관계없이 하드 드라이브에 데이터를 저장할 수 없습니다. 실제로 운영 체제를 하드 드라이브에 설치하려면 먼저 파일 시스템을 만들어야 합니다. 운영 체제 파일을 저장할 무언가가 있어야 합니다. 따라서 설치 과정에서 파일 시스템이 생성됩니다.

파일 시스템은 소프트웨어에 의해 생성되고 소프트웨어에 의해 쓰여지고 소프트웨어에 의해 읽힙니다. 아시다시피 모든 복잡한 소프트웨어에는 버그가 있습니다. 우리의 데이터는 우리에게 매우 중요하기 때문에 우리는 파일 시스템과 이를 생성하고 사용하는 소프트웨어를 신뢰하고 있습니다. 문제가 발생하면 파일 시스템의 일부 또는 전체 파티션에 액세스하지 못할 수 있습니다.

최신 저널링 파일 시스템은 갑작스러운 정전이나 시스템 충돌로 인해 발생할 수 있는 문제를 더 잘 처리합니다. 그들은 강력하지만 무적은 아닙니다. 내부 테이블이 스크램블되면 드라이브에서 각 파일이 있는 위치, 파일 크기, 이름 및 파일 권한이 설정되어 있는지 추적하지 못할 수 있습니다.

NS fsck 명령을 사용하면 파일 시스템이 정상인지 확인할 수 있습니다. 문제가 발견되면 일반적으로 문제를 해결할 수도 있습니다.

실행 전 확인 수행

사용 fsck sudo 권한이 필요합니다. 파일 시스템을 변경할 수 있는 모든 명령은 주의해서 다루어야 하며 자신이 하는 일을 아는 사람으로 제한해야 합니다.

광고

조종사는 항공기에 뛰어들어 시동을 걸고 옅은 파란색으로 날아가지 않습니다. 그들은 비행 전 검사를 합니다. 달리 하기에는 너무 많은 위험이 있습니다. 개발하는 좋은 습관입니다. 사용하기 전에 fsck 올바른 드라이브에서 사용할 것인지 확인해야 합니다. 그래서 어떤 일을 하기 전에 fsck, 우리는 약간의 정찰을 할 것입니다.

시작하겠습니다 fdisk 그리고 파이프로 less. 우리는 특정 파티션에 대한 정보를 요구하지 않습니다. 를 사용하여 -l (목록) 옵션 fdisk “/proc/partitions” 파일(있는 경우)에서 찾은 모든 장치의 파티션 테이블을 나열합니다.

sudo fdisk -l | less

에 대한 항목을 볼 수 있습니다. /dev/sda 그리고 /dev/sdb. 파일을 스크롤하여 컴퓨터에 있을 수 있는 다른 항목을 볼 수 있습니다.

터미널 창에서 출력 관찰

파티션 /dev/sda 다음과 같이 나열됩니다. /dev/sda1, /dev/sda2, 그리고 /dev/sda3 . 따라서 첫 번째 드라이브에 세 개의 파티션이 있습니다. 우리는 사용하여 조금 더 많은 정보를 볼 수 있습니다 parted 명령. 우리는 사용할 것입니다 'print' 터미널 창에 파티션 테이블을 표시하는 옵션입니다.

sudo parted /dev/sda 'print'

파티션 테이블에 대한 정보 얻기

이번에는 각 파티션의 파일 시스템 유형을 포함하여 몇 가지 추가 정보를 얻습니다.

Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sda: 34.4GB 
Sector size (logical/physical): 512B/512B 
Partition Table: gpt 
Disk Flags:

Number Start  End    Size    File system   Name                 Flags 
1      1049kB 2097kB 1049kB                                     bios_grub 
2      2097kB 540MB  538MB   fat32         EFI System Partition boot, esp 
3      540MB 34.4GB  33.8GB  ext4
광고

이 테스트 컴퓨터에는 세 개의 드라이브가 있습니다. 다음은 다른 두 드라이브에 대한 결과입니다. /dev/sdb 그리고 /dev/sdc. 이러한 파일 시스템에는 “이름” 필드가 없습니다.

sudo parted /dev/sdb 'print'
Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sdb: 21.5GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos 
Disk Flags:

Number Start  End    Size   Type     File system Flags 
1      1049kB 21.5GB 21.5GB primary  ext4
sudo parted /dev/sdc 'print'
Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sdc: 21.5GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos 
Disk Flags:

Number Start  End    Size   Type     File system Flags
1      1049kB 21.5GB 21.5GB primary  ext3

두 번째와 세 번째 드라이브는 크기가 같으며 각각에는 단일 파티션이 있습니다. 그러나 두 번째 드라이브의 파일 시스템은 ext4, 세 번째 드라이브의 파일 시스템이 이전 버전 ext3.

Linux 터미널에서 저장 장치를 마운트 및 마운트 해제하는 방법

관련된Linux 터미널에서 저장 장치를 마운트 및 마운트 해제하는 방법

파티션 식별자를 전달합니다. fsck, 해당 파티션의 파일 시스템을 확인합니다. 하지만 우리는 달릴 수 없다 fsck 마운트된 파일 시스템에서 드라이브를 마운트 해제해야 합니다. 그렇게 하려면 파티션(따라서 파일 시스템)이 마운트되는 마운트 지점을 알아야 합니다.

우리는 그것을 사용하여 쉽게 찾을 수 있습니다 df 명령.

df /dev/sdb1
df /dev/sdc1

fsck 명령 사용

필요한 모든 정보가 있습니다. 가장 먼저 할 일은 검사할 파일 시스템을 마운트 해제하는 것입니다. 우리는 첫 번째이자 유일한 파티션의 파일 시스템에 대해 작업할 것입니다. /dev/sdb, /dev/sdb1 . 우리는 이것이 ext4 파일 시스템이며 “/run/mount/dave/sata2″에 마운트됩니다.

우리는 사용할 것입니다 umount 명령. “umount”에는 “n”이 없습니다.

sudo umount /run/mount/dave/sata2

umount 명령을 사용하여 파일 시스템을 마운트 해제합니다.

광고

와 함께 umount, 소식이 없어도 좋은 소식입니다. 자동으로 명령 프롬프트로 돌아가면 작업을 계속할 수 있습니다.

sudo fsck /dev/sdb1

fsck 명령을 사용하여 파일 시스템의 상태를 확인하십시오.

이 파일 시스템은 깨끗한 것으로 보고됩니다. 이는 파일 시스템이 오류나 문제가 없다고 보고하고 있음을 의미합니다. 심층 파일 시스템 검사는 자동으로 수행되지 않습니다. 우리는 또한 반환 코드를 볼 수 있습니다 fsck 쉘로 돌아왔다.

echo $?

반환 값 0은 오류가 없음을 나타냅니다. 가능한 반환 코드는 다음과 같습니다.

  • 0: 오류 없음
  • 1: 파일 시스템 오류 수정
  • 2: 시스템을 재부팅해야 합니다.
  • 4: 수정되지 않은 파일 시스템 오류
  • 8: 작동 오류
  • 16: 사용 또는 구문 오류
  • 32: 사용자 요청에 의한 체크 취소
  • 128: 공유 라이브러리 오류

파일 시스템이 깨끗한 것으로 보고되었음에도 불구하고 다음을 사용하여 파일 시스템 검사를 강제로 수행할 수 있습니다. -f (강제) 옵션.

sudo fsck /dev/sdb1 -f

fsck 명령에서 force 옵션을 사용하여 파일 시스템 검사를 강제 실행합니다.

이번에는 검사를 완료하는 데 시간이 더 오래 걸리지만 파일 시스템에 대한 보다 철저한 테스트를 수행합니다. 우리 파일 시스템은 실제로 깨끗했으며 오류가 보고되지 않았습니다. 테스트를 수행하는 동안 문제가 발견되면 다음을 수행하라는 메시지가 표시됩니다. fsck 문제를 수정하거나 오류를 무시하십시오.

테스트가 끝나면 파일 시스템을 다시 마운트해야 합니다. 이를 수행하는 가장 쉬운 방법은 다음을 사용하는 것입니다. mount 이랑 -a (모두) 옵션. 이것은 “/etc/fstab”에서 파일 시스템 목록을 확인하고 일반 부팅을 따르는 것처럼 모두 마운트되었는지 확인합니다.

sudo mount -a

마운트 명령을 사용하여 파일 시스템 다시 마운트

어떤 Linux 파일 시스템을 사용해야 합니까?

관련된어떤 Linux 파일 시스템을 사용해야 합니까?

우리는 말할 필요가 없습니다 fsck 파티션에 있는 파일 시스템 유형 유틸리티는 파일 시스템을 검사하여 확인합니다. 즉, 파일 시스템 검사를 강제 실행할 수 있습니다. /dev/sdc1, NS ext3 우리가 사용한 것과 똑같은 명령을 사용하여 테스트 PC의 파일 시스템 /dev/sdb1, 이는 ext4 분할.

sudo fsck /dev/sdc1 -f

fsck 명령을 사용하여 파일 시스템 검사를 강제 실행합니다.

광고

파일 시스템 수정에 직접 뛰어들고 싶지 않을 수도 있습니다. 도약하기 전에 보는 것이 좋습니다. 당신은 물어볼 수 있습니다 fsck 아무 것도 수정하지 않고 터미널 창에 문제를 보고하기만 하면 됩니다. NS -N (테스트 실행) 옵션은 다음을 수행합니다.

sudo fsck -N /dev/sdb1

파일 시스템을 복구하기 전에 테스트 실행

그 반대는 말한다. fsck 오류가 발견되면 메시지를 표시하지 않고 계속 진행하여 수정합니다. 이렇게 하려면 다음을 사용하십시오. -y (프롬프트 없음) 옵션.

sudo fsck -y /dev/sdb1

루트 파티션에서 fsck 사용

당신은 사용할 수 없습니다 fsck 마운트된 파티션에 있지만 컴퓨터를 부팅하려면 루트 파티션이 마운트되어야 합니다. 그래서 우리는 어떻게 달릴 수 있습니까? fsck 루트 파티션에? 대답은 부팅 프로세스를 중단하고 실행하는 것입니다. fsck 복구 모드에서.

컴퓨터가 부팅되는 동안 “Shift” 키를 누르고 있습니다. 시간을 제대로 맞추면 Linux로 부팅되지 않습니다. 부팅 프로세스는 흑백 메뉴에서 중지됩니다. 이 기사에 사용된 테스트 머신은 Ubuntu를 실행했지만 다른 배포판에는 모양이 다를 수 있지만 동일한 유형의 메뉴가 있습니다. 스크린샷에서 “Ubuntu”라고 표시된 곳에 배포 이름이 표시됩니다.

고급 옵션 메뉴 항목이 선택된 복구 메뉴

“Ubuntu 고급 옵션” 메뉴 항목이 선택되도록 “위쪽 화살표” 및 “아래쪽 화살표” 키를 사용하여 강조 표시줄을 이동합니다. “Enter”를 눌러 다음 화면으로 이동합니다.

"복구 모드" 메뉴 항목이 선택된 복구 메뉴

광고

“(복구 모드)”로 끝나는 옵션을 선택하십시오. 이 예에서는 “Ubuntu, with Linux 5.11.0-20-generic(복구 모드)”입니다. “Enter” 키를 누르십시오.

복구 메뉴가 표시됩니다. “fsck check all file systems”를 선택하고 “Tab” 키를 눌러 강조 표시를 “OK” 버튼으로 이동합니다. 엔터 키를 치시오.”

fsck가 선택된 복구 메뉴

루트 파티션이 “/etc/fstab” 파일에 정의된 다른 파티션과 함께 마운트된다는 알림이 표시됩니다.

대화식 모드에서 fsck를 시작하려면 예를 선택하십시오.

“Tab” 키를 눌러 강조 표시를 “예” 버튼으로 이동하고 “Enter”를 누릅니다.

당신은 볼 수 fsck 대화형 모드에서 실행합니다. 문제가 있는 경우 허용하라는 메시지가 표시됩니다. fsck 수정하거나 무시합니다. 파일 시스템이 확인되면 복구 메뉴가 다시 표시됩니다.

“재개” 옵션을 선택하고 “Tab” 키를 눌러 강조 표시를 “확인” 버튼으로 이동한 다음 “Enter”를 누릅니다. 부팅 프로세스가 다시 시작되고 Linux로 부팅됩니다.

광고

복구 모드 부팅은 일부 드라이버에 영향을 줄 수 있으므로 Linux로 부팅하는 즉시 다시 한 번 재부팅하는 것이 좋습니다. 이렇게 하면 컴퓨터가 표준 방식으로 작동합니다.

일이 잘못될 때

안전망은 이유가 있습니다. 알아보기 fsck 명령. 언젠가 화가 나서 그것을 사용할 필요가 생긴다면 미리 익숙해지면 기쁠 것입니다.