हां, बूट का आकार बदलना संभव है लेकिन यह बहुत जटिल है। मैं केवल आपके सभी डेटा का बैकअप लेने के बाद यह प्रयास करूंगा। यदि आप एक गलती करते हैं तो डेटा हानि की संभावना काफी अधिक है। आप कुछ बूट करने योग्य उबंटू लाइव यूएसबी / सीडी तैयार करना चाहते हैं, क्योंकि आपको एक लाइव यूएसबी / सीडी को बूट करने के बाद इन ऑपरेशनों को करना चाहिए।
मुझे कुछ समय पहले हार्ड ड्राइव का पता चला जब लिनक्स समुदाय बूट विभाजन के आवश्यक आकार के बारे में आवश्यकताओं को बदलता है। पहले, 100-200 एमबी बूट के लिए पर्याप्त था, लेकिन तब समुदाय ने अपनी आकार की आवश्यकताओं को दोगुना कर दिया। यह उन उपयोगकर्ताओं को प्रभावित करता है जो पिछले दिशानिर्देशों का पालन कर रहे थे।
/server/334663/what-is-the-recommended-size-for-a-linux-boot-partition
/ बूट के लिए वर्तमान आवश्यकताओं के लिए मैं आपको आधिकारिक दिशानिर्देशों का संदर्भ दूंगा।
https://help.ubuntu.com/community/DiskSpace
इस लेखन के समय दिशानिर्देश 250MB से लेकर 1GB तक के स्पेस की सलाह देते हैं। मैं सबसे बड़े आवश्यक स्थान के साथ एक अलग बूट विभाजन की सिफारिश करूंगा। बूट प्रक्रिया के दौरान बूट विभाजन को अनएन्क्रिप्टेड होना चाहिए। बूट प्रक्रिया अलग-अलग एन्क्रिप्टेड विभाजनों के साथ बढ़ रही होगी, उदाहरण के लिए एलयूकेएस एन्क्रिप्टेड डिस्क या एन्क्रिप्टेड होम निर्देशिकाएं और इन तरीकों के बीच अंतर हैं। मेरे अनुभव में, विभिन्न उबंटू हार्ड डिस्क एन्क्रिप्शन विकल्पों का उपयोग करने पर समस्याओं का परिणाम होता है जब बाद में मैनुअल हस्तक्षेप की आवश्यकता पर उबंटू को अपग्रेड किया जाता है।
एक सामान्य अवलोकन के लिए, मैं आपको इस लेख के लिए संदर्भित करूंगा जिसे मैं अच्छी तरह से लिखा हुआ मानता हूं।
'एक पासफ़्रेज़ के साथ डेबियन / उबंटू पर कई विभाजनों को एन्क्रिप्ट करना'
https://www.martineve.com/2012/11/02/luks-encrypting-multiple-partitions-on-debianubuntu-with-a-single-passphrase/
जब आपको अपने विभाजन को बदलने की आवश्यकता होती है, तो मुझे यह पोस्ट बहुत उपयोगी लगी।
'एक LUKS एन्क्रिप्टेड फ़ाइल सिस्टम का आकार कैसे बदलें'
https://ubuntuforums.org/showthread.php?t=726724
अब चूँकि gparted एन्क्रिप्टेड LUKS विभाजनों का समर्थन करने का समर्थन नहीं करता है इसलिए यह कमांड लाइन और न ही GUI से gparted कमांड का उपयोग करके नहीं किया जा सकता है। मैंने पाया है कि आप विभाजन बनाने के लिए gparted का उपयोग कर सकते हैं और फिर dd का उपयोग करके सेक्टर कॉपियों द्वारा सेक्टर का उपयोग करते हुए अपने एन्क्रिप्टेड विभाजन को स्थानांतरित कर सकते हैं। इसमें क्षेत्रों के संदर्भ में विभाजन के आकार की गणना करना शामिल है। गलती करने का मतलब डेटा लॉस और री-इंस्टॉल होना है।
मेरे मामले में, मुझे अपने बूट पार्टिशन का आकार 537MB से बढ़ाकर 1GB करने की आवश्यकता है। मुझे उबंटू 12.04 से 14.04 तक मेरे अपग्रेड के हिस्से के रूप में इसकी आवश्यकता है ताकि उबंटू अपग्रेड / बूट पर पर्याप्त जगह मिल सके। हां, आप / बूट में स्थान खाली करने के लिए ऑटोरेमोव को हटा सकते हैं लेकिन सामान्य आवश्यकताएं बदल गई थीं इसलिए मैं उन दिशानिर्देशों को समायोजित करने के लिए बूट बढ़ा रहा था। यहाँ मेरा विभाजन लेआउट था।
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot
2 538MB 794MB 256MB ext2
3 794MB 240GB 239GB
मेरे पास विभाजन # 3 में एलयूकेएस एन्क्रिप्टेड डिस्क है और विभाजन में मेरा बूट # 1 है, इसलिए / बूट को विस्तारित करने के लिए पर्याप्त जगह नहीं थी। नोट Gparted विभाजन # 3 को स्थानांतरित नहीं कर सकता क्योंकि यह एक एन्क्रिप्टेड विभाजन है। इसे ठीक करने के लिए मैंने सेक्टरों में समान आकार की मेरी डिस्क के अंत में चौथा भाग बनाया और dd का उपयोग करके विभाजन की सामग्री की प्रतिलिपि बनाई # 3 से विभाजन # 4। मैंने अपनी जड़ को न्यूनतम आकार के लिए आवश्यक आकार देना उपयोगी पाया। इस प्रकार, मैंने अपने बूट के आकार को संबोधित करने के लिए निम्नलिखित ऑपरेशन किए।
- # 3 विभाजन में रूट फाइलसिस्टम को सिकोड़ें
- # 3 विभाजन का आकार बदला (छोटा होने के लिए)
- एक ही आकार का # 4 विभाजन बनाया गया (डिस्क के अंत में)
- # 3 विभाजन के क्षेत्रों को # 4 विभाजन की प्रतिलिपि बनाने के लिए DD का उपयोग किया
- डिस्क पर स्थान खाली करने के लिए # 3 विभाजन हटा दिया गया
- # 1 और # 2 विभाजन को आकार देने और स्थानांतरित करने के लिए Gparted का उपयोग किया
- सिकुड़ी # 3 (या # 4 विभाजन) के समान आकार का एक नया # 3 भाग बनाया गया
- # 4 विभाजन के क्षेत्रों को # 3 विभाजन में कॉपी करने के लिए DD का उपयोग किया जाता है
- # 4 विभाजन हटाएं
- मूल # 3 आकार में # 3 भाग के आकार का विस्तार करें
- शेष स्थान पर # 3 एन्क्रिप्टेड विभाजन में निहित फाइलसिस्टम को अपडेट किया
इस तरह मैं विभाजन # 3 को नष्ट कर सकता हूं और विभाजन को स्थानांतरित करने के लिए gparted का उपयोग कर सकता हूं और # 1 और # 2 को विभाजित कर सकता हूं। ऊपर दिए गए गाइड के माध्यम से पढ़ना आपके मार्ग को आगे बढ़ाने के लिए पर्याप्त जानकारी प्रदान करना चाहिए। यह यहाँ नहीं दिखाया गया है, लेकिन अपने रूट विभाजन को सिकोड़ने में, मैंने उसी विभाजन पर एक स्वैप वॉल्यूम समूह को हटा दिया और इसे अंत में पुनः बनाया। यह सब एक लिनक्स लाइव यूएसबी फ्लैश ड्राइव पर बूट करने के दौरान किया जा रहा है। निम्नलिखित मेरे कुछ नोट हैं जो उपरोक्त गाइड में आसानी से उपलब्ध नहीं थे।
मैंने ब्लॉकदेव को सेक्टरों में विभाजन के आकार को प्रदर्शित करने में उपयोगी पाया। इससे मुझे मदद मिली क्योंकि मैं सेक्टर साइज़ की गणना कर रहा था।
sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712
Gparted कमांड 'यूनिट s' सेक्टर्स में आपकी पार्टीशन टेबल प्रदर्शित करेगा। विभाजन के सभी आकार, विलोपन और निर्माण Gparted का उपयोग करके किया जाता है। इस तरह आप सिर्फ सभी क्षेत्रों में गणित कर सकते हैं। यदि आप चाहते हैं कि सेक्टर गणित कैसा दिखे तो 'यूनिट कॉम्पैक्ट' एमबी / जीबी प्रारूप में वापस आ जाएगा।
(parted) unit s
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 1050623s 1048576s fat32 boot
2 1050624s 1550335s 499712s ext2
3 1550336s 456656896s 455106561s
Resize2fs कमांड में न्यूनतम आकार के लिए एक निफ्टी विकल्प है। इसके अलावा, मैंने इस भाग के दौरान अपने स्वैप वॉल्यूम समूह को हटा दिया।
ubuntu@ubuntu:~$ sudo resize2fs -M -p /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Resizing the filesystem on /dev/ubuntu-vg/root to 2261211 (4k) blocks.
Begin pass 3 (max = 1600)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/ubuntu-vg/root is now 2260992 blocks long.
जब आप आकार परिवर्तन करते हैं तो विभाजन सारणी वापस चली जाती है और अद्यतन किया जाता है। यहां गणित की जांच के लिए 4096 * 2260992 और फिर ब्लॉकदेव का इस्तेमाल किया। यहाँ gparted कमांड है।
(parted) resizepart 3
End? [224419843s]? 225970179s
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on failed: No such device or address
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 1050623s 1048576s fat32 boot
2 1050624s 1550335s 499712s ext2
3 1550336s 225970179s 224419844s
ध्यान दें कि विभाजन की संख्या # 3 मेरी मूल सूची से छोटी है अर्थात इस तरह आप डीडी प्रति के अग्रिम में # 4 विभाजन बनाने के लिए gparted का उपयोग कर सकते हैं। सिकुड़ने से उस प्रतिलिपि के लिए अधिक डिस्क स्थान खाली हो जाता है।
ubuntu@ubuntu:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=1550336 count=224419844 seek=244437218
224419844+0 records in
224419844+0 records out
114902960128 bytes (115 GB) copied, 2146.1 s, 53.5 MB/s
डीडी कॉपी के बाद, आगे बढ़ें और अपने / बूट विभाजन के आकार को बड़ा करें। आप बढ़े हुए # 1 और # 2 संस्करणों के बाद मूल # 3 विभाजन और फिर नए सेक्टर स्थान पर विभाजन # 3 को हटा देंगे। फिर से ब्लॉकदेव का उपयोग सेक्टर आकारों को मापने के लिए किया गया था। मैंने इस # 3 विभाजन को # 4 विभाजन के समान आकार का बनाया है जो मूल रूप से # 3 से छोटा है। # 4 सेक्टर को # 3 विभाजन में कॉपी करने के लिए DD का उपयोग करें।
ubuntu@ubuntu:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=244437218 count=224419844 seek=9242624
कॉपी करने के बाद, # 4 विभाजन को हटाएं और # 3 विभाजन के आकार का विस्तार करें। मेरे मामले में, मैंने इसे शुरू करने के लिए इसे आकार देने के लिए # 3 भाग को बहाल किया। मेरे पास ऐसा करने के लिए पर्याप्त जगह थी।
(parted) resizepart 3
End? [464349185s]? 464349184s
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? y
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on failed: No such device or address
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 4192255s 4190208s fat32 boot
2 5146624s 9242623s 4096000s ext2
3 9242624s 464349184s 455106561s
जब gparted ने विभाजन का आकार बढ़ाया तो यह फाइलसिस्टम को अद्यतन नहीं करता है। नोट करें कि फ़ाइल सिस्टम एन्क्रिप्टेड पार्टीशन के अंदर समाहित है, इसलिए इसे बदलने के लिए इसे खोलना और माउंट करना होगा। इसे ठीक करने के लिए निम्न कमांड का उपयोग करें। यदि आवश्यक हो तो यह लाइव सिस्टम पर किया जा सकता है।
user@zagyg:/$ sudo resize2fs /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/ubuntu-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 13
The filesystem on /dev/ubuntu-vg/root is now 54266880 blocks long.
अंत में, जबकि गार्टरेड अपने ऑपरेशन को मूल रूप से समर्थन नहीं करता है लेकिन यह विभाजन के प्रबंधन के लिए एक अविश्वसनीय उपयोगी उपकरण है। मेरी राय में fdisk से थोड़ा अधिक उपयोगी है। Gparted और DD के बीच मैं अपने विभाजनों को प्रबंधित करने में सक्षम था और फिर 12.04 LTS से 14.04% SS में अपग्रेड करने के लिए उबंटू टूल का उपयोग करता था।