मैंने आज यह किया है, मुझे आशा है कि यह आपके लिए काम करता है। मुझे लगभग 30 खराब ब्लॉकों के साथ डुप्लिकेट करने (डिस्क का बैकअप लेने) में समस्या हो रही थी। मैंने जो पहला काम किया है, वह सभी अच्छे डेटा का बैकअप लेने के लिए नियमित फाइलज़िला का उपयोग करके बैकअप फ़ाइलों का है। मैं ध्यान देता हूं कि एक बड़ी फ़ाइल सही तरीके से कॉपी नहीं हो रही थी (बीच में रोकना और स्थानांतरण को फिर से शुरू करना)। सौभाग्य से मेरे पास उसी फ़ाइल का पिछला बैकअप है। डिस्क को डुप्लिकेट करने के लिए, फिर मुझे इस प्रक्रिया का उपयोग करके डिस्क पर खराब ब्लॉकों को ढूंढना था:
1 को समस्या की पहचान करने के लिए डिस्क की पहचान करें HD जानकारी का उपयोग कर fdisk -l
2 यदि आप कहते हैं कि आपकी डिस्क / dev / sdb है तो आपको कमांड badblocks -v / dev / sdb को चलाने की आवश्यकता है
यह ड्राइव पर आपके सभी बुरे ब्लॉक को सूचीबद्ध करेगा। सौभाग्य से कुछ ही होगा। यदि कोई ख़राब ब्लॉक नहीं मिलता है, तो आपके ड्राइव ब्लॉक ठीक हैं और कुछ और जानने की जरूरत है। मेरे ब्लॉक का आकार 512 है इसलिए मैं डीडी को चलाने के लिए उस डिफ़ॉल्ट नंबर का उपयोग करता हूं
3 प्रत्येक ब्लॉक 512 आकार है, इसलिए मैंने जो किया है वह bs = 512 सेट करना है
हर बार जब मैं डीडी को नियमित रूप से चलाता था, जैसा कि मैं हमेशा करता हूं, त्रुटियों के बाद मेरा डेटा दूषित हो जाएगा। तो फिर मैं पृष्ठ https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html पृष्ठ पर बताए गए मापदंडों का उपयोग करता हूं । "फेलिंग डिस्क के लिए" भाग खोजें।
dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync iflag=fullblock
कुछ देर लगी। प्रत्येक खराब ब्लॉक को दोषपूर्ण ड्राइव पर धमाके की तरह ध्वनि का सामना करना पड़ा। यह ब्लॉक द्वारा कॉपी ब्लॉक करता है, और मेरे सभी बुरे ब्लॉकों को एक ही शोर बना देता है। समय की मात्रा ने शोर मचाया, क्योंकि यह एक और बुरा ब्लॉक पाया गया और आपको डिस्प्ले त्रुटि संदेश के बारे में बताता है। क्या 'रूपा = noerror, सिंक' करता है, पैड बाहर बुरा है, NULs के साथ पढ़ता है, जबकि 'iflag = fullblock' कम पढ़ता के लिए पूरा करता है, लेकिन अंत तक अपने डेटा सिंक में रहता है। कोई भ्रष्टाचार नहीं, यह सिर्फ दोषपूर्ण ब्लॉकों की नकल नहीं करता है और इसे खाली एनयूएल से भरता है।
डीडी के साथ कॉपी किए जाने के बाद, मैं बस उस बैकअप फ़ाइल को पिछले बैकअप से फाइलज़िला को बदलने के लिए प्रतिस्थापित करता हूं और सबकुछ ठीक है। मुझे उम्मीद है कि यह उन लोगों के लिए उपयोगी होगा जो बैकअप दोषपूर्ण ड्राइव की कोशिश कर रहे हैं।
नोट: मेरे बुरे ब्लॉक जहां बहुत ज्यादा एक दूसरे के करीब हैं। लगभग 4 ब्लॉक एक साथ समूहों में एक साथ जहां खराब पाए गए। यदि आपके ब्लॉक डिस्क पर हैं, तो कई फाइलें प्रभावित हो सकती हैं। सौभाग्य से, मेरे मामले में, एक बड़ा डेटाबेस 4 जीबी फाइल केवल प्रभावित हुआ था।