मैं रनटाइम पर एक एक्सट्रीम रूट विभाजन का आकार कैसे बदल सकता हूं?


236

मैं रनटाइम पर किसी सिस्टम के रूट विभाजन का आकार कैसे बढ़ा सकता हूं?

मेरे पास एक विभाजन है जो रूट विभाजन (जो भी ext4 है) के बाद आवंटित नहीं किया गया है, मैं सर्वर को शटडाउन किए बिना रूट विभाजन को आवंटित अंतरिक्ष में उस असंबद्ध स्थान को कैसे जोड़ सकता हूं?


3
मुझे कीचड़ में एक छड़ी की तरह आवाज से नफरत है, लेकिन यह जोखिम का एक सा है? ऐसा होने की आवश्यकता क्यों है? क्या मुख्य बाधा है?
मेघ

आप बाईं ओर विभाजन का आकार नहीं बदल सकते, क्योंकि यह वास्तव में एक चाल होगी।
ज़ाज़

5
Ext4 पारगमन का आकार ऑनलाइन बढ़ाना आसान है। मुश्किल हिस्सा सिकुड़ जाएगा (आपका शीर्षक "आकार बदलने" के बारे में है)। रूट विभाजन पर किसी भी हेरफेर से दिलचस्पी रखने वाले लोगों के लिए, रनटाइम के दौरान (हटना, सिकुड़ना, फाइल सिस्टम, डिवाइस को बदलना) मेरे जवाब से परामर्श करना चाहिए: askubuntu.com/a/728141/21888
vab

जवाबों:


214

GUI (Ubuntu 14.04 और बाद में) : GParted v0.17 और बाद में इसके लिए एक अच्छा GUI प्रदान करते हैं। (पुराने संस्करण माउंटेड पार्टीशन का आकार बदलने से इंकार कर देंगे)।

कमांड लाइन (कोई भी उबंटू संस्करण): इसके तीन चरण हैं।

चरण 1. विभाजन को पहले आकार दिया जाना चाहिए। यदि आप LVM का उपयोग कर रहे हैं, तो यह आसान है, और आप संभवतः आगे बढ़ना जानते हैं। यदि आप क्लासिक विभाजन का उपयोग कर रहे हैं, तो यह थोड़ा अधिक जटिल है, और इसके लिए एक रिबूट की आवश्यकता हो सकती है (हालांकि आपको किसी अन्य सिस्टम या लाइव सीडी को बूट करने की आवश्यकता नहीं है)।

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

उदाहरण:

$ sudo fdisk /dev/sda

Command (m for help): p

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     9437183     4717568   83  Linux

Command (m for help): d
Selected partition 1

Command (m for help): p

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4, default 1): 1
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
Using default value 10485759

Command (m for help): p

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    10485759     5241856   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

फिर, यह महत्वपूर्ण है कि नया विभाजन पुराने के समान ब्लॉक पर शुरू होता है। Id का मिलान (Linux सिस्टम के लिए 83) भी होना चाहिए। अपने सभी डेटा को मामूली टाइपो में खोने के लिए तैयार रहें।

सुरक्षित पक्ष पर होने के लिए, आप बूट फ्लैग को पुनर्स्थापित कर सकते हैं (जो कि कुछ कंप्यूटरों पर विकिपीडिया के अनुसार अभी भी आवश्यक है) दबाकर a

यदि आपका स्वैप विभाजन रास्ते में है तो क्या करना है, इसके लिए टिप्पणी अनुभाग देखें।

अब तक यह स्पष्ट होना चाहिए कि लोग लाइव सीडी का उपयोग करने की सलाह क्यों देते हैं। ;-)

चरण 2. जैसा कि fdiskआपको याद दिलाता है, आपको आगे बढ़ने से पहले विभाजन तालिका को फिर से लोड करना होगा। सबसे सुरक्षित तरीका केवल रिबूट करना है; लेकिन आप (partprobe या kpartx अधिक जानकारी) का उपयोग भी कर सकते हैं ।

चरण 3. एक बार विभाजन का आकार बदलने और विभाजन तालिका को पुनः लोड करने के बाद, यह resize2fsफ़ाइल सिस्टम पर चलने का एक साधारण मामला है, और आप इसे तब भी कर सकते हैं जब यह रूट विभाजन के रूप में माउंट हो।

