두 Mac 사이에서 디스크를 복제하는 가장 좋은 방법은 무엇입니까? 나는 몇 년마다 이것을 물어보고 같은 대답을 얻을 때마다. ” 탄소 복사 클로 너 사용 “이라고 그들은 말합니다. 그러나 불행한 사실은 CCC가 디스크 간의 파일 수준 복사본이라는 것입니다. 새 Mac으로 마이그레이션 할 때 모든 파일이 있는지 확인해야하지만 여기 저기 (파일 날짜가 다른 등)에 문제가 있습니다.
자, 이제 다시 한번, 바이트 단위로 디스크를 어떻게 복제합니까?
답변
당신은 사용할 수 있습니다 DD의 드라이브의 비트 완벽한 복제품을 만들 명령을 사용합니다. OS X와 함께 제공되는 명령 줄 도구입니다. 클론을 완벽하게 만들려면 소스와 대상이 활발하게 사용되고 있지 않은지 확인해야합니다.
클론을 준비하려면 부팅 할 수있는 보조 부팅 디스크를 만드는 것이 좋습니다. 복제본을 만들 때 복제본의 소스는 사용하지 않는 오프라인 볼륨이어야합니다. 그렇지 않으면 불완전한 상태의 디스크를 디스크에 복사 할 위험이 있습니다.
컴퓨터가 보조 부팅 디스크로 부팅 된 상태에서 로그인하여 터미널 또는 iTerm 창을 시작하십시오.
사용 가능한 드라이브 목록을 보려면 diskutil 을 실행하십시오 . 그중 하나는 복제하려는 대상 드라이브입니다. 다른 하나는 소스 드라이브입니다. 예를 들면 다음과 같습니다.
> diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *320.1 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 319.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk1
1: EFI 209.7 MB disk1s1
2: Apple_HFS Backup 499.8 GB disk1s2
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk2
1: EFI 209.7 MB disk2s1
2: Apple_HFS Clone 499.8 GB disk2s2
그것이 Macintosh HD
소스이며 Clone
우리 dd
작업 의 목표 라고 가정 해 봅시다 . 다음을 사용하여 복제를 시작하십시오.
> sudo dd if=/dev/rdisk0 of=/dev/rdisk2 bs=1m conv=noerror,sync
dd
완료 되면 다음과 같은 오류가 표시 될 수 있습니다.
dd: /dev/rdisk2: short write on character device
dd: /dev/rdisk2: Input/output error
3726+1 records in
3726+1 records out
500107862016 bytes transferred in 14584.393113 secs (34290619 bytes/sec)
마지막 오류 메시지는 실제로 괜찮습니다. 복사 할 전체 1MB 블록이 없기 때문에 마지막으로 작성된 블록은 짧은 블록이었습니다. 걱정 마.
이제 Macintosh HD
드라이브를 비트 단위로 완벽하게 복제했습니다 . Macintosh HD
드라이브를 사용하여 시스템을 재부팅 하고 클론을 즐기십시오!
답변
디스크 복제를 수행하는 Apple의 맞춤형 명령 줄 유틸리티는 asr
입니다.
OS X의 특정 요구 사항에 맞게 파일 단위로 파일을 수행하고 블록 기반 이미징을 수행하고 파티션 크기의 차이를 처리하고 네트워크 스트리밍 (및 멀티 캐스트 스트리밍)을 허용하며 로컬로 연결된 디스크간에 복사 할 수 있습니다. 와 달리 dd
Apple의 최신 Core Storage 볼륨 관리에 대해 알고 있으며 그래픽 디스크 유틸리티가 한 파티션 또는 볼륨에서 다른 파티션으로 데이터를 이동하기 위해 호출하는 프로그램입니다.
답변
디스크 유틸리티는 복원 탭을 사용하여 볼륨 간 복제를 수행 할 수 있습니다. 두 Mac OS 확장 볼륨 사이에서 블록 복사를 수행합니다. 즉, 볼륨 구조 만 복사하므로 모든 파일이 동일하게 나타납니다 (파일 ID 번호까지). 이 같은 일이 본질적으로 dd
, 대상이 정확히 원본과 같은 크기가 아닌 경우 디스크 유틸리티가 계약을 / 볼륨을 확장 할 수 있다는 점을 제외 않으며, 그것은 (어떤 이유로 훨씬 더 빠른 dd
OS X에 매우 느리다).
편집 : / dev / rdiskN 대 / dev / diskN을 사용하는 속도에 대한 @Ian의 메모를 본 후 두 개의 4GB 플래시 드라이브간에 복사하는 빠르고 빠른 벤치 마크를 실행했습니다.
dd using /dev/diskN: 2737 seconds
dd using /dev/rdiskN: 907 seconds
Disk Util, full volume: 840 seconds to copy + 213 seconds to verify
Disk Util, empty volume: 4 seconds to copy + 1 second to verify
따라서 rdisk 제안은 dd를 디스크 유틸리티와 동일한 속도로 실행하는 것처럼 보입니다. 실제 차이점은 디스크 유틸리티가 데이터를 확인하고 (느리지 만 더 안전 할 수 있음) 빈 공간을 건너 뜁니다 (디스크가 거의 가득 차지 않은 경우 더 빠름). 즉, 위에서 말했듯이 DU는 복사 할 때 크기를 조정할 수 있습니다.
답변
에서 상세 출력 dd
경유pv
작은 디스크라도 복사하는 데 시간이 오래 걸리고 침묵이 좌절 될 수 있습니다. pv (파이프 뷰어) 를 설치 하면이를 사용하여 모든 스트림의 진행 상황을 모니터링 할 수 있습니다.
homebrew 를 사용 하고 있고 설치해야하는 경우 다음 과 pv
같이 쉽습니다.
brew install pv
그런 다음 복사 할 디스크를 결정하십시오.
diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage SSD 250.1 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: SSD +249.8 GB disk1
Logical Volume on disk0s2
2CFBB247-D59D-474F-8467-2B1BDB275524
Unencrypted
/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.6 GB disk2
1: Windows_FAT_32 boot 43.0 MB disk2s1
2: Linux 15.5 GB disk2s2
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.6 GB disk3
1: Windows_FAT_32 NO NAME 15.6 GB disk3s1
이 경우 /dev/disk2
내부 리더에있는 Raspberry Pi의 Micro SD 카드 /dev/disk3
이며 USB 동글의 새로운 MicroSD입니다.
복사 dd
명령은 of
(출력 파일)의 기본값이 STDOUT이고 if
(입력 파일)의 기본값이 STDIN 이라는 사실을 이용한다는 점을 제외하고는 일반 명령 과 매우 유사합니다 . 이를 통해 사이에 유닉스 파이프 를 사용할 수 있습니다 .
# I'm going to define variables to make your copy-paste easier
SRC=/dev/rdisk2
DST=/dev/rdisk3
# This is the command you want
sudo dd bs=1m if=$SRC | pv | sudo dd bs=1m of=$DST
# Notice how similar this is to doing a simple
sudo dd bs=1m if=$SRC | sudo dd bs=1m of=$DST
# ...which is functionally identical to
sudo dd bs=1m if=$SRC of=$DST
# (except 2 processes vs. 1)
실제 출력은 다음과 같습니다.
dd bs=1m if=/dev/zero count=16000 | pv | dd bs=1m of=/dev/null
16GiB 0:00:06 [2.46GiB/s] [ <=> ]
답변
Carbon copy cloner는 좋았지 만 Mac Pro에서는 더 이상 부팅 가능한 클론을 만들지 않았으며 3 번 시도했지만 이전과 달리 모든 클론이 부팅되지 않았습니다. 그래서 SuperDuper로 전환했습니다! 그리고 그 클론은 잘 부팅
답변
답변
Mac 드라이브 복제에는 두 가지 유형이 있습니다. 파일 레벨 및 블록 레벨 기반 복제. 우리가 알다시피 카본 카피 클론은 파일 레벨 기반 클론 만 생성 할 수 있으며, 경쟁 업체 인 Superduper는 볼륨의 클론을 생성하고 전체 디스크 만이 아닌 파티션을 생성 할 수 있습니다. 따라서 파일 수준 및 블록 수준 복제가 가능한 Stellar Drive Clone 인 새로운 Mac 복제 소프트웨어를 제안합니다.
외부 드라이브, 볼륨 및 네트워크 드라이브에 전체 드라이브와 특정 볼륨의 비트 단위로 정확한 사본을 만들 수 있습니다. 무료 데모 버전 기능으로 폴더에 드라이브 복제본을 생성하고 백업을 복원 할 수 있습니다. 그것은 복구 HD의 복제본을 생성하고 Mac에서 창 파일 형식, MBR, ExFAT, FAT32 등을 지원할 수 있습니다.