ใช่การปรับขนาดการบูตเป็นไปได้ แต่มันซับซ้อนมาก ฉันจะลองทำสิ่งนี้หลังจากสำรองข้อมูลทั้งหมดของคุณแล้ว หากคุณทำผิดพลาดโอกาสในการสูญหายของข้อมูลค่อนข้างสูง คุณจะต้องการให้ Ubuntu พร้อมใช้งาน USB / CD ที่สามารถบู๊ตได้เนื่องจากคุณควรทำการดำเนินการเหล่านี้หลังจากบูตไปยัง USB / CD สด
ฉันพบวิธีที่ยากในขณะที่กลับเมื่อชุมชน linux เปลี่ยนข้อกำหนดเกี่ยวกับขนาดที่ต้องการของพาร์ทิชันบูต ก่อนหน้านี้ 100-200 MB นั้นเพียงพอสำหรับการบู๊ต แต่แล้วชุมชนก็เพิ่มขนาดความต้องการเป็นสองเท่า สิ่งนี้ส่งผลกระทบต่อผู้ใช้ที่ปฏิบัติตามแนวทางก่อนหน้านี้
/server/334663/what-is-the-recommended-size-for-a-linux-boot-partition
สำหรับความต้องการในปัจจุบันสำหรับ / boot ฉันจะแนะนำคุณให้ทราบแนวทางอย่างเป็นทางการ
https://help.ubuntu.com/community/DiskSpace
ในขณะที่เขียนนี้แนวทางแนะนำ / boot จาก 250MB ถึง 1GB ของพื้นที่ ฉันอยากจะแนะนำพาร์ติชันสำหรับบูตแยกต่างหากด้วยพื้นที่ที่ต้องการมากที่สุด พาร์ติชันสำหรับเริ่มระบบจำเป็นต้องถูกเข้ารหัสในระหว่างกระบวนการเริ่มระบบ กระบวนการบูตจะทำการติดตั้งพาร์ติชั่นที่เข้ารหัสที่แตกต่างกันไปพร้อมกันตัวอย่างเช่นดิสก์ที่เข้ารหัสของ LUKS หรือไดเรกทอรี HOME ที่เข้ารหัสและมีความแตกต่างระหว่างวิธีการเหล่านี้ จากประสบการณ์ของฉันการใช้ตัวเลือกการเข้ารหัสฮาร์ดดิสก์ของ Ubuntu มีแนวโน้มที่จะทำให้เกิดปัญหาเมื่ออัพเกรด Ubuntu ในภายหลังว่าต้องการการแทรกแซงด้วยตนเอง
สำหรับภาพรวมทั่วไปฉันจะส่งต่อคุณไปยังบทความนี้ซึ่งฉันคิดว่าเขียนได้ดี
'LUKS เข้ารหัสหลายพาร์ติชันบน Debian / Ubuntu ด้วยข้อความรหัสผ่านเดียว'
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 ที่เข้ารหัสสิ่งนี้ไม่สามารถทำได้โดยใช้คำสั่ง gparted จากบรรทัดคำสั่งหรือ GUI ฉันพบว่าคุณสามารถใช้ gparted เพื่อสร้างพาร์ติชันแล้วใช้ dd เพื่อย้ายพาร์ติชันที่เข้ารหัสของคุณไปรอบ ๆ โดยใช้เซกเตอร์โดยการคัดลอกเซกเตอร์ สิ่งนี้เกี่ยวข้องกับความสามารถในการคำนวณขนาดของพาร์ติชั่นในแง่ของภาค ทำผิดหมายถึงการสูญเสียข้อมูลและติดตั้งใหม่
ในกรณีของฉันฉันต้องเพิ่มขนาดของพาร์ติชันการบูตจาก 537MB เป็น 1GB ฉันต้องการสิ่งนี้เป็นส่วนหนึ่งของการอัปเกรดจาก Ubuntu 12.04 ถึง 14.04 เพื่อให้การอัปเกรด Ubuntu สามารถหาพื้นที่บน / boot ได้เพียงพอ ใช่คุณสามารถลบ autoremove เพื่อเพิ่มพื้นที่ว่างใน / boot แต่ข้อกำหนดทั่วไปมีการเปลี่ยนแปลงดังนั้นฉันจึงขยายการบูตเพื่อปรับให้เข้ากับแนวทางเหล่านั้นเช่นกัน นี่คือเค้าโครงพาร์ติชันของฉัน
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
ฉันมีดิสก์ที่เข้ารหัสของ LUKS ในส่วนที่ 3 และการบู๊ตของฉันในพาร์ติชัน # 1 จึงมีพื้นที่ไม่เพียงพอที่จะขยาย / บู๊ต หมายเหตุ Gparted ไม่สามารถย้ายพาร์ติชัน # 3 ได้เนื่องจากเป็นพาร์ติชันที่เข้ารหัส ในการแก้ไขปัญหานี้ฉันได้สร้างพาร์ทิชันที่สี่ที่ส่วนท้ายของดิสก์ที่มีขนาดเท่ากันในเซกเตอร์และใช้ dd เพื่อคัดลอกเนื้อหาของพาร์ติชัน # 3 ไปยังพาร์ติชัน # 4 ฉันพบว่ามีประโยชน์ในการปรับขนาดรูตของฉันให้เล็กที่สุดเท่าที่จำเป็น ดังนั้นฉันได้ดำเนินการดังต่อไปนี้เพื่อระบุขนาดของ / boot ของฉัน
- หดระบบไฟล์รูทในพาร์ติชัน # 3
- ปรับขนาดพาร์ติชัน # 3 (ให้เล็กลง)
- สร้างพาร์ติชั่น # 4 ที่มีขนาดเท่ากัน (ท้ายดิสก์)
- ใช้ DD เพื่อคัดลอกเซ็กเตอร์ของพาร์ติชัน # 3 ไปยังพาร์ติชัน # 4
- ลบพาร์ติชัน # 3 เพื่อเพิ่มพื้นที่ว่างในดิสก์
- ใช้ Gparted เพื่อปรับขนาดและย้ายพาร์ติชัน # 1 และ # 2
- สร้างพาร์ติชั่น # 3 ใหม่ที่มีขนาดเดียวกันกับ shrunk # 3 (หรือพาร์ติชัน # 4)
- ใช้ DD เพื่อคัดลอกเซ็กเตอร์ของพาร์ติชัน # 4 ไปยังพาร์ติชัน # 3
- ลบพาร์ติชัน # 4
- ขยายขนาดของพาร์ติชั่น # 3 เป็นขนาด # 3 ดั้งเดิม
- อัปเดตระบบไฟล์ที่มีอยู่ในพาร์ติชั่นที่เข้ารหัส # 3 เป็นพื้นที่ที่เหลือ
วิธีนี้ฉันสามารถลบพาร์ติชัน # 3 และใช้ gparted เพื่อย้ายและขยายพาร์ติชัน # 1 และ # 2 การอ่านคำแนะนำข้างต้นควรให้ข้อมูลเชิงลึกที่เพียงพอเพื่อนำทางไปข้างหน้า ไม่แสดงที่นี่ แต่ในการลดขนาดพาร์ติชันรากของฉันฉันลบกลุ่มวอลุ่ม swap บนพาร์ติชันเดียวกันและสร้างใหม่ในตอนท้าย ทั้งหมดนี้กำลังดำเนินการอยู่ในขณะบู๊ตเป็นแฟลชไดรฟ์ Linux Live USB ต่อไปนี้เป็นบันทึกบางส่วนของฉันที่ยังไม่พร้อมใช้งานในคู่มือด้านบน
ฉันพบว่า blockdev มีประโยชน์ในการแสดงขนาดของพาร์ติชันในเซกเตอร์ สิ่งนี้ช่วยฉันในขณะที่ฉันกำลังคำนวณขนาดเซกเตอร์
sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712
คำสั่ง Gparted 'หน่วย' จะแสดงตารางพาร์ติชันของคุณในภาค การกำหนดขนาดการลบและการสร้างพาร์ติชันทั้งหมดเสร็จสิ้นโดยใช้ Gparted วิธีนี้คุณสามารถทำคณิตศาสตร์ทั้งหมดในภาคได้ 'หน่วยกระชับ' จะเปลี่ยนกลับเป็นรูปแบบ MB / GB หากคุณต้องการดูว่าภาคคณิตศาสตร์มีลักษณะอย่างไร
(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.
เมื่อคุณปรับขนาดตารางพาร์ทิชันกลับไปและอัปเดต gparted ใช้ 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 มีขนาดเล็กกว่ารายการเดิมของฉันนั่นคือวิธีนี้คุณสามารถใช้ gparted เพื่อสร้างพาร์ติชัน # 4 ล่วงหน้าของการคัดลอก DD การย่อขนาดทำให้เนื้อที่ดิสก์เพิ่มขึ้นสำหรับการทำสำเนานั้น
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
หลังจากคัดลอก DD ไปข้างหน้าและขยายขนาดของพาร์ติชัน / boot ของคุณ คุณจะลบพาร์ติชัน # 3 ต้นฉบับจากนั้นสร้างพาร์ติชันใหม่ # 3 ที่ตำแหน่งเซกเตอร์ใหม่หลังจากพาร์ติชันที่ขยาย # 1 และ # 2 อีกครั้ง blockdev ใช้ในการวัดขนาดภาค ฉันสร้างพาร์ติชัน # 3 นี้เป็นขนาดเดียวกับพาร์ติชัน # 4 ซึ่งเล็กกว่า # 3 เดิม ใช้ DD เพื่อคัดลอกเซกเตอร์ # 4 ไปยังพาร์ติชัน # 3
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.
โดยสรุปขณะที่ Gparted ไม่สนับสนุนการทำงานของเขา แต่เป็นเครื่องมือที่มีประโยชน์อย่างมากสำหรับการจัดการพาร์ติชัน ในความคิดของฉันมีประโยชน์มากกว่า fdisk เล็กน้อย ระหว่าง Gparted และ DD ฉันสามารถจัดการพาร์ติชั่นของฉันแล้วใช้เครื่องมือ Ubuntu เพื่ออัพเกรดจาก 12.04 LTS เป็น 14.04 LTS