दो मैक के बीच डिस्क को क्लोन करने का सबसे अच्छा तरीका क्या है?


25

दो मैक के बीच डिस्क को क्लोन करने का सबसे अच्छा तरीका क्या है? मैं हर दो साल में यही पूछता हूं और हर बार मुझे यही जवाब मिलता है। " कार्बन कॉपी क्लोनर का उपयोग करें ", वे कहते हैं। लेकिन दुर्भाग्यपूर्ण तथ्य यह है कि सीसीसी डिस्क के बीच एक फ़ाइल-स्तरीय प्रतिलिपि है। जब मैं अपने नए मैक पर माइग्रेट करता हूं, तो सुनिश्चित करें कि सभी फाइलें वहां हैं, लेकिन यहां और वहां quirks हैं (फाइल की तारीखें अलग-अलग होने सहित)।

तो, वास्तव में अब, एक बार फिर: आप बाइट के लिए बाइट पर डिस्क को कैसे क्लोन करते हैं?

जवाबों:


44

आप ड्राइव के बिट-परफेक्ट क्लोन बनाने के लिए dd कमांड का उपयोग कर सकते हैं । यह एक कमांड लाइन उपकरण है जो ओएस एक्स के साथ जहाज करता है। क्लोन को सही बनाने के लिए आपको स्रोत को सुनिश्चित करने की आवश्यकता होगी और गंतव्य सक्रिय रूप से उपयोग में नहीं हैं।

क्लोन के लिए तैयार करने के लिए मैं एक माध्यमिक बूट डिस्क बनाने की सलाह देता हूं जिससे आप बूट कर सकते हैं। क्लोन के लिए आपका स्रोत ऑफ़लाइन वॉल्यूम होना चाहिए, उपयोग में नहीं होने पर, जब आप प्रतिलिपि बना रहे हों। अन्यथा आप उन चीजों को कॉपी करने का जोखिम उठाते हैं जो डिस्क पर अपूर्ण अवस्था में हैं।

आपकी मशीन आपके द्वितीयक बूट डिस्क पर बूट हो जाने के साथ, एक टर्मिनल या iTerm विंडो को लॉग इन और फायर करती है।

अपने उपलब्ध ड्राइव की सूची प्राप्त करने के लिए डिस्कुटिल चलाएं । उनमें से एक आपका लक्ष्य ड्राइव होगा जिसे आप क्लोन करने की कोशिश कर रहे हैं। दूसरा आपका सोर्स ड्राइव होगा। उदाहरण के लिए:

> 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ड्राइव का उपयोग करके अपने सिस्टम को रिबूट करें और अपने क्लोन का आनंद लें!


4
rdisk # एक 4KB OS बफर को बायपास करता है। और जानकारी। मैं सलाह दूंगा कि आपने एक छोटा चुना bs, जैसा कि 1 मीटर से ऊपर जाने से वास्तव में यह धीमा हो जाता है। (कम से कम USB पर। मैं नहीं बता सकता कि क्या यह बाहरी USB ड्राइव या प्रत्यक्ष SATA कनेक्शन है।)
निक ओडेल

2
यह bs सेटिंग के साथ थोड़ा प्रयोग करने लायक हो सकता है। मुझे bs = 1m से bs = 65536 तक का आकार घटाकर थ्रूपुट (लगभग दोगुना) में उल्लेखनीय वृद्धि हुई।
जेन्स वीगर

1
@JensWegar मुझे आश्चर्य है कि अगर ddइंटरनेट खोजों पर भरोसा करने या ट्रेल-एंड-एर रन करने के लिए बिना किसी दिए गए स्थानांतरण के लिए सबसे अच्छा ब्लॉक आकार जानने का कोई तरीका है ?
इयान सी

2
@IanC। मैंने कहीं पढ़ा है कि HDD के ब्लॉक आकार को dd देने के लिए आदर्श आकार के एक संकेतक के रूप में इस्तेमाल किया जा सकता है। दूसरी ओर एक अन्य सूत्र ने कहा कि इष्टतम आकार का पता लगाने का कोई बुलेट प्रूफ तरीका नहीं है। इसलिए वहां कोई वास्तविक सलाह नहीं दे सकता। हालाँकि, यह प्रयोग करने में बहुत लंबा नहीं लगा। संभवतः आदर्श मूल्य 2 का कारक है, इसलिए मैं 4096 से शुरू करूँगा, फिर 8192, 16384 और इसी तरह। आप इस तरह से बहुत जल्दी चोटी पाएंगे।
जेन्स वीगर

1
@ user3.1415927 आप प्रगति और अंतरण दर देखने के status=progressविकल्प का उपयोग कर सकते हैं dd। तब आप के साथ गर्भपात कर सकते हैं CRTL+Cऔर इसके लिए एक और मूल्य के साथ प्रयास कर सकते हैंbs
व्लाद

14

डिस्क क्लोनिंग करने के लिए Apple की bespoke कमांड लाइन उपयोगिता है asr

