मैं dd का उपयोग करके इनपुट / आउटपुट त्रुटि कैसे ठीक करूं?


14

हाय मैं एक टूटी हुई हार्डड्राइव के साथ अपने विंडोज 7 सिस्टम को ठीक करने की कोशिश कर रहा हूं, लेकिन यह अभी भी चल रहा है।

मैं विंडोज 7. को पुनर्स्थापित करने के लिए सभी डेटा को एक नई ड्राइव पर कॉपी करने की कोशिश कर रहा हूं। SQSERVICE नामक ड्राइव।

मैं बिल्कुल कॉपी नहीं कर सकता - नीचे देखें:

$ sudo dd if=/dev/sdc1 of=/dev/sda1
dd: reading `/dev/sdc1': Input/output error
11233976+0 records in
11233976+0 records out
5751795712 bytes (5.8 GB) copied, 187.731 s, 30.6 MB/s

इस "इनपुट / आउटपुट त्रुटि" को कैसे ठीक करें?


1
@Gertvddijk मेरी वर्तनी समस्या को ठीक करने के लिए धन्यवाद, मैं अभी भी अच्छी तरह से अंग्रेजी सीख रहा हूँ।
इब्रा

जवाबों:


16

आपने इसे स्वयं कहा है: आपकी डिस्क टूट गई है। आप कोशिश कर सकते हैं ddrescue, यह टूटे हुए रास्ते के आसपास काम करने में सक्षम हो सकता है। हालांकि खबरदार, कि आप डेटा खो देंगे।

बैकअप से बहाली आसान होगी :)

ddrescueनिम्न का सही उपयोग इस प्रकार है:

sudo apt-get install gddrescue
sudo ddrescue /dev/sdc1 /dev/sda1

या यदि आप stdoutप्रॉपर मॉनिटरिंग टूल को पाइप करना चाहते हैं :

sudo ddrescue /dev/sdc1 /dev/sda1 | pv

हाँ, मैंने कहा कि, लेकिन बैकअप से बहाल यह उस ड्राइव पर है .. और इस ड्राइव में केवल सेक्टर की समस्या है, तो मैं उस कमांड का उपयोग कैसे कर सकता हूं? im सिर्फ नौसिखिया linux उपयोगकर्ता ..
Erazer

2
तो आपका बैकअप उसी ड्राइव पर है जिस ड्राइव पर आप bcaking कर रहे हैं ?! boggles
डेनिस Kaarsemaker

1
एक ही ड्राइव हाँ, लेकिन एक ही विभाजन पर नहीं। अच्छी तरह से मैं थोड़ा बेवकूफ हूँ: '(बैकअप इसके बिल्कुल नहीं
Erazer

6

मुझे नहीं पता कि यह किसी के लिए उपयोगी है, लेकिन अगर मुझे यह पेज मेरी खोज में मिला, तो शायद यह किसी को मदद करेगा (ओपी के अलावा जो महीनों पहले अपनी समस्या का समाधान कर चुका है)।

डेटा रिकवरी के लिए ddrescue इस मामले में सबसे अच्छा विकल्प हो सकता है, (मूल प्रश्न को "फिक्सिंग" से अलग / मूल प्रश्न के रूप में डिस्क), जैसा कि डेनिस ने सुझाव दिया था।

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

सेक्टरों को वास्तव में "ठीक" करने का एक और विकल्प, न केवल उन्हें बायपास करना, खराब क्षेत्रों को फिर से जोड़ना है। यदि आपको पता है कि सेक्टर संख्या (आपके मामले में, 11233976 dd में आपके ब्लॉक का आकार, और सेक्टर का आकार 512 है), तो बस इसे चलाएं, और आपके द्वारा खोजे गए प्रत्येक नए बुरे क्षेत्र के लिए फिर से दौड़ें:

hdparm –write-sector 11233976 –yes-i-know-what-i-am-doing /dev/sdb

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

अधिक जानकारी के लिए इसे देखें: http://www.sjvs.nl/forcing-a-hard-disk-to-reallocate-bad-sector/

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


1

जबकि डिस्क के कुछ हिस्से टूट गए हैं, फिर भी आप डिस्क के अच्छे हिस्सों को कॉपी करने में सक्षम हैं।

$ dd --help
...
 noerror   continue after read errors
...
sudo dd if=/dev/sdc1 of=/dev/sda1 conv=noerror
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.