मैं अपने / (रूट) विभाजन का आकार कैसे बदल सकता हूं?


171

भले ही मेरा एसडी कार्ड 16GB है, लेकिन जिस छवि पर मैंने फ्लैश किया, वह केवल 2GB थी और अब मैं डिस्क पर केवल 2GB स्टोरेज स्पेस देख सकता हूं।

मैं छवि का आकार कैसे बदल सकता हूं ताकि मेरे रूट विभाजन पर अधिक स्थान हो?


धन्यवाद .. मेरे लिए बहुत अच्छा काम किया और मेरे सिस्टम को टैंक नहीं

1
जब आप शेष मुक्त एसडी-कार्ड स्थान पर नया विभाजन बना सकते हैं, तब रूट विभाजन का आकार बदलें और फिर /mnt/storageउदाहरण के लिए इसे रूट विभाजन के अंदर माउंट करें । यह प्रभावी रूप से सिस्टम और डेटा को अलग करता है और इसे बनाए रखना और बैकअप करना आसान बनाता है।
mbaitoff

2
@ mbaitoff - क्योंकि डिफ़ॉल्ट सिस्टम छवि में केवल 68MiB रिक्त स्थान है, जो अतिरिक्त सॉफ़्टवेयर जोड़ने के लिए बहुत जगह नहीं छोड़ता है।
जूल्स

@ जूल्स - मैं यह नहीं पूछ रहा था कि कोई एक विभाजन का आकार क्यों बदलना चाहेगा। A यह पूछ रहा था कि सिस्टम विभाजन आरोह बिंदु पर अतिरिक्त भंडारण को बढ़ाने के बजाय सिस्टम विभाजन का आकार क्यों बदल जाएगा और इस तरह सिस्टम और सॉफ्टवेयर / डेटा को अलग-थलग कर देगा? यदि आप संग्रहण चाहते हैं, तो बचे हुए एसडी स्पैके को माउंट करें /mnt/storage, यदि आप प्रोग्राम चाहते हैं - माउंट करें /opt/software/
मैबैटॉफ

@ mbaitoff अधिकांश प्रोग्राम / usr में इंस्टॉल होते हैं, न कि ऑप्ट / सॉफ्टवेयर में। पूर्वनिर्मित छवियों की जड़ विभाजन में / usr की सामग्री है। इसलिए यह आवश्यक है कि यदि आप कोई गैर-डिफ़ॉल्ट सॉफ़्टवेयर स्थापित करना चाहते हैं, तो रूट विभाजन का आकार बढ़ाना आवश्यक है।
जूल्स

जवाबों:


158

मान लें कि आप डेबियन का उपयोग कर रहे हैं।

लघु संस्करण:

  1. अपने सिस्टम का बैकअप लें
  2. मुख्य और स्वैप विभाजन निकालें (केवल बूट विभाजन को छोड़कर)
  3. शेष डिस्क स्थान (बूट पार्टीटन को छोड़कर) का उपयोग करने के लिए मुख्य विभाजन को फिर से बनाएँ। मूल रूट विभाजन के समान प्रारंभ क्षेत्र का पुन: उपयोग करना सुनिश्चित करें।
  4. सिस्टम को रिबूट करें
  5. पूर्ण विभाजन आकार का उपयोग करने के लिए नए बूट रूट विभाजन का आकार बदलें।

कदम से कदम निर्देश

पहले कुछ गलत हो जाने की स्थिति में यहां दिए गए निर्देशों का उपयोग करके अपने एसडी कार्ड का बैकअप बनाएं ।

कमांड लाइन या टर्मिनल विंडो से निम्न दर्ज करें

sudo fdisk /dev/mmcblk0

फिर pविभाजन तालिका को सूचीबद्ध करने के लिए टाइप करें

आपको तीन विभाजन देखने चाहिए। यदि आप लास्ट कॉलम लेबल सिस्टम में देखते हैं जो आपके पास होना चाहिए

  1. W95 FAT32
  2. लिनक्स
  3. लिनक्स स्वैप

