अंतिम अद्यतन:
मुझे पहले से ही पता था कि इस समस्या को ठीक करने के लिए मुझे क्या करना चाहिए; मुझे नहीं पता था कि यह कैसे करना है। मैं उम्मीद कर रहा था कि स्वचालित रूप से ऐसा करने के लिए कुछ तैयार उपकरण होंगे - लेकिन कोई भी नहीं मिल सका। मैं रॉड के उत्तर को स्वीकार कर रहा हूं क्योंकि सीधे मेरे मुद्दे को हल नहीं करने के बावजूद, यह सेक्टर आकार के मुद्दे पर बहुत अच्छी पृष्ठभूमि देता है, और मुझे विश्वास दिलाया कि मुद्दा वास्तव में विभाजन संरेखण और संबोधित कर रहा था। उन लोगों के लिए जो इस मुद्दे पर आते हैं, कुछ भी करने से पहले, टिप्पणियों सहित पूरी तरह से और सावधानीपूर्वक पढ़ें।
शुरुआत में
मेरे पास एक कंप्यूटर था और अधिक स्थान की आवश्यकता थी, मैंने एक नया 500GB ड्राइव और एक USB एनक्लोजर खरीदा है। जल्द ही मैंने देखा है कि अगर मैंने ड्राइव को बाड़े पर विभाजित किया और इसे कंप्यूटर पर स्थानांतरित कर दिया, तो यह विभाजन (और इसके विपरीत) को पहचान नहीं पाएगा। मुझे लगा कि यह बाड़े के साथ एक समस्या थी और इसके बारे में चिंता नहीं की।
फिर, त्रासदी
एक अद्भुत दिन, मेरे कंप्यूटर ने अब चालू नहीं करने का फैसला किया। मदरबोर्ड को चालू करता है (अनब्रांडेड, उस पर मुद्रित एक बड़ा MADE IN CHINA) मृत है। मैं इसे एक फ़ाइल-सर्वर के रूप में उपयोग कर रहा हूं और यह 500GB ड्राइव अब डेटा से भरा हुआ है जिसे मैं खोना बर्दाश्त नहीं कर सकता। मैं अब टूट गया हूं और एक नया कंप्यूटर नहीं खरीद सकता, इसलिए मेरी एकमात्र आशा "दोषपूर्ण" यूएसबी संलग्नक थी।
जाँच - पड़ताल
कई लिनक्स वितरण, एक लैपटॉप, वर्चुअलबॉक्स और बाड़े के साथ सशस्त्र मैंने इस मुद्दे पर एक फोरेंसिक विश्लेषण किया। dmesg ने बताया कि विभाजन का आकार एंड-ड्राइव से परे था। इसलिए मैं हार्ड ड्राइव डेटाशीट्स से गुजरा, परिकलित क्षेत्र को स्क्रैच से गिना गया, डीडी के साथ मैन्युअल रूप से ड्राइव की सीमाओं का परीक्षण किया, और सब कुछ ठीक लगा, जब तक मैंने fdisk को निकाल नहीं दिया और यह कहा:
Note: Sector size is 4096 (not 512).
कितनी अजीब बात है। यह "नोट" सभी मुद्दों की जड़ था। कुछ और पहेलियों के बाद ये निष्कर्ष निकाले गए:
USB संलग्नक दोषपूर्ण नहीं है।
अब मृत मदरबोर्ड पर SATA नियंत्रक वह है जो "अजीब" था, कम से कम। इसने 4096-बाइट सेक्टरों को ऑपरेटिंग सिस्टम की सूचना नहीं दी, इसलिए ओएस ने 512-बाइट सेक्टर पतों का उपयोग करके एमबीआर को खुशी से बनाया।
अब जब मैं विभाजन का उपयोग करने की कोशिश करता हूं, तो ओएस 4096-बाइट सेक्टर ड्राइव पर 512-बाइट आधारित पते का उपयोग करने की कोशिश करता है, और निश्चित रूप से, यह काम नहीं करने वाला है।
प्रश्न
इसलिए, मैं एमबीआर में पतों को कैसे सही कर सकता हूं, इसलिए वे 4096-बाइट सेक्टर आकार पर मान्य हैं, एक तरफ हेक्स-एडिटर पर एमबीआर को मैन्युअल रूप से संपादित करने से अलग है, और
विभाजन 4096-बाइट क्षेत्रों के लिए संरेखित नहीं हैं। कुछ उपकरण उपलब्ध हैं जो उन्हें दूसरी ड्राइव से अंदर और बाहर कॉपी करने से अलग करते हैं? (मेरे पास अतिरिक्त ड्राइव नहीं हैं), या क्या मुझे कुछ उपकरण बनाने की आवश्यकता होगी जो डेटा को एक समय में थोड़ा सा चंक कर दे? विभाजन ext3 हैं।
धन्यवाद!
अद्यतन करें:
मैंने पाया कि इस प्रश्न में विभाजन को अंदर स्थानांतरित करने के लिए dd का उपयोग करने का एक चतुर तरीका है: GNU / Linux में विभाजन को कैसे स्थानांतरित किया जाए? लेकिन मुझे नहीं पता कि यह किसी सेक्टर के स्लाइस पर काम करेगा, हालाँकि। मैं अभी इसका परीक्षण नहीं कर सकता, लेकिन मेरे पास कुछ समय होगा।
अपडेट 2:
इसलिए मैंने उपरोक्त विधि का उपयोग करके विभाजन को सफलतापूर्वक संरेखित किया है और एमबीआर को एक हेक्स संपादक पर हाथ से संपादित किया है। जैसे ही मैंने एचडीडी को फिर से प्लग किया, बूम विभाजन स्वचालित रूप से घुड़सवार! मैं इसकी अनुशंसा नहीं करता हालांकि, प्रक्रिया के दौरान I / O त्रुटियां थीं और मैं सब कुछ खो सकता था, रॉड के उत्तर पर टिप्पणी देख सकता हूं। अन्य विभाजन के लिए मैं जोखिम नहीं उठाऊंगा और एक पुराने एचडीडी का उपयोग करूंगा और एक बार में डेटा को कॉपी करके और फिर इसे एक अलग स्थिति पर चिपकाकर संकरी संरेखित करूंगा।
fdisk
एमबीआर को संपादित करने के लिए लिनक्स का उपयोग कर सकते हैं (मैंने बाद में यह सीखा, हेक्स-संपादकों की कोई आवश्यकता नहीं है :)) आप प्रत्येक प्रविष्टि प्रारंभ बिंदु और आकार को बदल सकते हैं, और आवेदन करने से पहले परिवर्तनों की समीक्षा कर सकते हैं। तो: प्रारंभ fdisk
, वर्तमान कॉन्फ़िगरेशन (या बेहतर, एमबीआर के साथ बैकअप dd
) पर ध्यान दें, प्रारंभ पता और आकार मान को 8 से गुणा करें और उन्हें बदल दें। एक कैलकुलेटर के साथ सब कुछ जांचना सुनिश्चित करें और यह समझने के लिए कि मूल्यों का क्या मतलब है। आप देखेंगे कि आकार = अंत - प्रारंभ + 1, और यह fdisk
1000-क्षेत्रों की इकाई में आकार दिखाता है, इसलिए आपको वास्तविक मूल्य देखने के लिए विशेषज्ञ मोड को चालू करना पड़ सकता है, आदि