यह ओएस एक्स की बारीकियों के अनुरूप है, फाइल के साथ-साथ ब्लॉक आधारित इमेजिंग की जरूरत है और विभाजन के आकारों में अंतर के साथ, नेटवर्क स्ट्रीमिंग (और यहां तक ​​कि मल्टीकास्ट स्ट्रीमिंग) के साथ-साथ स्थानीय रूप से जुड़े डिस्क के बीच की नकल करने की अनुमति देता है। इसके विपरीत dd, यह ऐप्पल के नवीनतम कोर स्टोरेज वॉल्यूम प्रबंधन के बारे में जानता है और यह प्रोग्राम है कि ग्राफिकल डिस्क यूटिलिटी डेटा को एक विभाजन या वॉल्यूम से दूसरे में स्थानांतरित करने के लिए कहता है।

आप asr के लिए मैनुअल पेज पर अधिक पढ़ सकते हैं ।


2
ध्यान दें कि asrडिस्क उपयोगिता के पुनर्स्थापना टैब का उपयोग करने वाला एक ही उपकरण है (मेरा उत्तर देखें)। कमांड-लाइन इंटरफ़ेस में अतिरिक्त विकल्प हैं जो जीयूआई इंटरफ़ेस को छोड़ देता है, जैसे कि एचएफएस + (केस असंवेदनशील) और एचएफएसएक्स (केस संवेदनशील) प्रारूपों के बीच कनवर्ट करना और कॉपी को एक कोर स्टोरेज वॉल्यूम ग्रुप में डालना। लेकिन उन लोगों के लिए उपयोग करना कठिन हो सकता है जो कमांड लाइन के लिए उपयोग नहीं किए जाते हैं।
गॉर्डन डेविसन

बुरा लिंक .......
ट्रेडरट गेम्स

यकीन नहीं होता कि आर्काइव.ऑर्ग या एक नया लिंक यहां जाने का रास्ता है। web.archive.org/web/20150923065146/https://developer.apple.com/... धन्यवाद @TraderhutGames
bmike

FYI करें: मुझे dd और 64 k के ब्लॉक आकार का उपयोग करते हुए 122 MB / sec के राइट्स मिल रहे थे, मैंने मार दिया कि asr पर स्विच करने के लिए, averbose रिस्टोर --source / Volumes / X / -target / Volumes / Y - मिटा और मुझे कहना चाहिए कि मैं प्रभावित हूँ। --verbose ने मुझे आँकड़ों के मामले में कुछ भी नहीं दिखाया (डीडी के पास आपकी प्रगति दिखाने के लिए एक Ctrl / T विकल्प है) - शायद मुझे अंत में --verbose करने की आवश्यकता थी ... कोई भी कम नहीं, मैं प्रभावित हूं। मुझे 134 एमबी / सेकंड पढ़ने और डीडी का उपयोग करने के लिए लिखना मिल रहा था, और एसआरआर 25 एमबी / सेकंड पर किक कर रहा है। इसलिए, कॉपी के बजाय 4 घंटे लग रहे हैं ... मैं 21 घंटे देख रहा हूं! हाँ, मुझे नहीं पता कि इसमें काम करने का अधिक मौका है, लेकिन
ट्रैडरहट गेम्स

लेकिन मैं पहले dd के साथ एक परीक्षण कर सकता हूं, और फिर अगर यह विफल रहता है, तो इसे एक डिस्क से 2TB को एक डिस्क से दूसरे तक अस्र का उपयोग करके कॉपी करने के लिए एक दिन का समय दें ...
Traderhut Games

8

डिस्क उपयोगिता रिस्टोर टैब के साथ वॉल्यूम-टू-वॉल्यूम क्लोनिंग कर सकती है। दो मैक ओएस विस्तारित संस्करणों के बीच, यह एक ब्लॉक कॉपी करेगा, अर्थात यह केवल वॉल्यूम संरचनाओं की प्रतिलिपि बनाता है, इसलिए सभी फाइलें समान (फाइल आईडी नंबर के नीचे) समान आती हैं। यह अनिवार्य रूप से एक ही बात ddकरता है, सिवाय इसके कि डिस्क उपयोगिता वॉल्यूम का विस्तार / अनुबंध कर सकती है यदि गंतव्य बिल्कुल स्रोत के समान आकार नहीं है, और यह बहुत तेज है (किसी कारण से, ddओएस एक्स पर काफी धीमा है)।

EDIT: @ Ian's नोट का उपयोग करने के बाद गति के बारे में / dev / rdiskN बनाम / dev / diskN, मैंने कुछ त्वरित और गंदे बेंचमार्क को दो 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 को डिस्क यूटिलिटी के समान गति प्रदान करता है; वास्तविक अंतर यह है कि डिस्क उपयोगिता अपने डेटा (धीमी, लेकिन शायद सुरक्षित) को सत्यापित करती है और रिक्त स्थान को छोड़ देती है (यदि डिस्क लगभग पूर्ण नहीं है)। कि, और जैसा कि मैंने कहा कि डीयू के ऊपर आकार बदल सकता है क्योंकि यह प्रतियां है।


1
OS X के लिए डिस्क उपयोगिता docs.info.apple.com/article.html?path=DiskUtility/10.5/en/… पर प्रलेखित है
केटीके

