Cách tốt nhất để sao chép một đĩa giữa hai máy Mac là gì?


25

Cách tốt nhất để sao chép một đĩa giữa hai máy Mac là gì? Tôi hỏi điều này vài năm một lần và mỗi lần tôi nhận được cùng một câu trả lời. "Sử dụng Cloner Carbon Copy ", họ nói. Nhưng điều không may là CCC là bản sao cấp độ tệp giữa các đĩa. Khi tôi di chuyển sang máy Mac mới của mình, chắc chắn tất cả các tệp đều ở đó nhưng có các quirks ở đây và ở đó (bao gồm cả ngày của tệp là khác nhau, v.v.).

Vì vậy, thực sự bây giờ, một lần nữa: làm thế nào để bạn sao chép đĩa qua byte-byte?

Câu trả lời:


44

Bạn có thể sử dụng lệnh dd để tạo một bản sao hoàn hảo của một ổ đĩa. Đây là một công cụ dòng lệnh đi kèm với OS X. Để làm cho bản sao hoàn hảo, bạn sẽ cần đảm bảo nguồn và đích không được sử dụng tích cực.

Để chuẩn bị cho bản sao, tôi khuyên bạn nên tạo một đĩa khởi động thứ cấp mà bạn có thể khởi động từ đó. Nguồn của bạn cho bản sao phải là một khối ngoại tuyến, không được sử dụng, khi bạn tạo bản sao. Nếu không, bạn có nguy cơ sao chép những thứ ở trạng thái không đầy đủ trên đĩa.

Khi máy của bạn được khởi động vào đĩa khởi động thứ cấp, hãy đăng nhập và kích hoạt cửa sổ Terminal hoặc iTerm.

Chạy đĩautil để có danh sách các ổ đĩa có sẵn của bạn. Một trong số chúng sẽ là ổ đĩa mục tiêu của bạn, bạn đang cố gắng sao chép. Cái còn lại sẽ là ổ đĩa nguồn của bạn. Ví dụ:

> 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

Hãy nói rằng đó Macintosh HDlà nguồn và Clonelà mục tiêu cho ddhoạt động của chúng tôi . Bắt đầu nhân bản với:

> sudo dd if=/dev/rdisk0 of=/dev/rdisk2 bs=1m conv=noerror,sync

Khi ddkết thúc, bạn có thể thấy một lỗi như thế này:

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)

Đó là thông báo lỗi cuối cùng là thực sự ổn. Khối cuối cùng được viết là một khối ngắn vì không có khối 1 MB đầy đủ để sao chép. Đừng lo lắng.

Bây giờ bạn đã có một bản sao hoàn hảo khôn ngoan của Macintosh HDổ đĩa của bạn . Khởi động lại hệ thống của bạn bằng cách sử dụng Macintosh HDổ đĩa và tận hưởng bản sao của bạn!


4
rdisk # bỏ qua bộ đệm hệ điều hành 4KB. Thêm thông tin. Tôi khuyên bạn nên chọn một cái nhỏ hơn bs, vì trên 1m thực sự làm cho nó chậm hơn. (. Ít nhất qua USB Tôi không thể nói nếu nó là một ổ đĩa USB bên ngoài hoặc kết nối SATA trực tiếp.)
Nick Odell

2
Có thể đáng để thử nghiệm một chút với cài đặt bs. Tôi đã tăng đáng kể thông lượng (gần gấp đôi) bằng cách giảm kích thước từ bs = 1m xuống bs = 65536.
Jens Wegar

1
@JensWegar Tôi tự hỏi liệu có cách nào để biết kích thước khối tốt nhất để cung cấp ddcho một lần chuyển nhất định mà không cần phải tin tưởng vào các tìm kiếm trên internet hoặc thực hiện chạy lỗi không?
Ian C.

2
@IanC. Tôi đọc được ở đâu đó rằng kích thước khối của ổ cứng có thể được sử dụng như một chỉ báo về kích thước lý tưởng để cung cấp dd. Mặt khác, một nguồn tin khác cho biết không có cách chứng minh đạn nào để tìm ra kích thước tối ưu. Vì vậy, không thể đưa ra bất kỳ lời khuyên thực sự ở đó. Tuy nhiên, nó không mất quá nhiều thời gian để thử nghiệm. Có lẽ giá trị lý tưởng là hệ số 2, vì vậy tôi bắt đầu với 4096, sau đó là 8192, 16384, v.v. Bạn sẽ tìm thấy đỉnh khá nhanh theo cách này.
Jens Wegar

1
@ user3.1415927 bạn có thể sử dụng status=progresstùy chọn ddđể xem tiến trình và tốc độ truyền. Sau đó, bạn có thể hủy bỏ CRTL+Cvà thử với một giá trị khác chobs
Wlad

