"इनपुट / आउटपुट त्रुटि" जब एक निर्देशिका का उपयोग


80

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

$ rm  pic -R
rm: cannot remove `pic/60.jpg': Input/output error
rm: cannot remove `pic/006.jpg': Input/output error
rm: cannot remove `pic/008.jpg': Input/output error
rm: cannot remove `pic/011.jpg': Input/output error

$ ls -la pic
ls: cannot access pic/60.jpg: Input/output error
-????????? ? ?    ?         ?            ? 006.jpg
-????????? ? ?    ?         ?            ? 006.jpg
-????????? ? ?    ?         ?            ? 011.jpg

मैं सोच रहा था कि समस्या क्या है?

मैं निर्देशिका picऔर उसकी सभी सामग्री को कैसे पुनर्प्राप्त या हटा सकता हूं ?

मेरा ओएस Ubuntu 12.04 है, और हटाने योग्य हार्ड ड्राइव में ntfs फाइल सिस्टम है। picहटाने योग्य हार्ड ड्राइव पर या अंदर नहीं होने वाली अन्य निर्देशिकाएं ठीक काम कर रही हैं।


जोड़ा गया:

आउटपुट के अंतिम भाग के dmesgबाद मैंने निर्देशिका की सामग्री को सूचीबद्ध करने की कोशिश की:

[19000.712070] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[19000.853167] usb-storage 1-1:1.0: Quirks match for vid 05e3 pid 0702: 520
[19000.853195] scsi5 : usb-storage 1-1:1.0
[19001.856687] scsi 5:0:0:0: Direct-Access     ST316002 1A               0811 PQ: 0 ANSI: 0
[19001.858821] sd 5:0:0:0: Attached scsi generic sg2 type 0
[19001.861733] sd 5:0:0:0: [sdb] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[19001.862969] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.865223] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.865232] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.867597] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.869214] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.869218] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.891946]  sdb: sdb1
[19001.894713] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.895950] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.895953] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.895958] sd 5:0:0:0: [sdb] Attached SCSI disk
[19113.024123] usb 2-1: new high-speed USB device number 3 using ehci_hcd
[19113.218157] scsi6 : usb-storage 2-1:1.0
[19114.232249] scsi 6:0:0:0: Direct-Access     USB 2.0  Storage Device   0100 PQ: 0 ANSI: 0 CCS
[19114.233992] sd 6:0:0:0: Attached scsi generic sg3 type 0
[19114.242547] sd 6:0:0:0: [sdc] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[19114.243144] sd 6:0:0:0: [sdc] Write Protect is off
[19114.243154] sd 6:0:0:0: [sdc] Mode Sense: 08 00 00 00
[19114.243770] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.243778] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.252797] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.252807] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.280407]  sdc: sdc1 < sdc5 >
[19114.289774] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.289779] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.289783] sd 6:0:0:0: [sdc] Attached SCSI disk

1
I / O त्रुटि एक हार्डवेयर समस्या (क्षतिग्रस्त RAM या हार्ड डिस्क) हो सकती है। यह एक क्षतिग्रस्त फाइल सिस्टम या ड्राइवर बग का मतलब भी हो सकता है; चूंकि यह NTFS है इसलिए मैं इस पर शासन नहीं करूंगा।
गाइल्स

जवाबों:


36

फाइलसिस्टम एक्सेस प्रयासों के दौरान इनपुट / आउटपुट त्रुटियां आमतौर पर हार्डवेयर मुद्दों का मतलब है।

dmesgआउटपुट की अंतिम कुछ पंक्तियों को टाइप करें और जांचें। यदि डिस्क या उससे कनेक्शन विफल हो रहा है, तो इसे वहां नोट किया जाएगा।

संपादित करें क्या आप इसे ntfsया के माध्यम से बढ़ रहे हैं ntfs-3g? जैसा कि मुझे याद है, विरासत ntfsचालक के पास कोई स्थिर लिखने का समर्थन नहीं था और काफी हद तक इसे छोड़ दिया गया था जब यह निकला ntfs-3gथा और अधिक स्थिर और सुरक्षित था।


3
मैं हटाने योग्य हार्ड ड्राइव को अपने Ubuntu 12.04 से कनेक्ट करता हूं, और यह स्वचालित रूप से घुड़सवार है। तो मुझे लगता है ntfs-3g?
टिम