8

Verbose आउटपुट के ddमाध्यम सेpv

यहाँ छवि विवरण दर्ज करें

यहां तक ​​कि एक छोटी सी डिस्क की नकल करने में लंबा समय लग सकता है और चुप्पी निराशा हो सकती है। यदि आप pv (पाइप दर्शक) स्थापित करते हैं, तो आप किसी भी स्ट्रीम की प्रगति की निगरानी के लिए इसका उपयोग कर सकते हैं।

यदि आप होमब्रे का उपयोग कर रहे हैं (और आपको होना चाहिए) स्थापित 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में आंतरिक रीडर में मेरे रास्पबेरी पाई से एक माइक्रो एसडी कार्ड है और /dev/disk3एक यूएसबी डोंगल में एक नया माइक्रोएसडी है।

इसे कॉपी करने की कमांड बहुत ही सामान्य 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] [       <=>                                          ]

2
या, आप डीडी के पूरा होने का इंतजार करते हुए Ctrl-T को हिट कर सकते हैं, यह आपको दिखाएगा कि उसने कितना काम किया है, और कितनी तेजी से .. लोड: 2.25 cmd: dd 50443 चल रहा है 1.50u 55.87s 899897 + 0 रिकॉर्ड 899896 + 0 में रिकॉर्ड 58975584256 बाइट्स 473.978101 सेकंड (124426812 बाइट्स / सेकंड) में हस्तांतरित
ट्रेडर गेम्स

4

कार्बन कॉपी क्लोनर अच्छा था, लेकिन फिर मेरे मैक प्रो पर यह अब बूट करने योग्य क्लोन नहीं बना, मैंने इसे 3 बार आज़माया और हर क्लोन पहले के विपरीत बूट करने में विफल रहा। इसलिए मैंने सुपरडुपर में स्विच किया! और वह क्लोन ठीक बूट हुआ


1
उनके जवाब में एक स्पष्टीकरण शामिल था: कार्बन कॉपी ने काम करना छोड़ दिया, समझाया कि इसीलिए उसने स्विच किया, उसने क्या स्विच किया और यह काम किया। अच्छा और संक्षिप्त। तीन अंगूठा ऊपर! मैं 'सुपरडूपर ट्राय' करने के लिए एक लंबी किताब नहीं पढ़ना चाहता! - यह काम करता है '- जब मुझे वह सब चाहिए था।
ट्रेडरट गेम्स

0

कैसे अच्छे राजभाषा 'के बारे में dd। यह आपके ड्राइव की एक बिट-बाय-कॉपी बना सकता है। वहाँ कैसे के रूप में इस तरह के कार्य करने के वहाँ बाहर गाइड के बहुत सारे हैं यह एक या यह एक


2
पूछो अलग पर जवाब सिर्फ एक लिंक से अधिक होने की जरूरत है। लिंक शामिल करना ठीक है, लेकिन कृपया उसे संक्षेप में बताएं या उसका उत्तर दें। विचार उत्तर को अकेले खड़ा करने का है।
nohillside

-3

मैक ड्राइव की क्लोनिंग दो प्रकार की होती है। फ़ाइल स्तर और ब्लॉक स्तर आधारित क्लोनिंग। जैसा कि हम जानते हैं कि कार्बन कॉपी क्लोनर केवल फाइल स्तर आधारित क्लोन बना सकता है और इसका एक बड़ा प्रतिद्वंद्वी सुपरडुपर केवल डिस्क नहीं बल्कि वॉल्यूम और विभाजन का क्लोन बना सकता है। तो, मैं एक नए उभरते मैक क्लोनिंग सॉफ्टवेयर के लिए जाने का सुझाव दूंगा जो कि स्टेलर ड्राइव क्लोन है जो फाइल स्तर और ब्लॉक क्लोनिंग दोनों के लिए सक्षम है।

यह आपकी संपूर्ण ड्राइव की थोड़ी सी सटीक प्रतिलिपि बना सकता है और आपके किसी भी बाहरी ड्राइव, वॉल्यूम और नेटवर्क ड्राइव पर विशेष वॉल्यूम भी। यह फ़ोल्डर पर ड्राइव का क्लोन बना सकता है और इसके मुफ्त डेमो संस्करण की सुविधा में से बैकअप को पुनर्स्थापित कर सकता है। यह रिकवरी एचडी का क्लोन बना सकता है और आपके मैक पर विंडो फाइल फॉर्मेट, MBR, ExFAT, FAT32 आदि को सपोर्ट कर सकता है।


1
जैसा कि लिखा गया है कि आपका उत्तर उत्पाद सुविधाओं की सूची से बहुत अधिक नहीं है, लेकिन बिना किसी विवरण के कि कैसे उल्लिखित उपकरण ओपी की समस्या को हल कर सकता है। क्या आप कृपया अपने उत्तर को और अधिक विस्तार से आवश्यक चरणों का वर्णन करके और अधिक उपयोगी बना सकते हैं (और शायद यह भी बता रहे हैं कि इस पद्धति से अन्य उत्तरों में वर्णित लाभों की तुलना में क्या लाभ है)?
nohillside
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.