하드 드라이브 복사

하드 드라이브 복사

하나의 하드 드라이브를 동일한 크기의 다른 하드 드라이브에 복사하고 싶습니다.

나는 간단하게 다음을 수행할 수 있다는 것을 알고 있습니다.

dd if=/dev/sda of=/dev/sdb

(또는 드라이브 이름이 무엇이든 /dev).

시각적 진행 상황을 보여줄 수 있는 더 좋은 도구가 있습니까? 30GB 드라이브만 사용하는 경우 30GB 또는 드라이브 용량을 전송하는 데 동일한 시간이 걸리나요?

답변1

ddGNU에게 진행 상황을 보여달라고 요청할 수 있습니다 - 인용문매뉴얼 페이지:

실행 중인 "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복사할 원시 파티션/디스크 수를 추가 할 수 있습니다 ( ifdd 명령에서). 매개변수를 입력하지 않으면 -s데이터가 이동하고 있음을 나타내는 이동 막대만 제공되지만 얼마나 이동하는지 알려주지는 않습니다.

물론 sudo필요하다면 추가할 수도 있습니다.

관련 정보