उदाहरण:

$ sudo resize2fs /dev/sda1

16
इसने मेरे लिए पूरी तरह से काम किया। हालाँकि मैंने अतिरिक्त रूप से यह सुनिश्चित किया था कि बूट झंडा मूल स्थिति में हो।
ऑगस्टस क्लिंग

4
@ jbo5112: जैसा कि fdiskकहते हैं, partprobeया kpartxरिबूट के बजाय काम कर सकते हैं; यह प्रश्न भी देखें । यहां तक ​​कि अगर आप रिबूट करते हैं, तो समाधान तब भी लाइव सीडी का उपयोग करने के लिए बेहतर होता है जब यह डाउनटाइम पर आता है, जहां एक वर्चुअल मशीन के लिए एक साधारण रिबूट 10 एस से कम हो सकता है। यह ऑपरेटर समय में भी तेज है, यही वजह है कि मैं आमतौर पर इस दृष्टिकोण का उपयोग खुद करता हूं। :)
सोरेन लोर्बोर्ग

1
@ रेमंड: यदि मेमोरी प्रेशर की अनुमति देता है (देखें free -h), स्वैप को अक्षम करें ( swapoff /dev/sda2), विभाजन तालिका को बदलें (स्वैप विभाजन को हटाने और पुनः बनाने सहित) और या तो 1) रिबूट या 2) विभाजन तालिका को swaponफिर से लोड करें। (यदि अस्थायी रूप से स्वैप को अक्षम करने के लिए मेमोरी बहुत अधिक तंग है, तो आप अभी भी एक नया स्वैप विभाजन बना सकते हैं और सक्षम कर सकते हैं /dev/sda3), फिर स्वैप करें sda2; लेकिन फिर आपको /etc/fstabनए स्वैप डिवाइस के नाम के साथ अपडेट करना होगा।)
सॉरेन लॉबर्बोरो '

1
यदि आप vmware का उपयोग कर रहे हैं और डिस्क का आकार बढ़ा दिया है, तो आपको फ़ाइल सिस्टम को फिर से बनाने के लिए sudo lshw -C डिस्क को चलाना होगा ताकि vm बड़ी ड्राइव को पहचान सके। फिर ऊपर दिए गए निर्देशों का पालन करें।
लड़के

2
सिकुड़ने का क्या?
आरोन फ्रेंके

114

एक ext4 फाइलसिस्टम का ऑन-लाइन आकार करना संभव है, भले ही यह आपका रूट विभाजन हो। resize2fsकमांड का उपयोग करें ।

sudo resize2fs /dev/sda1

संपादित करें: ऑन-लाइन सिकुड़ने की अनुमति नहीं है:

root@brunojcm-htpc:/home# resize2fs /dev/sda5 2654693
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/sda5 is mounted on /; on-line resizing required
resize2fs: On-line shrinking not supported

55
से man resize2fs: The resize2fs program does not manipulate the size of partitions. If you wish to enlarge a filesystem, you must make sure you can expand the size of the underlying partition first. This can be done using fdisk(8) by deleting the partition and recreating it with a larger size or using lvextend(8),if you're using the logical volume manager lvm(8).यह प्रश्न विभाजन का आकार बदलने के बारे में है , न कि फाइल सिस्टम के बारे में । भेद सूक्ष्म है लेकिन बहुत महत्वपूर्ण है।
एलिया कगन

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

3
मैंने अभी एक ext4 रूट विभाजन को ऑनलाइन आकार दिया है। इसलिए मैं इसकी पुष्टि कर सकता हूं। लेकिन resize2fs को पैरामीटर के रूप में पारित करने के लिए / dev / sda * के बजाय, आपको तार्किक आयतन नाम पास करना होगा।
सीडीआर

10
मैं शुरुआती सवाल के लिए सबसे दिलचस्प resize2fs मैनपेज का पहला पैराग्राफ ढूंढता हूं :The resize2fs program will resize ext2, ext3, or ext4 file systems. It can be used to enlarge or shrink an unmounted file system located on device. If the filesystem is mounted, it can be used to expand the size of the mounted filesystem, assuming the kernel supports on-line resizing. (As of this writing, the Linux 2.6 kernel supports on-line resize for filesystems mounted using ext3 and ext4.).
मो '

