디스크 굽기를 피하기 위해 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을 실행 중입니다.
답변
OS X의 경우을 사용하십시오 /dev/rdisk3
.
어떤 이유로 rdisk
보다 빠릅니다 disk
. 버퍼와 관련이 있다고 생각합니다.
또한 일반적으로 bs
플래그를 사용 dd
하면 속도에 도움이됩니다.
dd if=/path/to/image.iso of=/dev/sdc bs=1M
바이트 크기는 1M이며 더 빠르게 전송됩니다. OS X에서는 1m
대신 (소문자) 를 사용해야 1M
합니다.
답변
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 바이트입니다.