dd는 블록의 절반을 복사합니까?

dd는 블록의 절반을 복사합니까?

저는 이 명령을 사용하여 하드 드라이브의 데이터를 덮어씁니다.

sudo dd if=/dev/zero of=/dev/sdc bs=10M status=progress conv=fsync

내 하드 드라이브 크기가 10M로 나누어지지 않으면 dd가 중단되거나 끝 부분을 덮어쓰게 됩니까?

예를 들어 크기가 10001M인 경우입니다. 마지막 1M을 다룰 것인가? 그 이하일지라도무의미한 말?

답변1

10MB 블록을 읽으려고 시도하지만, 읽기 시간이 더 짧은 경우에는 비슷한 짧은 블록을 쓰고 계속 진행합니다. 그러나 count=N읽고 쓰는 블록 수를 제한하는 데 사용하지 않는 한 모든 것을 복사합니다 .

예를 들어, 여기 출력은 0+2입력에 표시된 대로 전체 블록을 읽거나 쓰지 않았지만 2개의 부분 블록을 읽거나 썼으며 총 8바이트를 의미합니다.

$ (echo foo; sleep .3; echo bar) | dd bs=512 | wc -c
0+2 records in
0+2 records out
8 bytes copied, 0.301053 s, 0.0 kB/s
8

Linux의 디스크 파티션 장치에서는 읽기 및 쓰기의 블록 크기가 중요하지 않으므로 진행률 표시를 제외하고 직접 실행할 수 있습니다 cat < /dev/zero > /dev/sdc. 가능하다면 pv사용하세요 pv < /dev/zero > /dev/sdc.

dd여기에는 실제 동작 에 대한 많은 게시물이 있습니다 .

관련 정보