उस पर dd का उपयोग करने के बाद एक HDD पुनर्प्राप्त करना


0

जब मैंने USB ड्राइव पर ISO लगाना चाहा तो मैंने गलती ddसे अपने HDD ( /dev/sdc) पर प्रयोग कर लिया । मैंने इधर-उधर देखने की कोशिश की कि अगर डेटा ओवरराइट हो गया तो मैं खराब हो गया ...।

क्या डेटा को पुनर्प्राप्त करने का एक तरीका है? क्या मै कुछ कर सकता हुं?


एक आईएसओ का आकार सीमित है, केवल उस हार्ड डिस्क की मात्रा को ओवरराइट किया गया है। आप विभाजन रिकवरी सॉफ़्टवेयर (जैसे testdisk) आज़मा सकते हैं और देख सकते हैं कि विभाजन क्या हैं। आपको एक लाइव सीडी को बूट करने की आवश्यकता होगी और इसे बूट करने के बाद रिकवरी सॉफ़्टवेयर स्थापित करने की आवश्यकता हो सकती है।
AFH

वास्तव में आपने क्या dd कमांड चलाया?
1

मैंने कमांड का उपयोग किया: dd bs = 4M of = file if = / dev / sdc
Guy

आपका मतलब है: "if = file of = / dev / sdc"? क्योंकि यदि आपने वास्तव में "फ़ाइल" किया है, तो यह आपके sdc विभाजन को बिल्कुल भी नहीं छूना चाहिए था।
हेडकेस

2
आपको ddसीधे प्रश्न में सटीक (और सही;) कमांड का उपयोग करना चाहिए । क्षति का आकलन करने के लिए यह आवश्यक जानकारी है। हमें यह भी बताएं कि इनपुट फ़ाइल कितनी बड़ी थी।
डैनियल बी

जवाबों:


1

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


डेटा विध्वंसक नहीं, dd विकिपीडिया से: "नाम dd IBM के जॉब कंट्रोल लैंग्वेज (JCL) में पाए जाने वाले DD स्टेटमेंट के लिए एक अलाउंस है, जिसमें" डेटा विवरण "के लिए प्रारंभिक शब्द खड़े होते हैं। कमांड का सिंटैक्स JCL स्टेटमेंट से अधिक अन्य यूनिक्स कमांड जैसा दिखता है। तो वाक्यविन्यास एक मजाक हो सकता है। "
1

4
"डेटा डिस्ट्रॉयर" "यह क्या करता है" जब लापरवाही से उपयोग किया जाता है। इस मामले में के रूप में।
हेडकेस

0

डेटा को केवल तभी बचाया जा सकता है जब कुछ या अधिकांश अभी भी वहाँ हों।

यहाँ एक सरल जानवर बल लाइव टेस्ट ( pv और lzop का उपयोग करके ) कितनी दूर (और कितना) dd देखने के लिए है:

hd=/dev/sdc   # change to whatever device or partition needs testing.
pv -EcN raw ${hd} | lzop |  pv -cN compressed | wc -c

160GB हार्ड ड्राइव पर जिसे dd द्वारा मिटाया नहीं गया है , एक मिनट के बाद परीक्षण इस तरह दिखता है:

raw: 5.12GiB 0:01:11 [46.1MiB/s] [==>              ]  3% ETA 0:33:15
compressed: 4.81GiB 0:01:11 [45.9MiB/s] [    <=>         ]

ध्यान दें कि कैसे संपीड़ित संख्या कच्चे नंबर के बहुत करीब है । जब तक यह काम होता है, तब तक अधिकांश डेटा अभी भी मौजूद होता है। प्रतिशत इस बात के अनुसार अलग होगा कि मुश्किल होने से पहले कितना हार्ड ड्राइव था, यानी अगर एचडी या विभाजन केवल 10% भरा था, तो लोज़ॉप से 8% सामान्य होगा। यह भी निर्भर करता है कि एचडी किस तरह का डेटा भर रहा था - सौभाग्य से लोज़ॉप एक कमजोर कंप्रेसर है, जो यहां बहुत मदद करता है।

चलो इसे सभी शून्य के साथ आज़माएँ:

hd=/dev/zero   # change to whatever device or partition needs testing.
pv -cN raw ${hd} | lzop |  pv -cN compressed | wc -c

... जो 8 सेकंड के बाद दिखाता है:

raw: 6.81GiB 0:00:08 [ 891MiB/s] [   <=>                  ]
compressed: 31.8MiB 0:00:08 [4.06MiB/s] [     <=>         ]

संकुचित आकार अब की 1% से कम है कच्चे । यदि एक संपूर्ण हार्ड ड्राइव ऐसा है, तो डेटा कपट है

(नोट: बड़ी हार्ड ड्राइव को पढ़ने में अधिक समय लगता है, इसलिए इस विधि को नमूने द्वारा बेहतर किया जाएगा। प्रत्येक ब्लॉक को पढ़ने के बजाय, हम n ब्लॉक को पढ़ने के लिए dd का उपयोग कर सकते हैं , आगे 10n ब्लॉक को छोड़ सकते हैं, और ऊपर दिए गए कच्चे इनपुट को फीड कर सकते हैं। ।)

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