14

Tiện ích dòng lệnh bespoke của Apple để sao chép đĩa là asr.

Nó được điều chỉnh theo các đặc điểm cụ thể của OS X để thực hiện tệp theo tệp cũng như hình ảnh dựa trên khối và xử lý các khác biệt về kích thước phân vùng, cho phép truyền phát mạng (và thậm chí phát đa hướng) cũng như sao chép giữa các đĩa được kết nối cục bộ. Không giống như dd, nó biết về quản lý âm lượng Core Storage mới nhất của Apple và là chương trình mà Disk Utility đồ họa gọi để di chuyển dữ liệu từ một phân vùng hoặc ổ đĩa khác.

Bạn có thể đọc thêm tại trang hướng dẫn cho asr .


2
Lưu ý rằng đó asrlà cùng một công cụ mà tab Khôi phục của Disk Utility sử dụng (xem câu trả lời của tôi). Giao diện dòng lệnh có các tùy chọn bổ sung mà giao diện GUI bỏ qua, chẳng hạn như chuyển đổi giữa các định dạng HFS + (không phân biệt chữ hoa chữ thường) và HFSX (phân biệt chữ hoa chữ thường) và đặt bản sao vào nhóm khối Lưu trữ lõi. Nhưng nó có thể khó sử dụng hơn cho những người không quen sử dụng dòng lệnh.
Gordon Davisson

Liên kết xấu .......
Trò chơi Traderhut

Không chắc chắn nếu archive.org hoặc một liên kết mới là cách để đi đến đây. web.archive.org/web/20150923065146/https://developer.apple.com/... Cảm ơn @TraderhutGames
bmike

FYI: Tôi đã nhận được ghi 122 MB / giây bằng cách sử dụng dd và kích thước khối là 64K, tôi đã giết nó để chuyển sang asr, thực hiện khôi phục --verbose - nguồn / Tập tin / X / -target / Tập / Y - xóa và tôi phải nói rằng tôi rất ấn tượng. --verbose không cho tôi thấy gì về mặt thống kê (DD có tùy chọn Ctrl / T để hiển thị cho bạn tiến bộ) - có lẽ tôi cần phải thực hiện --verbose ở cuối ... Không kém, tôi rất ấn tượng. Tôi đã nhận được 134 MB / giây đọc và ghi bằng DD và asr đang hoạt động ở mức 25MB / giây. Vì vậy, thay vì bản sao mất 4 giờ ... Tôi đang xem 21 giờ! Vâng, tôi không biết liệu nó có cơ hội làm việc cao hơn không, nhưng
Trò chơi Traderhut

nhưng tôi có thể thực hiện kiểm tra với dd trước, và sau đó nếu thất bại, hãy mất một ngày để sao chép 2TB từ đĩa này sang đĩa khác bằng cách sử dụng ...
Trò chơi Traderhut

8

Disk Utility có thể thực hiện sao chép âm lượng theo âm lượng với tab Khôi phục. Giữa hai khối lượng Mac OS Extended, điều này sẽ tạo một bản sao khối, tức là nó chỉ sao chép cấu trúc âm lượng, vì vậy tất cả các tệp đều giống hệt nhau (xuống số ID tệp). Điều này về cơ bản cũng giống như vậy dd, ngoại trừ việc Disk Utility có thể mở rộng / hợp đồng âm lượng nếu đích không có cùng kích thước với nguồn và nhanh hơn rất nhiều (vì một số lý do, ddkhá chậm trên OS X).

EDIT: Sau khi thấy ghi chú của @ Ian về tốc độ sử dụng / dev / rdiskN so với / dev / đĩaN, tôi đã chạy một số bản sao điểm chuẩn nhanh & bẩn giữa hai ổ flash 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

Vì vậy, có vẻ như đề xuất của strisk làm cho dd chạy với tốc độ tương đương với Disk Utility; sự khác biệt thực sự là Disk Utility xác minh dữ liệu của nó (chậm hơn, nhưng có thể an toàn hơn) và bỏ qua khoảng trống (nhanh hơn nếu đĩa không gần đầy). Điều đó, và như tôi đã nói ở trên DU có thể thay đổi kích thước khi nó sao chép.


1
Tiện ích đĩa cho OS X được ghi lại tại docs.info.apple.com/article.html?path=DiskUtility/10.5/en/ trên .
KatieK

8

Đầu ra dài dòng từ ddthông quapv

nhập mô tả hình ảnh ở đây