भाग 2 के लिए प्रारंभ संख्या का एक नोट बनाएं, आपको बाद में इसकी आवश्यकता होगी। हालाँकि यह अभी भी स्क्रीन पर होगा (सिर्फ मामले में)।

dएक विभाजन को हटाने के लिए अगला प्रकार ।

फिर आपको उस विभाजन की संख्या के लिए संकेत दिया जाएगा जिसे आप हटाना चाहते हैं। उपरोक्त मामले में आप लिनक्स और लिनक्स दोनों स्वैप विभाजन को हटाना चाहते हैं।

तो टाइप करें 2

फिर dदोबारा टाइप करें और फिर 3स्वैप विभाजन को हटाने के लिए टाइप करें।

अब आप मुख्य विभाजन का आकार बदल सकते हैं।

nएक नया विभाजन बनाने के लिए टाइप करें।

इस नए विभाजन को एक प्राथमिक विभाजन होने की आवश्यकता है ताकि टाइप करें p

2विभाजन संख्या के लिए संकेत देने पर अगला दर्ज करें ।

अब आपको नए विभाजन के लिए पहले क्षेत्र के लिए प्रेरित किया जाएगा। पहले चरण (लिनक्स विभाजन) से प्रारंभ संख्या दर्ज करें

अगला आपको अंतिम सेक्टर के लिए संकेत दिया जाएगा जो आप केवल डिफ़ॉल्ट को स्वीकार करने के लिए एंटर दबा सकते हैं जो शेष डिस्क स्थान का उपयोग करेगा।

wआपके द्वारा किए गए परिवर्तनों को सहेजने के लिए टाइप करें।

अगला सिस्टम को निम्नलिखित कमांड से रिबूट करें:

sudo reboot

एक बार सिस्टम रिबूट हो गया है और आप कमांडलाइन पर वापस आ गए हैं, निम्नलिखित कमांड दर्ज करें:

sudo resize2fs /dev/mmcblk0p2

नोट: इसमें एक लंबा समय लग सकता है (कार्ड के आकार और गति के आधार पर) धैर्य रखें और इसे खत्म करने दें ताकि आप फ़ाइल सिस्टम को गड़बड़ न करें और खरोंच से शुरू करना पड़े।

एक बार जब यह किया जाता है तो सिस्टम को निम्न कमांड से रिबूट करें:

sudo reboot

अब आप सत्यापित कर सकते हैं कि सिस्टम निम्नलिखित कमांड दर्ज करके एसडी कार्ड की पूरी क्षमता का उपयोग कर रहा है:

df -h

यह क्यों काम करता है:

यहां वास्तविक जादू यह है कि आप रूट और स्वैप विभाजन हटाते हैं, फिर डिस्क पर डेटा लिखने से पहले केवल रूट विभाजन (मूल प्रारंभ क्षेत्र का उपयोग करके) को फिर से बनाएँ । परिणामस्वरूप आप मौजूदा डेटा को रूट पार्टीशन से नहीं मिटाते हैं।

स्वैप विभाजन को हटाकर आप रूट विभाजन कक्ष को उसके वर्तमान आकार से आगे बढ़ने और डिस्क के अप्रयुक्त हिस्से को भरने की अनुमति देते हैं (विभाजन के प्लेसमेंट के कारण रूट विभाजन बूट और स्वैप विभाजन के बीच सैंडविच हो जाता है - यह नहीं हो सकता बस स्वैप विभाजन को अकेले छोड़ने का आकार बदला जा सकता है)।

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

संदर्भ:


1
@ जिविंग यदि सही ढंग से की जाती है तो आप एक चीज़ नहीं खोते हैं, लेकिन यही कारण है कि मैंने स्टेप वन बैकअप बनाया है।
स्टीव रोबिलार्ड

2
टिप्पणियों से ऐसा लगता है कि आपको यह भी दस्तावेज़ करना चाहिए कि यह काम क्यों करता है, न कि कैसे।
जीव

