쓰기 불가능한 섹터로 하드 드라이브를 지우는 방법은 무엇입니까?


21

그래서 고장난 하드 드라이브가 있습니다. 교체를 위해 보내기 전에 데이터를 지우고 싶습니다. 을 사용하려고하는데 dd if=/dev/zero of=/dev/sdXX첫 번째 쓰기 오류에서 멈 춥니 다. 쓰기 오류를 무시하고 드라이브를 0으로 덮어 쓰려면 어떻게해야합니까? conv=noerror입력 파일에만 영향을 미치는 것 같습니다.


데비안 데이터베이스에 버그 리포트 이 문제에 대한,하지만 아직 구현되지 않은 것처럼 보인다.
Bobby

않는다 badblocks또한 오류를 중지? 아마도 당신은 그걸로 파괴적인 글을 쓸 수 있습니까?
oKtosiTe

또한 badblocks월요일에 디스크를 반환하기 전에 얼마나 많은 불량 블록이 있는지 확인하기 위해 파괴적 이었습니다. 또한 디스크를 성공적으로 지 웠지만 거의 50 시간이 걸렸습니다.
TestUser16418

답변:


18

dd 대신 ddrescue를 시도하십시오-오류로 더 열심히 노력합니다.


1
ddrescue가 쓰기 오류를 무시하고 전체 디스크를 성공적으로 지 웠습니다. 대단히 감사합니다.
TestUser16418

15

ddrescue와 함께 사용하여 드라이브를 지우고 /dev/sdb(0에서 채워짐 /dev/zero) 출력을 파일에 기록 하는 매개 변수 log.txt:

ddrescue --force /dev/zero /dev/sdb log.txt

무작위 데이터를 사용하여 지우려면 : ddrescue --force / dev / urandom / dev / sdX tmp.log
Bastion

언제 완료되었는지 어떻게 알 수 있습니까? 나는 그것을하고 약 20 분 동안 달리게하고 0.00 %의 구조로 남아있었습니다. 내가 지우려고하는 불량 블록이있는 NVMe SSD입니다 ... 삼성 보안 지우기 유틸리티가 작동하지 않았습니다.
user1960364

3

드라이브를 지우려면 dban을 사용해보십시오 .

사이트에서 :

Darik 's Boot and Nuke ( "DBAN")는 대부분의 컴퓨터의 하드 디스크를 안전하게 지우는 독립형 부팅 디스크입니다. DBAN은 감지 할 수있는 하드 디스크의 내용을 자동으로 완전히 삭제하므로 대량 또는 긴급 데이터 삭제에 적합한 유틸리티가됩니다.


나는 이것을 제안하려고했다.
qroberts

3

레코드의 경우 dd에는 conv=noerror오류를 건너 뛰는 옵션도 있습니다. 입력 파일에 오류가 있고를 사용 하지 않는 경우 입력 파일에 오류가있는 경우 dd가 출력 파일을 자르지 못하게 하거나 /dev/zero사용 하지 않으려 고 합니다.conv=noerror,notruncconv=noerror,sync

쿼리의 경우이 명령을 대신 시도해보십시오.

dd if=/dev/zero of=/dev/sdXX conv=noerror  

프로세스 속도를 높이고 중간 단계에서 드라이브가 죽는 것을 방지하려면 바이트 크기를 기본 512 (dd는 섹터 단위로 느리게 읽음)에서 4K ( 8 배나 큽니다) :

dd if=/dev/zero of=/dev/sdXX bs=4K conv=noerror  

참고 : 바이트 크기가 더 크면 건너 뛴 오류로 인해 읽을 수있는 데이터 섹션이 선택한 바이트 크기보다 약간 작게 남을 수 있지만 전체 디스크가 실행 된 후에도 해당 섹션에서 아무 것도 얻을 수 없을 것입니다. 방법.

또한 덮어 쓰기 프로세스를 완전히 완료하기 전에 드라이브가 고장 나면 하드 드라이브 제조업체에서 보증 교체를 위해 반환 된 하드 드라이브를 올바르게 폐기해야합니다.


man dd"noerror"는 "읽기 오류 후 계속"을 의미합니다.
Kevin Smyth

1

확실히 파워 유저 솔루션은 아니지만 쓰기 오류가 드문 경우 발생 후 수동으로 계속 진행할 수 있습니다.

이론적으로 자동으로 수행 할 수있는 스크립트를 작성할 수는 있지만 사소한 것은 아니며 스크립팅 dd를 사용하는 것보다 트릭을 수행하는 도구를 작성하려고합니다.

   seek=BLOCKS
          skip BLOCKS obs-sized blocks at start of output

1
... 또는 dd-rescue 사용 ...
Antti Haapala

... dd-rescue가 쓰기 오류를 올바르게 처리 합니까?
qdot
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.