4096-बाइट सेक्टर डिस्क पर 512-बाइट सेक्टर MBR को सही कैसे करें?


23

अंतिम अद्यतन:

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


शुरुआत में

मेरे पास एक कंप्यूटर था और अधिक स्थान की आवश्यकता थी, मैंने एक नया 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 त्रुटियां थीं और मैं सब कुछ खो सकता था, रॉड के उत्तर पर टिप्पणी देख सकता हूं। अन्य विभाजन के लिए मैं जोखिम नहीं उठाऊंगा और एक पुराने एचडीडी का उपयोग करूंगा और एक बार में डेटा को कॉपी करके और फिर इसे एक अलग स्थिति पर चिपकाकर संकरी संरेखित करूंगा।


पता नहीं है, लेकिन एक टिप्पणी की तरह लगता है कि आप कंप्यूटर कैसे काम कर सकते हैं! (और फिर अगर यह समस्या को हल करने में मदद करता है, तो नकदी के साथ एक और हार्ड ड्राइव खरीदें)
बारलोप

@barlop धन्यवाद! लेकिन मुझे पहले से ही अपने दिन को अपनी नौकरी और कॉलेज के बीच में विभाजित करना है, इसलिए दूसरी नौकरी अभी नहीं है;) मुझे इन विभाजनों को कठिन तरीके से ठीक करना होगा =)
NothingsImpossible

1
आदमी यह 6 बजे है और मैं इस समस्या से निपटने के लिए सबसे कम समय में हूँ!
लियोनेल

1
ठीक है, इसलिए मुझे विपरीत समस्या है: मेरे पास बाड़े का उपयोग करके 1TB डिस्क स्वरूपित है। इसलिए इसे प्रति सेक्टर पते पर 4096 बाइट्स का उपयोग करके स्वरूपित किया गया था। मैं हाथ से एमबीआर संपादित करने में सहज नहीं हूं। और मुझे सीधे SATA (512 बाइट प्रति सेक्टर) किसी भी सुझाव पर एचडीडी का उपयोग करने की आवश्यकता है?
लियोनेल

1
@ लॉयन आप fdiskएमबीआर को संपादित करने के लिए लिनक्स का उपयोग कर सकते हैं (मैंने बाद में यह सीखा, हेक्स-संपादकों की कोई आवश्यकता नहीं है :)) आप प्रत्येक प्रविष्टि प्रारंभ बिंदु और आकार को बदल सकते हैं, और आवेदन करने से पहले परिवर्तनों की समीक्षा कर सकते हैं। तो: प्रारंभ fdisk, वर्तमान कॉन्फ़िगरेशन (या बेहतर, एमबीआर के साथ बैकअप dd) पर ध्यान दें, प्रारंभ पता और आकार मान को 8 से गुणा करें और उन्हें बदल दें। एक कैलकुलेटर के साथ सब कुछ जांचना सुनिश्चित करें और यह समझने के लिए कि मूल्यों का क्या मतलब है। आप देखेंगे कि आकार = अंत - प्रारंभ + 1, और यह fdisk1000-क्षेत्रों की इकाई में आकार दिखाता है, इसलिए आपको वास्तविक मूल्य देखने के लिए विशेषज्ञ मोड को चालू करना पड़ सकता है, आदि
NothingsImpossible

जवाबों:


24

सेक्टर के आकार के मुद्दे काफी जटिल होते जा रहे हैं। 2009 के अंत तक, हार्ड डिस्क के विशाल बहुमत ने 512-बाइट सेक्टरों का उपयोग किया, और वह यह था। 2009 के अंत में, डिस्क निर्माताओं ने तथाकथित उन्नत प्रारूप (AF) डिस्क की शुरुआत की , जो 4096-बाइट क्षेत्रों का उपयोग करते हैं। ये पहले AF डिस्क (और, AFAIK, सभी AF डिस्क आज) कंप्यूटर के लिए एक इंटरफ़ेस प्रस्तुत करते हैं जो प्रत्येक 4096-बाइट भौतिक क्षेत्र को आठ 512-बाइट तार्किक क्षेत्रों में विभाजित होने के रूप में दिखाता है । यह रूपांतरण पुराने उपकरणों को सक्षम करता है, जिसमें कई BIOS शामिल हैं, जो 512-बाइट मान्यताओं के साथ बनाए गए थे, ताकि काम जारी रखा जा सके। मुझे नहीं पता कि आपकी डिस्क वायुसेना का उपयोग करती है या नहीं, लेकिन या तो मामले में, यह लगभग निश्चित रूप से 512-बाइट तार्किक क्षेत्र आकार का उपयोग करता है, जिसका अर्थ है कि ओएस के इंटरफ़ेस को 512-बाइट क्षेत्रों का उपयोग करना चाहिए।