5
fdiskजब growpartआप के लिए यह बहुत आसानी से कर देगा के साथ मत करो।
एसटीएमएल

54

एक आसान समाधान - उपयोग growpart <device> <partition>:

growpart /dev/xvda 1  # Grows the partition; note the space
resize2fs /dev/xvda1  # Grows the filesystem

हमेशा की तरह, अपनी विभाजन तालिका ( sfdisk -d /dev/xvda > partition_bak.dmp) को केवल मामले में बैकअप लें ।


सिकुड़ने का क्या?
आरोन फ्रेंके

इस विधि का उपयोग करने की उम्मीद कर रहा था, लेकिन मिला sfdisk: /dev/nvme0n1p5: does not contain a recognized partition table(खिड़कियों के साथ दोहरी बूट का उपयोग करके)
monkut

ऑन-लाइन करना संभव नहीं है। मैं gpartedइसके लिए उपयोग करने की सलाह देता हूं ।
एसटीएमएल

4
क्रुप्टर क्लाउड-बर्तनों का हिस्सा है। मामले में आप स्थापित किया है नहीं है, आप के साथ स्थापित कर सकते हैंapt-get install cloud-utils
klor

1
@monkut पार्टी में देर से, लेकिन आपकी डिस्क संभावना है /dev/nvme0n1। इस डिस्क पर p5 विभाजन 5 है। पारंपरिक बीएसडी डिस्क स्लाइस के साथ तुलना करें, वे एक समान नंबरिंग योजना का उपयोग करते हैं।
प्रति लुंडबर्ग

12

हां, आप किसी भी रिबूट (न ही livecd, और न ही usbkey) के बिना ऑनलाइन रूट विभाजन को छोटा / स्थानांतरित / बढ़ा सकते हैं : इस उत्तर से परामर्श करें । यह बहुत अच्छी तरह से लिखा गया है और पालन करने में आसान है, हालांकि काफी लंबा और थोड़ा जोखिम भरा है। इसलिए यदि आप केवल अपने ext4 विभाजन को बढ़ाना चाहते हैं, तो आप पारंपरिक कामकाजी resize2fsसमाधानों से चिपके रह सकते हैं।

मैंने जो सामान्य समाधान किया है, वह उदाहरण के लिए किसी भी प्रकार के समर्पित या वीपीएस समाधान पर काम करेगा।

TLDR; इस समाधान पर भी लागू होता pivot_rootकरने के लिए tmpfsतो आप कर सकते हैं umountसुरक्षित रूप से अपने रूट विभाजन रहते हैं और बेला इसके साथ। एक बार हो जाने के बाद, आप pivot_rootअपने नए रूट विभाजन पर वापस आ जाएंगे ।

यह रूट फाइल सिस्टम पर बहुत अधिक हेरफेर करने की अनुमति देता है (इसे स्थानांतरित करें, फाइल सिस्टम को बदलें, यह भौतिक डिवाइस बदल रहा है ...)।

प्रक्रिया में किसी भी रिबूट की आवश्यकता नहीं होती है, और यह विभाजन को सिकोड़ने में सक्षम नहीं होने की सीमा को बायपास करने की अनुमति देता हैresize2fs ext4

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

नोट: यदि आप अपने विभाजन को बढ़ाना चाहते हैं, तो निश्चित रूप से एक सरल resize2fsकई स्थानों पर और अन्य उत्तरों में बताया गया है।


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

2
@ SørenLøvborg: आप उन मुख्य सेवाओं को पुनः आरंभ कर सकते हैं जिन्हें पूरी प्रक्रिया करते हुए निरंतर उत्पादन की आवश्यकता होती है। ऐसे कई कॉन्फ़िगरेशन हैं जहां आप LiveCD (VPS इंस्टेंस, समर्पित सर्वर ...) या ऐसी परिस्थितियाँ नहीं डाल सकते हैं जहाँ आप विशिष्ट कारणों से किसी भी रिबूट से बचना चाहते हैं। मूल प्रश्न के शीर्षक में "आकार बदलने" का उल्लेख है, जो लोगों को ऑनलाइन सिकुड़ते हुए विभाजन की तलाश में आकर्षित करता है। ** कोई अन्य समाधान ext4 ऑनलाइन सिकुड़ने की अनुमति देता है। ** यह समाधान जोखिम भरा, जटिल है, लेकिन सबसे शक्तिशाली है और यह दूसरों की कमियों को भरता है।
vabab

