badblocks
저는 RPi를 부팅하는 데 사용한 32GB 클래스 10 microSD 카드를 테스트 하곤 했습니다 . 이미 작동 중인 파일 시스템이 있으므로 -w
옵션(파괴적인 읽기 및 쓰기 테스트)을 사용하여 스캔하고 싶지 않습니다.
두 가지 옵션이 있습니다. 기본 읽기 전용 테스트를 사용하거나 비파괴 읽기-쓰기 테스트(섹터를 백업하고 파괴적으로 테스트한 다음 섹터의 원래 내용을 복원하여 수행됨)를 사용할 수 있습니다.
테스트 유형을 선택할 때 무엇을 고려해야 합니까? 최대한 빨리 진행되길 바라지만, 정확한 결과도 필요합니다.
답변1
읽기 전용 테스트는 읽기 전용입니다. 이는 기본적으로 거의 모든 것에 대한 기본 테스트 방법이며 디스크가 SMART 자체 테스트되는 방식과 거의 같습니다.
비파괴 읽기 및 쓰기 테스트는 데이터를 덮어쓴 다음 확인 내용을 읽은 다음 원래 데이터를 다시 쓰는 방식으로 작동합니다. 작성된 데이터가 유효한지 확인하는 유일한 방법은 실제로 데이터를 쓰는 것이며, 읽기 전용 테스트로는 이를 수행할 수 없습니다.
읽기 테스트만 수행하는 사람들(대부분 쓰기 테스트에 최소 두 배의 시간이 걸리기 때문에)은 읽기가 작동하는 동안 쓰기(그리고 나중에 작성된 데이터를 읽을 수 있는 것)도 효과적일 수 있다는 좋은 의도를 가지고 있습니다.
그러나 비파괴는 상대적입니다... 결국 쓰기 자체로 인해 손상될 수 있으며(쓰기 주기가 제한된 미디어에서) 일단 손상되면 원본 데이터를 다시 쓸 수 있는 방법이 없으므로 테스트가 실패하더라도 -파괴적이므로 하드웨어에 오류가 발생하면 일부 추가 데이터가 손실될 수 있습니다.
따라서 복구하려는 미디어에 데이터가 있는 경우 불량 블록을 사용해서는 안 됩니다. 특히 문제가 발생할 것이라는 것을 이미 알고 있다면...아직 백업이 없다면 그렇게 하십시오 ddrescue
. 이는 읽기 전용 테스트이기도 하며 로그 파일은 오류 영역이 어디에 있는지 알려줍니다.