मामलों की शिकायत करना निश्चित रूप से USB डिस्क एनक्लोजर है। इन बाड़ों में से कुछ एएफ क्या करता है के रिवर्स करते हैं: वे आठ डिस्क सेक्टर लेते हैं और उन्हें एक नए 4096-बाइट सेक्टर में बंडल करते हैं। मुझे यकीन नहीं है कि इस कदम के पीछे तर्क क्या है, लेकिन एक व्यावहारिक लाभ यह है कि 2TiB से बड़ा डिस्क पुराने एमबीआर विभाजन प्रणाली के साथ इस्तेमाल किया जा सकता है। एक बड़ा नुकसान यह है कि इन बाड़ों में से एक में विभाजित एक डिस्क का उपयोग सीधे या एक बाड़े में नहीं किया जा सकता है जो इस प्रकार का अनुवाद नहीं करता है। इसी तरह, इस अनुवाद के बिना तैयार की गई डिस्क का उपयोग तब नहीं किया जा सकता जब इसे इस तरह के बाड़े में स्थानांतरित किया गया हो। ध्यान दें कि यह समस्या स्वयं एमबीआर से परे जाती है; आपकी डिस्क पहले विभाजन (512-बाइट) सेक्टर 2048 की शुरुआत के रूप में पहचान सकती है, लेकिन यदि आपका ओएस (4096-बाइट) सेक्टर 2048 की तलाश में थाउस विभाजन की शुरुआत का पता लगाएं! आप इस समस्या में भाग चुके हैं। जैसे, आपका प्रारंभिक विचार यह है कि यह USB संलग्नक की गलती के निशान से अधिक हाल के विचार के करीब है कि आपके मदरबोर्ड ने इसे गड़बड़ कर दिया। मैंने कभी भी इस तरह से सेक्टर साइज़ का मदरबोर्ड नहीं सुना है। (कुछ हार्डवेयर RAID उपकरण ऐसा करते हैं, हालांकि।)

मुझे लिनक्स को सेक्टर आकार के अपने विचार को समायोजित करने के लिए मजबूर करने का एक तरीका नहीं पता है, लेकिन यदि आपके पास पर्याप्त डिस्क स्थान है, तो एक अन्य डिस्क पर निम्न-स्तरीय डिस्क कॉपी करने से मदद मिल सकती है। उदाहरण के लिए:

dd if=/dev/sdb of=~/image.img

यह /dev/sdbफ़ाइल से आपकी डिस्क (USB डिस्क; आवश्यक के रूप में समायोजित) को कॉपी करेगा ~/image.img। फिर आप छवि के विभाजन को माउंट करने के लिए निम्न स्क्रिप्ट का उपयोग कर सकते हैं:

#!/bin/bash
gdisk -l $1 > /tmp/mount_image.tmp
let StartSector=`egrep "^   $2|^  $2" /tmp/mount_image.tmp | fmt -u -s | sed -e 's/^[ \t]*//' | head -1 | cut -d " " -f 2`

let StartByte=($StartSector*512)

echo "Mounting partition $2, which begins at sector $StartSector"

mount -o loop,offset=$StartByte $1 $3

rm /tmp/mount_image.tmp

स्क्रिप्ट को mount_imageइस तरह से सहेजें, कहें, और उसका उपयोग करें:

./mount_image ~/image.img 2 /mnt

इस के विभाजन 2 माउंट होगा image.imgकरने के लिए /mnt। ध्यान दें कि स्क्रिप्ट GPT fdisk ( gdisk) पर निर्भर करती है , जिसमें अधिकांश वितरण नामक पैकेज में शामिल होते हैं gptfdiskया gdisk