Sao chép ngay cả một đĩa nhỏ có thể mất nhiều thời gian và sự im lặng có thể gây bực bội. Nếu bạn cài đặt pv (trình xem đường ống), bạn có thể sử dụng nó để theo dõi tiến trình của bất kỳ luồng nào.

Nếu bạn đang sử dụng homebrew (và bạn nên) cài đặt pvdễ dàng như:

brew install pv

Sau đó quyết định đĩa nào bạn muốn sao chép.

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

Trong trường hợp /dev/disk2này là thẻ Micro SD từ Raspberry Pi của tôi trong đầu đọc bên trong và /dev/disk3là một MicroSD mới trong một dongle USB.

Lệnh sao chép nó sẽ rất giống với các ddlệnh thông thường ngoại trừ chúng ta sẽ tận dụng thực tế là of(tệp đầu ra) mặc định thành STDOUT và if(tệp đầu vào) mặc định cho STDIN. Điều này cho phép bạn sử dụng ống unix ở giữa.

# 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)

Sản lượng thực tế trông như:

dd bs=1m if=/dev/zero count=16000 | pv | dd bs=1m of=/dev/null
16GiB 0:00:06 [2.46GiB/s] [       <=>                                          ]

2
Hoặc, bạn có thể nhấn Ctrl-T trong khi chờ DD hoàn thành, nó sẽ cho bạn biết nó đã thực hiện được bao nhiêu và tốc độ .. tải: 2,25 cmd: dd 50443 chạy 1,50u 55,87s 899897 + 0 bản ghi trong 899896 + 0 ghi lại 58975584256 byte được chuyển trong 473.978101 giây (124426812 byte / giây)
Trò chơi Traderhut

4

Cloner sao chép carbon là tốt, nhưng sau đó trên Mac Pro của tôi, nó không còn tạo được bản sao có thể khởi động được nữa, tôi đã thử nó 3 lần và mọi bản sao đều không khởi động được như trước đây. Thế là tôi chuyển sang SuperDuper! và bản sao đó đã khởi động tốt


1
Câu trả lời của anh ấy bao gồm một lời giải thích: Carbon Copy bỏ hoạt động, giải thích đó là lý do tại sao anh ấy chuyển đổi, những gì anh ấy chuyển sang và nó hoạt động. Đẹp và súc tích. Ba ngón tay cái lên! Tôi không muốn đọc một cuốn sách dài để có được 'dùng thử SuperDuper! - nó hoạt động '- khi đó là tất cả những gì tôi cần.
Trò chơi Traderhut

0

Làm thế nào về ol 'tốt thời trang dd. Nó có thể tạo một bản sao từng bit của ổ đĩa của bạn. Có rất nhiều hướng dẫn về cách làm điều này như cái này hay cái này


2
Câu trả lời trên Hỏi khác nhau không chỉ là một liên kết. Bạn có thể bao gồm một liên kết, nhưng vui lòng tóm tắt hoặc trích dẫn nó trong câu trả lời. Ý tưởng là làm cho câu trả lời đứng một mình.
nohillside

-3

Có hai loại ổ đĩa nhân bản Mac. Cấp độ tập tin và cấp độ khối dựa trên nhân bản. Như chúng ta đã biết, cloner sao chép carbon chỉ có thể tạo bản sao dựa trên cấp độ tệp và một trong những đối thủ lớn Superduper của nó có thể tạo bản sao của khối lượng và phân vùng chứ không phải toàn bộ đĩa. Vì vậy, tôi sẽ đề nghị sử dụng một phần mềm nhân bản Mac mới nổi là Stellar Drive Clone có khả năng nhân bản cả cấp độ tệp và cấp độ khối.

Nó có thể tạo từng bản sao chính xác từng bit của toàn bộ ổ đĩa và khối lượng cụ thể của bạn trên bất kỳ ổ đĩa ngoài, ổ đĩa và ổ đĩa mạng nào. Nó có thể tạo bản sao của ổ đĩa trên thư mục và khôi phục các bản sao lưu từ cùng trong tính năng phiên bản demo miễn phí. Nó có thể tạo bản sao của HD phục hồi và hỗ trợ các định dạng tệp cửa sổ, MBR, ExFAT, FAT32, v.v. trên máy Mac của bạn.


1
Như đã viết, câu trả lời của bạn không chỉ là một danh sách các tính năng của sản phẩm mà không có bất kỳ lời giải thích nào về cách công cụ được đề cập có thể giải quyết vấn đề mà OP gặp phải. Bạn có thể làm cho câu trả lời của bạn hữu ích hơn bằng cách mô tả các bước cần thiết chi tiết hơn (và cũng có thể giải thích những lợi ích mà phương pháp này mang lại so với những câu được mô tả trong các câu trả lời khác)?
nohillside
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.