मैं अपने डीवीडी को dd से कॉपी क्यों नहीं कर सकता?


12

मैंने dd, dd_rescue और ddrescue की कोशिश की , सब विफल रहा। मैंने सोचा कि ये उपकरण फाइल सिस्टम को बायपास करते हैं और एक बिटवाइज़ कॉपी बनाते हैं।

dd को मूर्ख बनाया जाता है, यह खत्म हो जाता है लेकिन बस एक छोटी सी फाइल तैयार करता है और बताता है कि यह समाप्त हो गया है।

dd_rescuse और ddrescue रीड एरर के बारे में शिकायत कर रहे हैं और असहनीय रूप से धीमे हैं। ये उपकरण 10 मिनट में केवल कुछ एमबी कॉपी कर सकते हैं।

ऐसा क्यों हो रहा है, ये उपकरण क्यों विफल हो रहे हैं?


Any7D एक Win7 होस्ट पर एक सेकंड में डिस्क को कॉपी करने योग्य बनाता है। यह कहता है कि UDF फाइलसिस्टम पैचेड है, उत्सुकता से, यह भी कहता है कि खराब क्षेत्र नहीं हैं। पूरी डिस्क को 10 मिनट में कॉपी किया जा सकता है।
अद्यतन: समाधान के लिए, सुपरसुअर पर मेरे समान प्रश्न देखें ।

जवाबों:


16

मुझे लगता है कि इसका सबसे सरल उत्तर यह है कि dd, dd_rescue और ddrescue कॉपी सुरक्षा योजनाओं को हराने के लिए डिज़ाइन नहीं किए गए हैं। वे डेटा के प्रारूप के बारे में कोई धारणा नहीं बनाते हैं और डिस्क डेटा पर संपूर्ण मूल की अखंडता को बनाए रखने की कोशिश करते हैं।

मामले में ddमुझे संदेह है कि यह डिस्क पर जानबूझकर पढ़ने में त्रुटि के कारण समाप्त हो रहा है जो प्रतिलिपि सुरक्षा योजना का हिस्सा है। यदि आप ddअपने प्रश्न के साथ कमांडलाइन आउटपुट को शामिल करते हैं, तो इसकी पुष्टि करने में मदद मिलेगी । आपको dmesgकमांड आउटपुट में दर्ज कुछ रीड एरर भी मिल सकते हैं ।

आप कमांडलाइन पर ध्वज को ddपास करके फाइल की अधिक प्रतिलिपि प्राप्त कर सकते हैं noerror। हालाँकि आप पा सकते हैं कि यह आपको आपकी अंतिम छवि में भ्रष्टाचार के साथ छोड़ देता है।


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

वास्तव में यह निर्धारित करने का एकमात्र तरीका है कि यदि अंतिम छवि "दूषित" है, तो यदि यह प्रयोग करने योग्य है, तो उसे काम करना है। इसका एक हिस्सा यह सुनिश्चित करेगा कि केवल वास्तविक टूटे हुए ब्लॉक को शून्य के रूप में पढ़ा जाए और आसपास के किसी भी ब्लॉक को नहीं। इसका मतलब यह हो सकता है कि आपको dd = 512 (मेमोरी से जो CD / DVD ब्लॉकेज़ है) से dd करने के लिए पैरामीटर पास करने की आवश्यकता है। हालांकि वास्तव में उस तरह की बात dd_rescue करने के लिए डिज़ाइन की गई है। इसमें समय लग सकता है लेकिन यह डेटा की न्यूनतम मात्रा को खोने की कोशिश करता है।
रिचम

ठीक है, आपकी सभी मदद के लिए धन्यवाद। मुझे रास्ते में कई स्तरों पर बिखरा हुआ है। मैं AnyDVD का उपयोग कर समाप्त हुआ।
अली

15

लोग उल्लेख करते हैं कि वीएलसी के साथ डीवीडी को खोलना (जो डीवीडी मेनू प्रदर्शित करता है) जादुई रूप से डेटा को सुलभ बनाता है dd, लेकिन किसी ने अभी तक यह नहीं बताया कि ऐसा क्यों है और वीएलसी इस उपलब्धि को कैसे पूरा करता है।

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