लंबे समय में, एक बेहतर समाधान डिस्क को कनेक्ट करने का एक तरीका खोजना है जो सेक्टर-आकार का अनुवाद नहीं करेगा। एक नए मदरबोर्ड के लिए एक सीधा संबंध चाल करना चाहिए; या आप शायद एक बाहरी संलग्नक पा सकते हैं जो अनुवाद नहीं करता है। वास्तव में, कुछ एनक्लोजर USB पोर्ट पर ट्रांसलेशन तो करते हैं, लेकिन ईएसएटीए पोर्ट पर नहीं, इसलिए यदि आपके एनक्लोजर में ईएसएटीए पोर्ट है, तो आप इसका उपयोग करने का प्रयास कर सकते हैं। मुझे पता है कि इन समाधानों में पैसा खर्च करने की संभावना है, जो आप कहते हैं कि आपके पास नहीं है, लेकिन हो सकता है कि आप अपने अनुवाद के लिए एक अनुवाद का व्यापार कर सकें जो अनुवाद नहीं करता है।

एक अन्य विकल्प जो मुझे होता है वह है वर्चुअल मशीन जैसे वर्चुअलबॉक्स का उपयोग करने का प्रयास करना। इस तरह के उपकरण डिस्क डिवाइस को प्रभावी ढंग से अनुवाद को पूर्ववत करते समय 512-बाइट सेक्टर आकार ग्रहण कर सकते हैं; या आप dd if=/dev/sdc of=/dev/sdbवर्चुअल मशीन के भीतर डिस्क की सामग्री को कच्चे (के रूप में ) की नकल करने में सक्षम हो सकते हैं, जो सम्पीडन के साथ सामग्री की प्रतिलिपि बना सकता है, इस प्रकार छवि को मूल खपत की तुलना में कम डिस्क स्थान पर फिट करने में सक्षम बनाता है।


बहुत ही व्यावहारिक जवाब, लेकिन काफी नहीं जो मैं देख रहा था .. मैंने पहले से ही वर्चुअल मशीन विधि की कोशिश की है लेकिन यह अनुवाद को पूर्ववत नहीं करता है। मैं अभी घर आया हूं, और dd का उपयोग करके पहले विभाजन (एक छोटा, कम महत्वपूर्ण) को संरेखित करने की कोशिश करूंगा और इसे रात भर चलने दूंगा। सफल होने पर, मैं एमबीआर को हाथ से संपादित करने की कोशिश करूंगा यदि कोई जवाब नहीं देता है।
NothingsImpossible

4
डिस्क की सामग्री को संशोधित करने का प्रयास करेंdd! जब तक आप बहुत सावधान रहते हैं और चीजों को बहुत अच्छी तरह सेसमझते हैं(या असाधारण रूप से भाग्यशाली हैं), तो आप इसे ठीक करने की तुलना में इस चीज़ को कचरा कर सकते हैं। यह मेरे लिए होता है कि आप विभाजन तालिका को समायोजित करने में सक्षम हो सकते हैंfdisk: मूल का बैकअप लें और फिर हर विभाजन के आरंभ बिंदु को 8 से विभाजित करें (और अंतिम बिंदु के आरंभ बिंदु से ठीक पहले समाप्त होने वाले बिंदुओं को सेट करें)। यह केवल एक मौका है जब विभाजन प्रारंभ बिंदु मान 8. के ​​सभी गुणक हैं
रॉड स्मिथ

1
पवित्र गाय! जानकारी के लिए धन्यवाद। मैं एक दिन के लिए अपने मैक / विंडोज एचडीडी को एक दिन के लिए एसएसडी पर क्लोन करने की कोशिश कर रहा हूं और आखिरकार मैं इस मुद्दे की पहचान करने में सक्षम था: रोस्वाइल एसएटीए / आईडीई यूएसबी एडेप्टर मैं एसएसडी को कनेक्ट करने के लिए उपयोग कर रहा था यह "रिवर्स रूपांतरण" कर रहा था "4096-बाइट क्षेत्रों के लिए! इसलिए SSD पर GPT + हाइब्रिड MBR ddUSB के माध्यम से कनेक्ट होने के बाद मैंने इसे क्लोन करने के बाद बकवास की तरह देखा , और मुझे लगा कि क्लोन विफल हो गया है। लेकिन जब मैंने अपने पुराने HDD के स्थान पर SSD को सीधे अपने मदरबोर्ड से जोड़ा, तो सब कुछ ठीक रहा!
एलियट