1
कृपया बाहरी लिंक के आधार पर उत्तर पोस्ट न करें। संबंधित भाग को अपने उत्तर में रखें या प्रश्न के लिए लिंक को टिप्पणी के रूप में पोस्ट करें। देखें जवाब कैसे जानकारी के लिए।
मेलेबियस

10

आप बस GParted का उपयोग भी कर सकते हैं - जब तक कि आप जिस विभाजन का आकार बदल रहे हैं वह वह नहीं है जिसे आपने बूट किया है - अन्यथा मेरा सुझाव है कि लाइव सीडी विकल्प कुछ नए के लिए कुछ आसान है।

GParted मूल रूप से सभी चरणों को करता है - बस एक GUI मोर्चे पर आधारित है।


मैंने Ubuntu 12.04 लाइव सीडी के साथ अपना सिस्टम बूट किया और मैंने GParted के साथ ext4 विभाजन का आकार बदला। मेरे लिए अच्छा काम किया। वैसे भी, इस ऑपरेशन से पहले मैंने अपने सभी महत्वपूर्ण डेटा का बैकअप लिया।
स्टैंडड्यूप

मुझे लगता है, gparted की जरूरत है विभाजन unmounted। लेकिन मैं गलत हो सकता है
निक

सवाल स्पष्ट रूप से उस विभाजन के बारे में है जो उन्होंने बूट किया था, और एक लाइव सीडी को बूट करने के लिए मशीन को पुनरारंभ करना आवश्यक है। -1
वेजेंड्रिया

5

रूट माउंट होने के दौरान एक लाइव सिस्टम पर ext4 रूट विभाजन का आकार बदलना समाप्त हुआ।

[root@habib i686]# resize2fs /dev/vg_habib/lv_root
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/vg_habib/lv_root is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 10
Performing an on-line resize of /dev/vg_habib/lv_root to 38427648 (4k) blocks.
The filesystem on /dev/vg_habib/lv_root is now 38427648 blocks long.

[root@habib i686]# 

5

मैं @ सोरेन लोर्बोर्ग के उत्तर पर एक विस्तार करना चाहूंगा: विभाजन को वर्तमान में एक स्वैप विभाजन के साथ प्रस्तुत करना।

पहले डिस्क के लेआउट को बढ़ाने के बाद:

$sudo parted /dev/sda 'unit s print' free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 14336000s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start      End        Size       Type      File system     Flags
        63s        2047s      1985s                Free Space
 1      2048s      10485759s  10483712s  primary   ext4            boot
        10485760s  10487805s  2046s                Free Space
 2      10487806s  12580863s  2093058s   extended
 5      10487808s  12580863s  2093056s   logical   linux-swap(v1)
        12580864s  14335999s  1755136s             Free Space

इसलिए sda1 को डिस्क के अंत में मुक्त स्थान के साथ विस्तारित करने की आवश्यकता है, लेकिन स्वैप विभाजन उनके बीच में है। यह आप इसे कैसे कर सकते हैं:

पहले हमें स्वैप को अक्षम करना होगा। जांचें कि यह कितना उपयोग किया जाता है और यदि आप इसे बंद कर सकते हैं।

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           992M         52M        464M        3.2M        475M        784M
Swap:          1.0G          0B        1.0G

यहाँ स्वैप अप्रयुक्त है इसलिए हम इसे बंद कर सकते हैं

$sudo swapoff /dev/sda5

अब हम विभाजन तालिका को बदलेंगे:

$sudo fdisk /dev/sda

(नोट: यदि आप 2048 के बजाय सेक्टर 63 में पहला विभाजन शुरू करना चाहते हैं, तो आपको विकल्प जोड़ने की आवश्यकता है -c=dos)

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sda: 6.9 GiB, 7340032000 bytes, 14336000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9e11c6df

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048 10485759 10483712    5G 83 Linux
/dev/sda2       10487806 12580863  2093058 1022M  5 Extended
/dev/sda5       10487808 12580863  2093056 1022M 82 Linux swap / Solaris

Command (m for help): d
Partition number (1,2,5, default 5): 2

