손상된 파일 시스템이 아니라 디스크의 물리적 불량 블록에 대해 이야기한다고 가정합니다.
디스크의 물리적 상태를 확인하려면 설치하는 것이 가장 좋습니다 smartmontools
sudo apt-get install smartmontools
모든 최신 디스크는 SMART 라는 시스템을 사용하여 상태를 기록하기 때문에 작동합니다
smartctrl
이 상태를 읽으 려면 명령을 사용하십시오 . 예를 들어 첫 번째 디스크 호출에서 모든 속성을 읽으려면
sudo smartctl --all /dev/sda
전반적인 건강 상태에 대해 이야기하는 라인을 조심하십시오. 이 오류가 표시되면 디스크가 곧 고장날 가능성이 큽니다.
SMART overall-health self-assessment test result: PASSED
확인하려는 다른 행은 보류중인 섹터 수와 재 할당 된 섹터입니다.
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 48
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 2
재 할당 된 디스크는 일반적으로 원시 필드에 디스크가 작업 예비 섹터와 교환 한 불량 섹터 수를 나열합니다. 보류는 다음 쓰기가 실패 할 경우 재 할당 될 수있는 섹터입니다.
모델이 지원할 때 디스크 자체 테스트를 시작할 수도 있습니다
sudo smartctl -t long /dev/sda
모든 섹터를 강제로 확인하려면 badblocks
데이터가 기록되는 모드에서 사용하십시오 . 일반적으로 실행해도 안전하지만 디스크에 추가로드가 발생하여 디스크가 고장날 수 있습니다. 항상 데이터를 백업하십시오.
sudo badblocks -svvn -c 262144 /dev/sda
이 방법으로 디스크를 완전히 처리 한 경우 디스크 컨트롤러는 모든 불량 블록을 작업 블록으로 교체해야하며 SMART 로그에서 재 할당 된 수가 증가합니다.
-c
한 번에 테스트되는 블록 의 영향 또는 개수는 무엇입니까? 다시 말해 기본값 인 64에 비해 왜 그렇게 큰 값입니까?