7
" अनुमान " न करें । चेक करें - आप देख सकते हैं कि mountकमांड टाइप करके और आउटपुट को देखकर सब कुछ कैसे माउंट किया जाता है ।
शादुर

1
(1) मैंने dmesgडायरेक्टरी की सामग्री को सूचीबद्ध करने की कोशिश करने के बाद आउटपुट का अंतिम भाग जोड़ा है । मैं नहीं जानता कि यह कैसे मदद करता है। (2) मैं यह नहीं देख सकता कि यह nfts-3G या ntfs द्वारा आरोहित है, इसका उत्पादन देख कर mount:/dev/sdb1 on /media/removable_drive type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
टिम

2
fuseblkइसका मतलब है कि यह fuserफाइलसिस्टम-इन-यूजरस्पेस विधि ntfs-3gका उपयोग कर रहा है जो कि उपयोग करता है। तो आप उस संबंध में अच्छे हैं।
शादुर

19

जैसा कि सधुर कहते हैं कि यह डिस्क हार्डवेयर समस्याओं के कारण होता है और dmesgआउटपुट इसे जांचने के लिए सही जगह है।

आप लिनक्स से अपनी डिस्क का एक सतही स्कैन जारी कर सकते हैं /sbin/badblocks /dev/sda

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

मैंने व्यक्तिगत रूप से इसे क्रोन से मासिक आधार पर चलाने के लिए बनाया था। यदि आप अपने मेलबॉक्स में क्रोन मेल प्राप्त करते हैं (जो कि डिफ़ॉल्ट रूप से अक्सर ऐसा नहीं होता है) तो निश्चित रूप से आपको जांचना होगा। इन मेलों का अंत /var/mail/$USERया इससे मिलता-जुलता है।

मैंने बनाया /etc/cron.d/badblocks:

30 4 * * 3 root [ -x /sbin/badblocks ] && [ $(date +\%d) -le 7 ] && /sbin/badblocks /dev/sda

धन्यवाद! आपके द्वारा सुझाई गई कमांड को चलाने के लिए, क्या यह /sbin/badblocks /media/removable_driveमेरे मामले में है?
टिम

नहीं। Dmesg आउटपुट के अनुसार आपको sdb: /sbin/badblocks /dev/sdbया sdc का उपयोग करना होगा । मैं वास्तव में यह पता नहीं लगा सकता कि क्या खुशी थी / आप सेdmesg
jippie

आप अपनी /dev/sd{x}डिस्क को fdisk -lकमांड के साथ पा सकते हैं
ल्यूसिडियन

याद रखें कि जब आप "सस्पेंड / रिज्यूम" करना चाहते हैं, तो बबलॉक ऐप स्वीकार करना शुरू कर देता है और ब्लॉक खत्म कर देता है। :)
कुंभ राशि का पावर

9

आपका फ़ाइल सिस्टम क्षतिग्रस्त है, NTFS वॉल्यूम के लिए आपको chkdskविंडोज़ सिस्टम के तहत चलना चाहिए , लेकिन इसे पुनर्प्राप्त करना लगभग असंभव है। कभी-कभी आपको डिस्क को प्रारूपित करने की आवश्यकता हो सकती है।


धन्यवाद! मेरी अन्य निर्देशिकाएं ठीक हैं। क्या मैं पूरी ड्राइव को प्रारूपित नहीं कर सकता, बस प्रश्न में निर्देशिका से स्थान को पुनः प्राप्त कर सकता हूं?
टिम

1
@, आपको बाकी के सभी फॉर्मेट को कॉपी करके उन्हें वापस कॉपी करना होगा ... मुझे नहीं पता कि क्या कोई एक नोड निकाल सकता है ... NTFS संरचना से परिचित नहीं है
daisy

3
फ़ॉर्मेट करने से पहले, badblocksलिनक्स पर कमैंड की कोशिश करें ।
जिप्पी

7

एक समाधान जो मेरे लिए काम करता ntfs-3gहै वह 2014 की रिलीज़ से 2012 की रिलीज़ तक के संस्करण को डाउनग्रेड करना है । यह आपकी ntfs पार्टीशन एक्सेस समस्या को हल करना चाहिए। लंबे समय में यह कोई समाधान नहीं है क्योंकि अंततः आपको नवीनतम रिलीज़ को चलाने की आवश्यकता होगी।

अधिक जानकारी यहाँ