1
@Jivings उम्मीद है कि यह आपकी चिंताओं को संबोधित करता है।
स्टीव रोबिलार्ड

9
यह बहुत गलत लगता है कि इसका आकार बदलने के लिए आपको एक विभाजन हटाना होगा।
एलेक्स चेम्बरलेन

5
@AwesomeUser आप इसे मैक पर नहीं करते हैं, आप इसे पीआई पर ही करते हैं। इसके अलावा, यदि आप रास्पियन चला रहे हैं, तो आप पीआई को बूट कर सकते हैं और कमांड लाइन से निम्न कमांड sudo raspi-config को जारी कर सकते हैं, और resize root विभाजन विकल्प चुनें।
स्टीव रोबिलार्ड

102

डेबियन-व्हीज़ी बीटा छवि का उपयोग करते हुए, इसमें बनाया गया एक कॉन्फ़िगरेशन उपयोगिता है जो इसे आसान बनाता है:

नामक एक उपयोगिता है raspi-config। यदि आप सीधे आरपीआई से जुड़े हैं तो यह पहले बूट पर चलता है। यदि आप SSH से अधिक हैं, तो आप इसे मैन्युअल रूप से उपयोग करके चला सकते हैं $ sudo raspi-config। (मुझे लगता है कि आप टूल को किसी भी समय मैन्युअल रूप से फिर से चला सकते हैं)।

नीले डायल पर दूसरा विकल्प जो निम्न है expand_rootfs, शीर्षक है , "एसडी कार्ड भरने के लिए रूट विभाजन का विस्तार करें"।

अगली बार जब आप अपनी आरपीआई को बूट करेंगे तो कार्ड को भरने के लिए आपके रूट विभाजन का चयन करने का कारण होगा।

2015 के लिए अपडेट!

मैं सावधानी के साथ इस उत्तर पर वापस आ रहा हूं: मैं 16 जीबी एसडी कार्ड का एक गुच्छा इस्तेमाल कर रहा हूं, और मैं अपने विभाजन को अधिकतम करके पकड़ा गया हूं जो कार्ड मैं उपयोग कर रहा था। ऐसा करने से नए कार्ड पर स्विच करते समय समस्याओं का एक गुच्छा होता है (भले ही इसे 16GB के रूप में कहा गया था) पुराने कार्ड से लगभग 200MB छोटा था।

यह तब सामने आया जब मैंने v1 से आरपीआई के एक जोड़े को नए वी 2 मॉडल में बदल दिया, जो माइक्रो एसडी कार्ड का उपयोग करता है।

मैं अब लगभग 1GB मुफ्त छोड़ देता हूं, यह सुनिश्चित करने के लिए कि मेरी छवियों को बिना किसी समस्या के एसडी कार्ड के बीच स्विच किया जा सकता है।


इस प्रक्रिया में मेरे पाई पर 16 जीबी कार्ड के साथ लगभग 10 मिनट लगे।
डेर होकस्टाप्लर

5
यह शीर्ष उत्तर की तुलना में बहुत सरल है। यह उपयोग करने का उपाय है।
जेम्स स्किमिंग

@JamesSkimming: यह डेबियन-व्हीज़ी बीटा छवि के लिए उपयोग करने के लिए समाधान है। दूसरों के लिए नहीं।
एसएफ।

यह रास्पियन के लिए काम नहीं करता है, जब SDCard पर NOOBS से आरपीआई किट के साथ शिपिंग किया जाता है। जब आप विस्तारित विकल्प को चलाने का प्रयास करते हैं, तो यह कहता है कि यह इस कॉन्फिग द्वारा समर्थित नहीं है, लेकिन चूंकि आपके रनिंग नॉब्स यह संभवतः वैसे भी सभी जगह का उपयोग कर रहे हैं ... समस्या यह है कि मैं एक 32 जीबी कार्ड पर 8 जीबी की छवि को फिर से शुरू करने की कोशिश कर रहा हूं
इयोन कैम्पबेल

