본문 바로가기

리눅스

하드 디스크에 배드 블록의 존재 여부를 점검하기(badblocks)

728x90

하드 디스크에 배드 블록의 존재 여부를 점검하기(badblocks)

badblocks 명령어는 리눅스 시스템에서 하드 디스크의 배드 블록을 검사하고 식별하는 데 사용되는 유틸리티입니다. 이 도구를 사용하여 하드 디스크의 물리적인 문제를 검출하고 데이터 손실을 방지할 수 있습니다.

badblocks 명령어의 기본 구문과 주요 옵션

badblocks [옵션] [장치] [시작 블록] [끝 블록]
  • 옵션: badblocks 명령어의 동작을 제어하기 위한 여러 옵션을 지정합니다.
  • 장치: 검사하려는 디스크 또는 파티션의 경로를 지정합니다. 예를 들어, /dev/sda 또는 /dev/sda1과 같이 디스크 또는 파티션을 가리킵니다.
  • 시작 블록 및 끝 블록: 검사를 시작하고 종료할 블록 범위를 지정합니다. 일반적으로 전체 디스크를 검사하기 위해 지정하지 않습니다.
  • 주요 옵션
    • -b 또는 --block-size=<크기>: 검사할 블록의 크기를 바이트 단위로 지정합니다. 기본값은 1024 바이트입니다.
    • -c 또는 --count=<카운트>: 각 블록을 몇 번 검사할지를 지정합니다. 기본값은 4입니다.
    • -o 또는 --output=<파일>: 검사 결과를 파일로 저장합니다. 이 파일에는 발견된 배드 블록의 정보가 포함됩니다.
    • -v 또는 --verbose: 상세한 정보를 출력하고 진행 상황을 표시합니다.
    • -w 또는 --write: 검사 중에 디스크를 읽기-쓰기 모드로 사용하여 배드 블록을 식별하고 표시합니다.
    • -n 또는 --non-destructive: 읽기 전용 모드로 배드 블록을 검사합니다. 디스크에 데이터를 쓰지 않고 배드 블록을 확인할 수 있습니다.

badblocks 명령어는 주로 물리적인 문제를 가진 디스크를 검사할 때 사용되며, 데이터를 안전하게 백업한 후 사용하는 것이 좋습니다. 배드 블록 검사는 시스템이 사용 중인 디스크에서는 실행하지 않아야 하며, 디스크를 읽기 전용으로 마운트한 상태에서 실행해야 합니다.

728x90

사용 예시

1. 배드 블록 확인 (리포트 출력)

sudo badblocks -v /dev/sda6
$ badblocks -v /dev/sda6
Checking blocks 0 to 1566306
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found.

이 명령은 /dev/sda6 파티션에서 배드 블록을 확인하고 결과를 터미널에 출력합니다. -v 옵션은 상세한 정보를 출력하라는 것을 나타냅니다.

 

2. 배드 블록 확인 및 결과 저장

sudo badblocks -v -o badblock.txt /dev/sda2
$ badblocks -v -o badblock.txt /dev/sda2
Checking blocks 0 to 4096575
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found.

이 명령은 /dev/sda2 파티션에서 배드 블록을 확인하고 -o 옵션을 사용하여 결과를 badblock.txt 파일에 저장합니다. 이렇게 하면 나중에 결과를 검토할 수 있습니다.(배드블록이 있으면 inode 주소가 출력됨)

 

badblocks 명령은 디스크를 읽기 전용 모드로 마운트해야 하며, 시스템이 사용 중인 디스크의 경우 주의하여 실행해야 합니다. 배드 블록이 발견되면 해당 섹터를 사용하지 않도록 마운트 포인트를 조정하거나 디스크를 교체해야 할 수 있습니다.

 

728x90