Mac OS X 및 Linux에서의 dd 성능


18

디스크 굽기를 피하기 위해 Windows Installer의 ISO를 하드 드라이브에 복사하려고했습니다. 디스크 유틸리티의 복원 기능을 먼저 시도했지만 어떤 이유로 ISO를 좋아하지 않았습니다. 그런 다음 dd를 사용해 보았습니다.

dd if=/path/to/image.iso of=/dev/disk3

파일이 달팽이 속도로 약 160KB / 초로 복사되고 있음을 깨달았습니다. 나는 리눅스 설치로 재부팅하고 명령을 다시 실행했다.

dd if=/path/to/image.iso of=/dev/sdc

이번에는 명령이 1 분 안에 실행되었으며 평균 속도는 57MB / 초입니다. 두 경우 모두 소스와 대상은 동일한 물리적 하드 드라이브였습니다. 무슨 일이야?

OSX 10.7.3 및 Linux 2.6.38-13을 실행 중입니다.


1
흠, 나는 리눅스 하나가 bs매개 변수 없이 느리게 갈 것으로 기대합니다 . dd리눅스 에서 설정을 위한 별칭이 alias있습니까 (프롬프트에 입력 )?
Paul

답변:


28

OS X의 경우을 사용하십시오 /dev/rdisk3.

어떤 이유로 rdisk보다 빠릅니다 disk. 버퍼와 관련이 있다고 생각합니다.

또한 일반적으로 bs플래그를 사용 dd하면 속도에 도움이됩니다.

dd if=/path/to/image.iso of=/dev/sdc bs=1M

바이트 크기는 1M이며 더 빠르게 전송됩니다. OS X에서는 1m대신 (소문자) 를 사용해야 1M합니다.


감사합니다 ! 나는 추가하는 것을 잊었다. bs=1m그리고 그것은 지옥만큼 느렸다!
LoremIpsum

4
OS X 에서 소문자 m 에 대한 의견은 생명의 은인이었습니다. 대단히 감사합니다!
Jonathan Komar

0

BSD 원시 디스크

BSD에는 일반적으로 2 개의 디스크 장치 유형이 있습니다 : bufferend 및 unbuffered (raw). 로부터 hdutil(1)매뉴얼 페이지

DEVICE SPECIAL FILES
     Since any /dev entry can be treated as a raw disk image, it is worth
     noting which devices can be accessed when and how.  /dev/rdisk nodes
     are character-special devices, but are "raw" in the BSD sense and
     force block-aligned I/O. They are closer to the physical disk than
     the buffer cache. /dev/disk nodes, on the other hand, are buffered
     block-special devices and are used primarily by the kernel's
     filesystem code.

     It is not possible to read from a /dev/disk node while a filesystem
     is mounted from it, ...

두 번째 단락으로 인해 "원시 모드"에서 디스크 를 사용할 수 있도록 디스크를 마운트 해제 해야합니다 dd.

dd 블록 크기

에서 dd(1)매뉴얼 페이지

     Where sizes are specified, a decimal, octal, or hexadecimal number of bytes
     is expected.  If the number ends with a ``b'', ``k'', ``m'', ``g'', or ``w'',
     the number is multiplied by 512, 1024 (1K), 1048576 (1M), 1073741824 (1G) or
     the number of bytes in an integer, respectively.  Two or more numbers may be
     separated by an ``x'' to indicate a product.

기본 블록 크기는 512 바이트입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.