1
मेरी पिछली टिप्पणी को संपादित नहीं किया जा सकता है, लेकिन संरेखित उपकरण इस मामले में बेकार है, यह सिर्फ अनुकूलन उद्देश्यों के लिए है। हालाँकि, ध्यान दें कि आप TestDisk का उपयोग कर सकते हैं और एक गहरे स्कैन के बाद, फ़ाइलों को सूचीबद्ध करने के लिए P दबाएं और अपनी डिस्क की सामग्री को पुनर्प्राप्त करें (यह है कि मैंने अपना डेटा कैसे पुनर्प्राप्त किया, लेकिन मुझे बाइट सेक्टर को ठीक करने का कोई तरीका नहीं मिला: इस दिन...)।
परिक्षेत्र

1
एक दिलचस्प रीड जो समस्या की पुष्टि करता है और समाधान पर संकेत देता है (लिनक्स लूपबैक डिवाइस के माध्यम से पुल का अनुवाद): goughlui.com/2013/10/02/… और यह askubuntu.com/questions/337693/… । और सिर्फ एक अतिरिक्त नोट के रूप में, मैंने भौतिक आकार से मेल खाने के लिए तार्किक आकार को जबरदस्ती संपादित करने की कोशिश की, लेकिन ड्राइव को अभी भी मान्यता नहीं मिली थी। लेकिन इसे फ़ॉर्मेट करना माउंटिंग को ठीक करता है, लेकिन फ़ाइलें निश्चित रूप से खो जाती हैं, इसलिए लूपबैक माउंटिंग या टेस्टडिस्क के माध्यम से पहले उन्हें बेहतर तरीके से पुनर्प्राप्त करें।
गाभिन

4

इस स्क्रिप्ट ने रॉड स्मिथ के प्रस्ताव को सामान्य किया, जब आपके पास एक छापा या एक क्रिप्टो है। कोई वारंटी नहीं। इसे सुधारने के लिए स्वतंत्र महसूस करें! (Mdadm के बारे में नवीनतम जानकारी के साथ अद्यतन)

#!/bin/sh
#
# This script solve the following problem:
#
# 1. create a GPT partition on a large disk while attached directly via SATA
#    when the device present itself with 512 bytes of block size:
#    sd 3:0:0:0: [sda] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
#
# 2. try to use a SATA to USB adapter like ID 067b:2773 Prolific Technology, Inc.
#    this present the device with 4096 bytes of block size:
#    sd 19:0:0:0: [sdc] 732566646 4096-byte logical blocks: (3.00 TB/2.72 TiB)
#
# 3. The kernel is unable to read correctly the partition table with
#    the USB adaper.
#
#
# With the current tools (kernel and gdisk) in debian wheezy is
# possible to use losetup to remap the partitions to loop devices so
# you can use them as usual with any filesystem, raid or crypto
#
# I still do not know if this issue is originated by the adapter or by
# the disk and if there are any others workarounds.
#
# Known version of the software:
# $ apt-show-versions linux-image-3.2.0-4-amd64
# linux-image-3.2.0-4-amd64/wheezy uptodate 3.2.54-2
# $ apt-show-versions gdisk
# gdisk/wheezy uptodate 0.8.5-1


attach_device() {

    device="$1";

    MYTMPDIR=`mktemp -d`
    trap "rm -rf $MYTMPDIR" EXIT

    # gdisk on the device use the 4096 sector size
    # but we need to force it to 512
    # this is a knwon workaround from http://superuser.com/a/679800
    # basically we make a copy of the gpt partition table on a file
    dd if="/dev/$device" bs=16384 count=1 of="$MYTMPDIR/gpt" 2> /dev/null

    # we extract the offset and the size of each partition
    #
    # FIXME: the "+ 1" seems strange, but it is needed to get the same
    #        size value from:
    #
    #        blockdev --getsize64
    #
    #        without the "+ 1" some funny things happens, for example
    #        you will not be able to start a recognized md device:
    #
    #        md: loop1 does not have a valid v1.2 superblock, not importing!
    #        md: md_import_device returned -22
    #
    #        even if
    #
    #        mdadm --examine /dev/loop1
    #
    #        does not complaint

    gdisk -l \
     "$MYTMPDIR/gpt" 2> /dev/null | \
     awk '/^ *[0-9]/ {printf "%.0f %.0f\n", $2 * 512, ($3 - $2 + 1) * 512}' > $MYTMPDIR/offset-size

    # we create a loop device with the give offset and size
    while read line;
    do
        offset=$(printf "$line" | cut -d ' ' -f 1);
        size=$(printf "$line" | cut -d ' ' -f 2);
        losetup --verbose --offset "$offset" --sizelimit "$size" `losetup -f` /dev/$device;
    done < $MYTMPDIR/offset-size;
}