Partition 2 has been deleted.

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-14335999, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-14335999, default 14335999): 12242941

Created a new partition 1 of type 'Linux' and of size 5.9 GiB.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (12242942-14335999, default 12242944):
Last sector, +sectors or +size{K,M,G,T,P} (12242944-14335999, default 14335999):

Created a new partition 2 of type 'Linux' and of size 1022 MiB.

Command (m for help): a
Partition number (1,2, default 2): 1

The bootable flag on partition 1 is enabled now.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

नोट: sda1 का आकार सेक्टरों की कुल राशि है जो आपके स्वैप विभाजन के सेक्टर आकार को घटाता है: 14335999-2093058 = 12242941

जैसा कि fdisk का उल्लेख है: कर्नेल अभी भी पुराने विभाजन तालिका का उपयोग कर रहा है, इसलिए हमें इसे पुनः लोड करने की आवश्यकता है।

$partprobe

अब हमें sda1 पर resize2fs चलाने की आवश्यकता है (इसे मत भूलना!)

$resize2fs /dev/sda1
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 10
The filesystem on /dev/sda1 is now 38833617 (4k) blocks long.

अब, चीजें अभी खत्म नहीं हुई हैं। जैसा कि आपने शायद देखा है sda2 को Linux (Ext4) के रूप में विभाजित किया गया है। किसी कारण से, प्रकार चुनने के लिए fdisk में कोई रास्ता नहीं है। इसलिए हमें इसे वैकल्पिक रूप से उपयोग करना होगाcfdisk

$ sudo cfdisk

Sda2 चुनें और टाइप करें 82 Linux swap / Solarisऔर सुनिश्चित करें कि आपने इसे लिखा है (पुष्टि करने के लिए हां टाइप करें)

अब हम स्वैप को फिर से सक्रिय कर सकते हैं

$mkswap /dev/sda2
/dev/sda2
UUID=d58bf1cb-d27a-487d-b337-056767fd5ad6 none swap sw 0 0

और अंत में इसे चालू करें:

$swapon /dev/sda2

केवल एक चीज जो हमें करने की आवश्यकता है वह है बूटिंग पर स्वैप्ट विभाजन को स्वचालित रूप से माउंट करने के लिए fstab को अपडेट करना

$sudo nano /etc/fstab

और ऊपर दिए गए स्वैप विभाजन के UUID को आउटपुट में बदलें:

# swap was on /dev/sda5 during installation
UUID=d58bf1cb-d27a-487d-b337-056767fd5ad6 none            swap    sw              0       0

अब सब ठीक है और आप समस्याओं के बिना रिबूट कर सकते हैं।


स्वैप विभाजन प्रकार को वैकल्पिक करने के लिए, यह fdisk buy t तब 5 (विभाजन 5) का चयन किया जा सकता है, फिर 82 (प्रकार Linux स्वैप / सोलारिस)
Oz Edri

विभाजन 2 को बढ़ाया नहीं जाना चाहिए? (और तब fdisk में हमें p के बजाय e को चुनना चाहिए) इसके अलावा, क्या mkswap और swapon कमांड को sda2 के बजाय / dev / sda5 पर नहीं चलाया जाना चाहिए?
ओज एदरी

1
स्वैप विभाजन प्रकार के लिए: मैंने अन्य निर्देशों में पाया कि आप वास्तव में fdisk में प्रकार का चयन कर सकते हैं, लेकिन किसी कारण से यह मेरे संस्करण में काम नहीं करता है। वैसे भी, यह हमेशा
wouter205

1
स्वैप विभाजन के लिए: आप एक विस्तारित विभाजन का उपयोग कर सकते हैं लेकिन फिर आपको दो विभाजन जोड़ने की आवश्यकता है: एक विस्तारित और एक तार्किक एक (मेरा प्रारंभिक विभाजन लेआउट देखें)। मेरे उदाहरण में, मैं 2 प्राथमिक विभाजन के साथ समाप्त होता हूं: sda1 - ext4 - रूट विभाजन और sda2 - स्वैप विभाजन। इसलिए mkswap& swaponकमांड को sda2 पर चलाने की आवश्यकता है। मैंने अपनी पोस्ट की शुरुआत में एक गलती की: swapoffsda5 पर अमल करने की जरूरत है। टिप्पणियों का हमेशा स्वागत है, नोट करना मुश्किल था।
०४ पर wouter205