इस तरह का जादू मेरी संवेदनाओं को प्रभावित करता है, इसलिए मैं खुदाई करता गया। समस्या का अंतर्निहित कारण यह है कि आपकी डीवीडी ड्राइव आपके खिलाफ काम कर रही हैविकिपीडिया के अनुसार :

हालाँकि, यदि ड्राइव सीएसएस के साथ संकलित एक डिस्क का पता लगाता है, तो यह उन तार्किक ब्लॉकों तक पहुंच से इनकार करता है जो कॉपीराइट के रूप में चिह्नित हैं (copyright6.15.3 [2])। खिलाड़ी को पहले एक प्रमाणीकरण हैंडशेक निष्पादित करना होता है (.104.10.2.2 [2])।

तो यह सिर्फ यह नहीं है कि आपको एन्क्रिप्टेड डेटा मिलेगा जो डीवीडी पढ़ने पर नहीं खेला जा सकता है; ड्राइव तब तक बिट्स को वापस नहीं भेजेगा जब तक कि आपकी मशीन के कुछ प्रोग्राम ने ड्राइव में खुद को प्रमाणित नहीं किया हो, लिनक्स कर्नेल द्वारा उजागर किए गए कुछ डीवीडी-विशिष्ट IOCTL का उपयोग करके (इस मामले में, DVD_AUTH )। इसलिए यह I / O त्रुटि के रूप में प्रकट होता है।

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

वीएलसी इस सीक्रेट हैंडशेक के माध्यम से करता है libdvdcss, जो बदले में इसे करने के लिए लगता GetBusKey()हैcss.c । संभवतः एक स्टैंडअलोन प्रोग्राम, जिसके खिलाफ लिंक libdvdcssकिया गया था, सभी VLC पर निर्भर होने के बजाय, फ़ाइलों के रूप में उपयोग के लिए ड्राइव को अनलॉक करने के लिए लिखा जा सकता है। एक बार जब यह अनलॉक हो जाता है, तो ड्राइव यह नहीं बता सकता है कि कौन सा प्रोग्राम इसे पढ़ रहा है, इसलिए यह किसी को भी (या अभी भी एन्क्रिप्ट किया गया) बिट्स को वापस भेजता है, जिसमें शामिल है ddया cp

(दिलचस्प बात यह है कि डिस्क पर डेटा को डिक्रिप्ट करने के लिए डिक्रिप्ट कुंजी का उपयोग करने के लिए डीवीडी IOCTL भी एकमात्र वास्तविक तरीका है, एक बार इसे पढ़ने के बाद। यदि आप फ़ाइलों की प्रतिलिपि बनाई गई निर्देशिका खेल रहे हैं, तो आपके पास पहुंच नहीं है। IOCTL कुंजी प्राप्त करने के लिए, इसलिए libdvdcssएन्क्रिप्शन को क्रैक करने के लिए सांख्यिकीय क्रिप्टोनालिसिस का समर्थन करता है ।)


धन्यवाद। मेरी डीवीडी को VLC के साथ नहीं खोला जा सकता है; दुर्भाग्य से, मेरी स्थिति बहुत अधिक जटिल थी। फिर भी अपना जवाब नहीं दिया।
अली

ऐसा लगता है कि मेरे लिए भी काम किया है। यद्यपि मेरे सभी आइसोस सही ढंग से डीवीडी मेनू नहीं दिखाते हैं जब vlcबाद में खोला जाता है (एक प्रमुख नहीं है - हालांकि मैं इसे केवल अपनी डिस्क के लिए बैकअप के रूप में कर रहा हूं और सामग्री को खोना नहीं है जो मेरे लिए यहां मायने रखता है)। मुझे इस तरह के उपकरण पर संदेह है makemkvया handbrakeइसके जैसा ही प्रभाव हो सकता है vlc। एक तरफ के रूप में, यह मेरे लिए एक लिनक्स वीएम के भीतर से चलने के vlcसाथ विंडोज पर चलने के साथ काम किया dd
LRE

महान व्याख्या! शुक्रिया इंटरफेक्ट। वह सब कुछ समझा देता है। मेरे पास एक ही पहेली थी लेकिन वर्कआउट नहीं किया जो विकिपीडिया लेख की जाँच के लिए था।
शी बी।

1
एक प्रोग्राम, cssauth भी है , जो कमांड लाइन से डीवीडी को अनलॉक कर सकता है। अनिवार्य रूप से आप टाइप करते हैं testdvd /dev/dvdऔर यह बात है।
एंटनी क्रिस्टोफ़ाइड्स