detach_device() {

    device="$1";

    for loopdevice in `losetup -a | grep "$device" | cut -d : -f 1`;
    do
        losetup --verbose --detach "$loopdevice";
    done;
}

usage() {
cat <<EOF
Usage:
- $0 -h to print this help
- $0 sda to attach the gpt partitions of sda
- $0 -d sda to detach the gpt partitions of sda
EOF
}


detach=0;

while getopts hd action
do
    case "$action" in
        d) detach=1;;
        h) usage;;
    esac
done
shift $(($OPTIND-1))

if [ $# -ne 1 ];
then
    usage;
fi

if [ "x$detach" = "x0" ]; then
    attach_device $1;
else
    detach_device $1;
fi

वाह! अच्छी नौकरी!
NothingsImpossible

3

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

parted /dev/sdb

जब आप विभाजन रेखा बनाई गई थी, जिसके साथ अलग-अलग सेक्टर आकार वाली डिस्क को पढ़ने का प्रयास करते समय, आपको इन पंक्तियों के साथ कुछ बताएगा:

Error: /dev/sdb: unrecognised disk label                                  

आपके द्वारा पहले उपयोग किए गए अनुसार एक नया MBR या GPT बनाने के लिए mklabel का उपयोग करें

(parted) mklabel
New disk label type? mbr

फिर अपने पुराने विभाजन को खोजने के लिए बचाव चलाएं

(parted) rescue
Start? 0
End? 4001GB
Information: A ext4 primary partition was found at 1049kB -> 2000GB.  Do you
want to add it to the partition table?
Yes/No/Cancel? y

यदि आपके पास अधिक विभाजन हैं तो बचाव प्रक्रिया को दोहराएं। अब तुम हो गए।


1
इसने मेरे विभाजन तालिका को मलबे से gpt में बदलने के लिए पूरी तरह से काम किया। ऐसा करना ताकि मैं एक क्लोन 2TB डिस्क का 4TB तक विस्तार कर सकूं। थोड़ी सी घबराहट मेरे विभाजन को वहीं लटका देती है लेकिन यह अन्य विधियों की तुलना में बहुत तेज है।
ओरेगॉनट्रिल

3

मुझे यह समस्या तब हुई जब मैंने WD मेरी बुक बाहरी संलग्नक से 4TB डिस्क को हटा दिया। यह समस्या है:

  1. MBR विभाजन तालिका 8 के एक कारक द्वारा बंद है और
  2. MBR विभाजन तालिका> 2TB को संभाल नहीं सकती है जब सेक्टर का आकार 512 है।

समाधान: जीपीटी में विभाजन तालिका को फिर से लिखें, 512 बाइट क्षेत्रों का उपयोग करने के लिए मूल्यों को परिवर्तित करना।

मेरे मामले में विभाजन 1MB ऑफसेट पर शुरू हुआ और डिस्क के अंत से पहले समाप्त (~ 856kB) हुआ। यह अच्छा है क्योंकि तब इसने विभाजन से पहले एमबीआर + जीपीटी (17408 बाइट्स) और डिस्क के अंत में बैकअप जीपीटी (16896 बाइट्स) की अनुमति दी थी।

मैंने दोनों क्षेत्रों की छवियों को केवल मामले में (dd का उपयोग करके) बनाया है।

मैं से उत्पादन का उल्लेख किया fdisk -l /dev/sde

मैंने पहले विभाजन को हटाने के लिए gdisk का उपयोग किया। यदि आप चाहते हैं, तो आप कर सकते हैं जैसा मैंने किया था और जितना संभव हो उतना स्थान उपयोग करने के लिए संरेखित मान को 8 (4096) में बदल दें। फिर, मैंने 2048 में शुरुआत और डिस्क के अंत में एक नया विभाजन बनाया। मैं बाद में फाइल सिस्टम बढ़ाऊंगा।

शुक्र है, सेक्टर के आकार में परिवर्तन फ़ाइल सिस्टम, LVM या LUKS को प्रभावित नहीं करता है।

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