1
जब स्वैप विभाजन एन्क्रिप्ट किया जाता है cryptdisks_stop, तो पहले क्रिप्टिडिस्क को बंद करना पड़ता है , उसके बाद / etc / crypttab को अपडेट करें /etc/fstabऔर क्रिप्टिडिस्क को पुनः आरंभ करें cryptdisks_start
दिमित्री चुबरोव

1

मैं तो बस बिना सफलतापूर्वक ऐसा किया umount, pivot_rootया मुख्य विभाजन के अस्थायी हटाने, उबंटू 16.04, 4.4.0 कर्नेल पर 3.2 जुदा का उपयोग कर। सतर्क रहने के लिए मैंने नेटवर्किंग कंसोल के साथ वर्चुअल कंसोल से सब कुछ किया, और पहले से ही एक स्नैपशॉट लिया, लेकिन स्नैपशॉट की ज़रूरत नहीं थी, इसलिए मैं एसएसएच के माध्यम से और रनलेवेल्स को बदलने के बिना बस ऐसा कर सकता था।

विभाजन का आकार निर्धारित करें: parted /dev/sda1 print | egrep "Disk.*GB"

वैकल्पिक रूप से बिना नेटवर्क के मल्टी-यूजर मोड पर जाएँ (कंसोल से किया जाना चाहिए, SSH से नहीं):

runlevel     # remember the original runlevel
init 2

वैकल्पिक रूप से सतर्क रहने के लिए VM स्नैपशॉट लें।

विभाजन का आकार बदलें:

parted
p
resizepart NUMBER SIZE
# answer "Yes" when asked about resizing a live partition.
q

फ़ाइल सिस्टम का आकार बदलें: resize2fs /dev/sda1

अगर कुछ भी गलत होता है, तो आप अपने स्नैपशॉट को यहां पुनर्स्थापित कर सकते हैं। यदि सब ठीक हो गया, तो सामान्य रनवे पर वापस लौटें (ऊपर प्राप्त) - सामान्य रूप से 5 init 5:। यह सुनिश्चित करने के लिए इस बिंदु पर एक पूर्ण रिबूट करना बेहतर हो सकता है कि यह सुनिश्चित करने के लिए कि सब कुछ ठीक से वापस आता है (मेरे पास एक तारीख / एनटीपी मुद्दा आवक था)।


1

इन कदमों का अनुसरण करें।

  1. सुपरयूजर के रूप में खुला टर्मिनल su
  2. Daud parted
  3. pउपलब्ध विभाजन देखने के लिए टाइप करें
  4. अपने मूल विभाजन संख्या की पहचान करें (उदा: 'sda 3' का अर्थ है नंबर 3) और rm PARTITION NUMBERखाली स्थान बनाने के लिए उपयोग करके आसन्न विभाजन को हटा दें ।
  5. अब resizepart ROOT NUMBERजरूरत पड़ने पर टाइपिंग और रिबूट सिस्टम द्वारा रूट साइज बढ़ाएं
  6. partedटाइपिंग exitऔर टर्मिनल टाइप partprobeऔर हिट एंट्री से बाहर निकलें (यह रिबूट करने के बाद भी किया जा सकता है)
  7. अंत में चलाएं resize2fs /dev/sda PARTITION NUMBERऔर विशाल रूट विभाजन का आनंद लें।

0

जैसा कि पहले बताया गया है:

  • रूट सिस्टम से लाइव का विस्तार संभव है। (कोई मुश्किल नहीं, क्योंकि बूट सेक्शन को स्थानांतरित नहीं किया जा सकता है)

  • लाइव बूट पार्टीशन को बाहरी बूट डिवाइस (लाइव सिस्टम सीडी / यूएसबी-स्टिक से बूट) से करने की जरूरत है, जैसे कि कोई गलती है, बेमेल है .. जो भी हो .. आपका सिस्टम लटका हुआ है, उसे रिबूट करने की आवश्यकता है और अंत में नहीं होगा सही ढंग से बूट करने में सक्षम।

किसी भी तरह का "लेकिन मैंने इसे किया और यह काम करता है" शुद्ध भाग्य है।

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