하나의 하드 드라이브를 동일한 크기의 다른 하드 드라이브에 복사하고 싶습니다.
나는 간단하게 다음을 수행할 수 있다는 것을 알고 있습니다.
dd if=/dev/sda of=/dev/sdb
(또는 드라이브 이름이 무엇이든 /dev
).
시각적 진행 상황을 보여줄 수 있는 더 좋은 도구가 있습니까? 30GB 드라이브만 사용하는 경우 30GB 또는 드라이브 용량을 전송하는 데 동일한 시간이 걸리나요?
답변1
dd
GNU에게 진행 상황을 보여달라고 요청할 수 있습니다 - 인용문매뉴얼 페이지:
실행 중인 "dd" 프로세스에 USR1 신호를 보내 I/O 통계를 표준 오류로 인쇄한 다음 복제를 재개합니다.
$ dd if=/dev/zero of=/dev/null& pid=$!
$ kill -USR1 $pid; sleep 1; kill $pid
힐리 dd
(SDD)에는 유사한 옵션이 있으며 Ctrl+\
기본적으로 SIGQUIT( )를 사용합니다.
두 번째 질문에 대해서는 예, dd
모든 블록을 복사하면 됩니다(파일 시스템이 사용되는지 여부에 따라). DEVICE_CAPACITY/TRANSFER_RATE초가 걸립니다.
사용하지 않는 디스크 블록을 복사하지 않으려면 다음을 사용할 수 있습니다 tar
.
# cd /mnt/sda
# tar -c -f - . | tar -C /mnt/sdb -x -f -
GNU에는 tar
타이밍 옵션도 있습니다:
# tar -c -f - . --totals=SIGQUIT | tar -C /mnt/sdb -x -f - \
--totals --totals=SIGQUIT
Ctrl+\
따라서 적중 및 종료 시 읽기/쓰기 통계를 얻을 수 있습니다.
또 다른 가능성은 다음을 사용하는 것입니다.parted
또는gparted
파일 시스템 복사의 경우 - 충분한 지식이 있는 파일 시스템을 사용하여 효율적인 방식으로 수행되어야 합니다. 최소한 gparted
멋진 그래픽 진행 대화 상자가 표시되어야 합니다.
답변2
ddrescue /dev/sda /dev/sdb
어쩌면 오류를 지원하고 진행률 표시줄을 표시하는 데 사용할 수도 있습니다.
답변3
나는 이 pv
프로그램을 사용하는 것을 추천합니다(내가 알고 있는 모든 배포판의 저장소에 있습니다). 멋진 진행률 표시줄이 표시됩니다.
$dd if=/dev/sda |pv -s 80g |dd of=/dev/sdb
-s
복사할 원시 파티션/디스크 수를 추가 할 수 있습니다 ( if
dd 명령에서). 매개변수를 입력하지 않으면 -s
데이터가 이동하고 있음을 나타내는 이동 막대만 제공되지만 얼마나 이동하는지 알려주지는 않습니다.
물론 sudo
필요하다면 추가할 수도 있습니다.