3
बहुत बहुत धन्यवाद। इससे मेरी समस्या हल हो गई। मैंने स्रोत से नवीनतम स्थिर रिलीज़ (2016.2.22) स्थापित किया और अब यह त्रुटिपूर्ण रूप से काम कर रहा है। स्थापना निर्देश मैंने इस्तेमाल किया: tuxera.com/community/open-source-ntfs-3g
रिकार्डो परेरा

ठीक है, यह जानना अच्छा है। तो मूल रूप से 2012 और 2016 की शुरुआत के बीच एक खिड़की है, जिसके दौरान ड्राइव बस काम नहीं करती थी।

2

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


2

किसी ने उल्लेख नहीं किया कि क्या करना है अगर लिनक्स उपकरण काम नहीं कर रहे हैं और केवल एक मैक, लेकिन विंडोज नहीं है, उपलब्ध है।

पैरागॉन NTFS के साथ OS X पर तय किया जा सकता है

मेरे मामले में gpartedएक विंडोज पीसी को खोजने के लिए कहा गया था जो कहीं नहीं मिला। लेकिन एक मैक आसपास था, जिसके लिए सॉफ्टवेयर का यह शानदार टुकड़ा उपलब्ध है। परीक्षण संस्करण स्थापित किया , सत्यापित किया , फिर मरम्मत - और वॉइलिया!


मैकोस पर मेरा मामला था जब टूलचिन के निर्माण में sshfs (प्रतीत होता है) के उपयोग से ऐसी त्रुटि उत्पन्न हुई थी। काढ़ा के माध्यम से osxfuse & sshfs स्थापित करने में मदद मिली।
16:25 बजे

2

मैं सिर्फ अपना अनुभव साझा करना चाहता था: FreeBSD 10.3 पर, मैंने अपनी बाहरी हार्ड ड्राइव को माउंट किया

$ sudo ntfs-3g /dev/da0s1 /media

हार्ड ड्राइव के अंदर, मैंने mkdirएक डायरेक्टरी बनाने के लिए किया और फिर कुछ फाइलों को इसमें स्थानांतरित कर दिया, निश्चित रूप से mvकमांड के साथ । अंत में मैंने निम्नलिखित कमांड किया:

$ sudo sync

फिर मैंने एक लिनक्स मशीन पर कर्नेल 4.4.0-78-जेनेरिक के साथ हार्ड ड्राइव लगाया। अब जब मैं हार्ड ड्राइव की सामग्री को सूचीबद्ध करता हूं, तो FreeBSD पर बनाई गई निर्देशिका, जिसका नाम Jeffनीचे दिया गया है:

$ ls -lhrtci
ls: cannot access 'Jeff': Input/output error
total 20K
  ? d????????? ? ?    ?       ?            ? Jeff

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

साथ ही, Jeffनिर्देशिका को निकालने का प्रयास करते समय , मुझे निम्न त्रुटि संदेश प्राप्त होता है:

$ sudo rm -f -R Jeff
rm: cannot remove 'Jeff': Input/output error

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

मैं Jeffलिनक्स मशीन पर निर्देशिका से छुटकारा नहीं पा सका , इसलिए मैंने FreeBSD मशीन का उपयोग किया और फिर से FreeBSD पर हार्ड ड्राइव को फिर से माउंट किया। लेकिन ls, cdऔर rmFreeBSD पर आदेशों ही उत्पन्न Input/output error। ऐसा लगता है कि FreeBSD ntfs-3gपैकेज पर बग हो गया है ।


अपडेट करें

मैंने अपने सभी डेटा को बाहरी हार्ड ड्राइव से लिनक्स मशीन में Jeffस्थानांतरित कर दिया, निश्चित रूप से I / O त्रुटि के कारण भ्रष्ट फ़ाइल को स्थानांतरित नहीं किया जा सका। तब मैंने वॉल्यूम के शून्यकरण और इस तरह के खराब क्षेत्र की जाँच के साथ बाहरी हार्ड ड्राइव में सुधार किया:

$ sudo mkfs.ntfs /dev/sdb1

और फिर सभी डेटा को बाहरी वॉल्यूम में वापस ले आया। इस तरह, मैंने भ्रष्ट फ़ाइल नाम खो दिया है Jeff, हालांकि, मेरी बाहरी हार्ड ड्राइव किसी भी I / O त्रुटि से साफ है।


0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.