Raspi-config को नहीं पता है कि Raspbian Wheezy की जड़ का आकार कैसे बदला जाता है। आपके द्वारा सुझाए गए मुद्दों के रूप में Expand_rootfs। आपके ऊपर का उत्तर लाइव सिस्टम में एक आकर्षण की तरह काम करता है और इसे "लगभग 1 जीबी छोड़ने" की आवश्यकता नहीं है।
GTodorov

28

यदि आप कमांड लाइन पर काम करने में बहुत सहज नहीं हैं, जैसे कि स्टीव रॉबर्ड्स उत्कृष्ट उत्तर में, कुछ जीयूआई एप्लिकेशन उपलब्ध हैं। विशेष रूप से gparted काम करता है बहुत अच्छी तरह से।

मुझे लगता है कि यह एक Ubuntu LiveCD पर डिफ़ॉल्ट रूप से स्थापित है, लेकिन एक स्थापित सिस्टम पर नहीं। इस के लिए एक आसान ठीक निश्चित रूप से नहीं है: apt-get install gparted। आप वास्तविक Pi पर ऐसा नहीं कर सकते, क्योंकि विभाजन का आकार बदलने के लिए उन्हें अनमाउंट करने की आवश्यकता होती है।

नीचे दी गई तस्वीर डच में है, लेकिन इसे खराब न होने दें। इसका उपयोग करना बहुत आसान है। यह 8gb sdcard पर डिफ़ॉल्ट डेबियन इमेज का लेआउट है।

GParted

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

आकार बदलें

आप विभाजन लेआउट के साथ खेल सकते हैं, परिवर्तन केवल तभी लिखे जाते हैं यदि आप परिवर्तनों को लागू करते हैं (पहली तस्वीर में ग्रे आउट 'वापसी')।

विभाजन को स्थानांतरित करना बहुत आसान है, लेकिन स्टीव के जवाब की तरह मैं आपको पूरी तरह से स्वैप विभाजन को हटाने की सलाह दूंगा, फिर रूट का आकार बदल दूंगा और फिर एक स्वैप को फिर से बनाऊंगा। एक विभाजन को स्थानांतरित करने में बहुत लंबा समय लग सकता है और स्वैप में वह डेटा नहीं होता है जिसे आपको रखने की आवश्यकता होती है।


1
मैंने इस विधि का उपयोग किया है; एक जादू की तरह काम करता है।
एलेक्स चैम्बरलेन

मैं सहमत हूँ। मैंने इसे ठीक करने के लिए gparted का उपयोग किया है और इसका बहुत आसान है
JayDev

आप VNC के माध्यम से कनेक्ट कर रहे हैं, को चलानेsudo -E gparted
forzagreen

इससे पहले gpartedकि आप वायलैंड के तहत चल रहे हों, (निश्चित रूप से इन मुद्दों को हल नहीं किया गया है) से पहले निम्नलिखित कमांड को चलाने की आवश्यकता हो सकती है :xhost +SI:localuser:root
जॉन मेन्को

11

यदि आप नए डेबियन व्हीजी इमेज का उपयोग करते हैं: http://www.raspberrypi.org/archives/1435 एक बूट-टाइम स्क्रिप्ट आपको sdcard को स्वचालित रूप से भरने के लिए आकार बदलने की अनुमति देता है।


1
मैं आर्क लिनक्स का उपयोग कर रहा हूं।
जिविंग्स

2
हालांकि ऐसा कैसे होगा?

2
यह किसी भी अप-टू-डेट मट्ठा छवि के लिए विभाजन का आकार बदलने का सबसे आसान तरीका है।
युवल एडम

-3

मैंने इस वीडियो का अनुसरण किया और इसने मेरे लिए पूरी तरह से काम किया (मेरे पास 16 जीबी कार्ड है):

http://www.youtube.com/watch?v=R4VovMDnsIE&feature=plcp


10
-1 उत्तर लिंक सड़ने की स्थिति में अपने दम पर खड़े होने में सक्षम होना चाहिए।
18
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.