'Verify Disc'는 실제로 데이터를 확인하기 위해 굽기 작업 후에 실제로 무엇을합니까?
'디스크 확인'기능은 신선하게 구워진 디스크가 잘 나오는지 확인하는 데 유용하지만 정확히 어떻게 작동합니까? 오늘의 수퍼 유저 Q & A 게시물에는 궁금한 독자의 질문에 대한 답변이 있습니다..
오늘의 질문 및 답변 세션은 Q & A 웹 사이트의 커뮤니티 중심 그룹 인 Stack Exchange의 하위 부문 인 수퍼 유저의 도움으로 이루어졌습니다..
사진 제공 : cobalt123 (Flickr).
질문
수퍼 유저 리더 user1301428은 디스크를 구운 후에 디스크 확인 방법을 알고 싶어합니다.
실제로 레코딩 한 후 디스크 확인이 실제로 데이터를 확인하는 것은 무엇입니까? 원본 파일과 디스크에서 구운 파일을 비교 한 것 같지만 아무도 정말 낮은 수준에서 어떻게 수행되는지 알지 못합니다.?
소스와 대상 콘텐츠의 해시를 만든 다음 비교합니다. 그렇다면 RAM에 구워진 콘텐츠의 해시를 저장합니까? 아니면 하드 드라이브의 임시 파일에 저장합니까? 무슨 일이 일어나고 있는지에 대한 로그 파일이 있습니까??
이 기능이 어떻게 작동하는지 정확하게 알고 싶을뿐입니다. 그리고 저는 Windows Image Burner를 언급하고 있습니다..
디스크 검증 프로세스는 어떻게 작동합니까??
대답
수퍼 유저 기고 가인 Frank Thomas와 Synetech가 답변 해줍니다. 먼저, 프랭크 토마스 :
IBurnVerification 인터페이스 및 IMAPI_BURN_VERIFICATION_LEVEL enum에 대한 Windows API에서 이러한 MSDN 페이지를 확인하십시오..
데이터 디스크의 경우 퀵 모드처럼 전체 디스크, 섹터 중 일부를 체크섬하지 않습니다. 그런 다음 API가 READ_DISC_INFO를 호출하고 READ_TRACK_INFO가 새 디스크에 대해 성공하는지 확인합니다.
전체 확인을 위해 위의 검사를 수행 한 다음 레코딩 할 메모리 스트림에서 계산 된 체크섬과 새 디스크의 마지막 세션에 대한 전체 체크섬을 수행합니다. 체크섬은 램에 저장해야하지만, 유효 기간은 짧습니다. 비교는 원본 미디어 자체가 아니라 RAM의 디스크 이미지와 비교되므로 원본 데이터가 올바르게 읽히지 않으면 잘못 기록됩니다. 인증에서이를 감지하지 못합니다..
음악 디스크의 경우 READ_TRACK_INFO 및 디스크 목차를 확인하는 데 주력하지만 체크섬 계산은 수행하지 않습니다. 음악에 대한 전체 확인 모드가 없습니다..
Synetech의 답이 뒤따 랐습니다.
Frank는 Windows 관련 검증을 잘 설명했습니다. 나는 좀 더 일반적인 답을 줄 것이다..
- 굽기 작업 후 디스크 확인 작업이 실제로 데이터를 확인하기 위해 수행하는 작업?
- 소스와 대상 콘텐츠의 해시를 만든 다음 비교합니다. 그렇다면 RAM에 구워진 콘텐츠의 해시를 저장합니까? 아니면 하드 드라이브의 임시 파일에 저장합니까? 무슨 일이 일어나고 있는지에 대한 로그 파일이 있습니까??
이것은 분명히 비교가 구현 될 수있는 한 가지 방법입니다. 한 파일을 해쉬하고 (충돌 알고리즘을 충분히 읽을 수있을만큼 충분히 읽을 가능성이 있음), 다른 하나를 반복하고 해시를 비교하십시오. 그것이 검증이 구현되는 방법이라면 잠시 동안 드라이브 LED 플래시를 볼 수 있고 잠시 동안 CD / DVD-LED 플래시를 볼 수 있습니다.
확인을 구현하는 또 다른 방법은 한 파일 블록을 읽은 다음 다른 파일에서 같은 블록을 읽고 비교 한 다음 파일 끝에 도달 할 때까지 반복하는 것입니다. 이 경우 두 드라이브의 LED가 앞뒤로 교대로 표시됩니다.
물론 하드 드라이브 및 광학 드라이브에 LED가 없으면 분명하지 않습니다. 그러나 ProcessMonitor와 같은 것으로 계속 볼 수 있습니다. 그 이유는 하나의 일련의 읽기를 기록한 다음 다른 하나를 단일의 큰 버스트 또는 번갈아 작은 버스트로 기록하기 때문입니다.
- 원본 파일과 디스크에서 구운 파일을 비교 한 것 같지만 아무도 정말 낮은 수준에서 어떻게 수행되는지 알지 못합니다.?
사실, 비교 기능이 메모리 캐시 대신 실제 디스크에서 데이터를 읽도록 드라이브 캐시를 플러시하는 것이 전부입니다. 분명히 이것은 중요한 단계입니다. 왜냐하면 검증이 캐시에서 수행되면 실제로 디스크에있는 것을 나타내지 않으므로 손상이 쉽게 통과 할 수 있기 때문입니다.
비교가 드라이브에서 수행되었는지 아니면 RAM에서 얼마나 빨리 수행되는지 비교하여 볼 수 있습니다. 간단한 비교 (예 : WinDiff, WinMerge 또는 해시 도구로 해싱)를 수동으로 수행하면 메모리 캐시에서 파일을 읽고 있기 때문에 예상보다 훨씬 빨리 비교가 이루어집니다. 캐시를 플러시하여 실제 디스크에서 강제로 읽어야합니다. 광학 드라이브 (및 플래시 드라이브 및 메모리 카드와 같은 다른 이동식 미디어)의 경우 간단히 드라이브를 꺼내면 캐시를 비울 수 있지만 하드 드라이브의 경우 거의 간단하지 않습니다 (일반적으로 새 복사본은 테스트하려는 복사본 임).
설명에 추가 할 것이 있습니까? 의견에서 소리가 나지. 다른 기술에 정통한 Stack Exchange 사용자의 답변을 더 읽고 싶습니까? 전체 토론 스레드를 여기에서 확인하십시오..