14

मुझे यकीन नहीं है कि यह क्यों काम करता है लेकिन वीएलसी के साथ डीवीडी को पहले खोलना, बस मेनू को देखने के लिए पर्याप्त है, और फिर रुकने से डीडी काम करता है।


धन्यवाद। मेरी डीवीडी को VLC के साथ नहीं खोला जा सकता है; दुर्भाग्य से, मेरी स्थिति बहुत अधिक जटिल थी।
अली

इस टिप्पणी के समय मेरे लिए काम किया, लेकिन मैंने कुलदेवता के साथ खोला (vlc नहीं है)। अजीब।
काइल

2

मैं पुष्टि कर सकता हूं कि VLC के साथ डिस्क को खोलने से सुरक्षा को दरकिनार किया जाता है। हालाँकि, उपयोग करते समय dd, मुझे वीएलसी खोलने के बाद (डिस्क को लोड करके और वीएलसी में उजागर निर्देशिका का उपयोग करके पता चला) इस कमांड का उपयोग करना पड़ा।

dd if=/dev/sr0 of=image_of_disc.iso

मैं कई पोस्टों से अलग हूं जो मैंने पढ़ा है कि इस कमांड को काम करना चाहिए:

dd if=/dev/cdrom of=image_of_disc.iso - NON-WORKING

सबूत:

me@me:~$ dd if=/dev/cdrom of=/media/me/image_of_disc.iso
dd: error reading ‘/dev/cdrom’: Input/output error
103336+0 records in
103336+0 records out
52908032 bytes (53 MB) copied, 2.04212 s, 25.9 MB/s

me@me:~$ dd if=/dev/sr0 of=/media/me/image_of_disc.iso
dd: error reading ‘/dev/sr0’: Input/output error
2846992+0 records in
2846992+0 records out
1457659904 bytes (1.5 GB) copied, 314.351 s, 4.6 MB/s
me@me:~$ 

0

मैं एक कार्यक्रम की सिफारिश कर सकता हूं जिसे डीवीडीबैकअप कहा जाता है

मैं फ़ोल्डर के रूप में डीवीडी के बैक-अप की एक प्रतिलिपि बना सकता हूं। मुझे नहीं लगता कि यह एक आईएसओ बनाता है। इसलिए आपको मैन्युअल रूप से वह कदम उठाने की जरूरत है।


0

लोग उल्लेख करते हैं कि वीएलसी के साथ डीवीडी को खोलना (जो डीवीडी मेनू प्रदर्शित करता है) जादुई रूप से डेटा को डीडी के लिए सुलभ बनाता है, लेकिन किसी ने अभी तक यह नहीं बताया कि ऐसा क्यों है और वीएलसी इस उपलब्धि को कैसे पूरा करता है।

मैंने 'वीएलसी पहले के साथ खुली डीवीडी' का भी अनुभव किया। इसलिए, अपनी स्क्रिप्ट में dd का उपयोग करते समय मैं इस क्रम का उपयोग करता हूं:

cvlc --run-time 6 --start-time 16 /dev/sr0 vlc://quit 

`dd if=/dev/sr0 of=/home/user/Videos/name.iso`

2
क्या, वास्तव में, क्या आप कह रहे हैं? आप क्यों उद्धृत करते हैं "किसी ने अभी तक नहीं बताया है कि क्यों और कैसे है ...?" सवाल अगर आप इसका जवाब नहीं दे रहे हैं? आप अपने ddआदेश को backticks में क्यों दिखाते हैं ? ……………………………………… कृपया टिप्पणियों में जवाब न दें;  इसे स्पष्ट और अधिक पूर्ण बनाने के लिए अपना उत्तर संपादित करें।
जी-मैन का कहना है कि 'मोनिका'

@ G-ManSays'ReinstateMonica 'मूल रूप से GUI के बिना चलाने के लिए कमांड लाइन vlc का उपयोग करके प्रस्तावित प्रस्ताव, 16 सेकंड पर वीडियो से शुरू होकर 6 सेकंड के लिए खेलते हैं और उसके बाद काफी vlc होते हैं। संख्या थोड़ी मनमानी है, लेकिन यह एक अच्छा विकल्प है।
शी बी।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.