불행히도 때로는 하드 드라이브의 데이터 섹터가 손상될 수 있으며, 이 경우 해당 섹터(512 또는 4096바이트)에 기록된 데이터를 안정적으로 다시 읽을 수 없다는 의미입니다.
일반적으로 불량 섹터에 대해 알려주는 메시지를 받고 "글쎄, 데이터는 어차피 그다지 중요하지 않아"라고 스스로에게 말하면서 모든 것이 괜찮습니다.
그러나 내가 정말로 데이터를 원하고 읽을 수 없는 섹터가 너무 손상되어 데이터가 사용할 수 없을 정도로 손상되지 않았다고 가정한다면 데이터를 어떻게 얻을 수 있습니까(손상된 경우에도)?
제 생각에는 하드 드라이브에 다음과 같은 명령을 내릴 수 있는 도구일 hdparm
수도 smartclt
있습니다. "오류 검사의 성공 여부에 관계없이 해당 섹터의 내용을 알려주세요!"
그 순서는 무엇입니까?
고쳐 쓰다
이것 만 조사 man hdparm
해서 말했어요
--read-sector는
지정된 섹터 번호에서 읽고 16진수 내용을 표준 출력으로 덤프합니다. 이 옵션 뒤에는 섹터 번호(기본 10)가 제공되어야 합니다. hdparm은 지정된 섹터에 대해 낮은 수준의 읽기를 실행합니다(일반적인 블록 수준 읽기/쓰기 메커니즘을 완전히 우회). 이는 특정 섹터가 손상되었는지(미디어 오류) 명시적으로 확인하는 데 사용할 수 있습니다(일반적인 메커니즘을 통해 이 작업을 수행하면 때때로 잘못된 긍정이 생성됨).
이것이 실제로 하드 드라이브에 데이터를 제공하도록 지시하는 버전인지는 확실하지 않습니다.
이 질문에 대한 가능한 대답은 해당 프로토콜(예: (S/P)ATA, SCSI 등)이 강제 명령도 허용하지 않는다는 것입니다.
고쳐 쓰다
나는 있다고 생각한다. 4096바이트의 HDD에서 더 큰 섹터가 일부 손상이 있다는 이유만으로 완전히 쓸모없게 만들지 않는 일부 사용 사례가 있습니다. 예를 들어 저장된 데이터가 손상 방지 기능으로 압축된 경우(예: 일부 ECC가 데이터에 혼합된 경우) 여전히 "수정 가능"하므로 부정확하거나 손상된 데이터(하드 드라이브 펌웨어에서)를 반환하는 것이 좋습니다. 아니면 나를 위해.
사용자가 필요에 따라 데이터를 반환하지 않기로 결정하는 것보다 하드 드라이브가 더 좋아야 한다고 생각합니다.. (손상을 표시하고 정상적인 읽기를 방지하는 것은 괜찮지만 읽기를 비활성화하는 데에는 한계가 있습니다)
글쎄, 어쩌면 방법이 있을 수도 있겠네요!