위의 방법으로 ISO 파일을 생성하여 광 드라이브를 테스트하고 싶습니다.여기. 무작위 데이터로 가득 찬 ISO 파일을 생성하여 CD에 굽고 다시 읽어 원본 ISO와 비교할 수 있도록 하고 싶습니다. 나는 다음 명령이 내가 원하는 것을 할 것이라고 생각합니다.
dd if=/dev/urandom of=cd-rom_test.iso bs=2048 count=333000
그러나 몇 가지 사항에 대해서는 잘 모르겠습니다.
먼저, 블록 크기는 어떻게 되어야 합니까? ISO 이미지에 CD의 헤더와 오류 수정 데이터가 포함되어 있습니까? 블록 크기는 2048(헤더 및 오류 수정 없음)이어야 합니까, 아니면 2352(헤더 및 오류 수정 포함)여야 합니까?
둘째, 제가 접한 일부 사이트에는 옵션이 없습니다(예 sync
:conv
여기). 내가 아는 한, 헤더와 오류 수정 정보를 0으로 채웠는데 이는 확실히 잘못된 것입니다.
답변1
설명에 따라 다음을 수행해야 합니다.
dd if=/dev/urandom of=testfile bs=1M count=699
mkisofs -o test_cdrom.iso testfile
완료되면 원하는 대로 광 미디어를 읽고 쓸 수 있습니다.
제가 제안하고 싶은 한 가지는 광학 미디어를 사전 테스트한 다음 실제 ISO에 기록을 시도한 다음 대상 데이터 ISO를 한 번 기록하는지 확인하는 것입니다. 이렇게 하면 시도하려는 것과 정확히 동일한 결과를 얻을 수 있습니다. 없이 할 수 있다 달성하는 데 시간이 걸린다Write->Read->Verify->Format
답변2
파일에 쓰기를 사용하고 있으므로 dd
블록 크기는 결과 출력을 변경하지 않습니다. 블록 크기는 장치에 쓸 때만 중요합니다.
짧은 읽기를 결코 반환하지 않는 장치에서 읽고 있으므로 sync
블록을 채우는 데 사용할 필요가 없습니다.
어쨌든 dd
오류 수정 데이터에 대한 읽기 또는 쓰기 액세스는 없습니다 . 자기 미디어와 마찬가지로 드라이브는 이 데이터를 관리하며 사용자는 오류가 수정된 블록만 볼 수 있습니다.
답변3
임의의 바이트로 구성된 이미지를 생성하는 것은 분명히 잘못된 ISO 9660 파일 시스템을 초래하므로 좋은 생각이 아닙니다. 유효한 ISO 파일 시스템에 맞는 대용량 임의 파일을 생성해야 합니다. 그런 다음 이 ISO 이미지를 굽고 CD 내용을 읽어 하드 드라이브에 있는 원본 파일과 비교할 수 있습니다(예: md5sum
또는 ) sha1sum
. 체크섬이 동일하면 드라이브는 정상적으로 CD를 쓰고 읽을 수 있습니다.