Ya, mengubah ukuran boot dimungkinkan tetapi sangat rumit. Saya hanya akan mencoba ini setelah mencadangkan SEMUA data Anda. Jika Anda membuat kesalahan potensi kehilangan data cukup tinggi. Anda perlu menyiapkan beberapa live USB / CD Ubuntu yang dapat di-boot karena Anda harus melakukan operasi ini setelah mem-boot ke USB / CD langsung.
Saya menemukan cara yang sulit beberapa waktu lalu ketika komunitas linux mengubah persyaratan mengenai ukuran yang diperlukan dari partisi boot. Sebelumnya, 100-200 MB sudah cukup untuk boot tetapi kemudian komunitas menggandakan persyaratan ukurannya. Ini berdampak pada pengguna yang mengikuti pedoman sebelumnya.
/server/334663/what-is-the-recomended-size-for-a-linux-boot-partition
Untuk persyaratan / boot saat ini saya akan merujuk Anda ke pedoman resmi.
https://help.ubuntu.com/community/DiskSpace
Pada saat penulisan ini, pedoman merekomendasikan / boot dari 250MB hingga 1GB ruang. Saya akan merekomendasikan partisi boot terpisah dengan ruang terbesar yang diperlukan. Partisi boot harus tidak dienkripsi selama proses boot. Proses boot akan memasang partisi terenkripsi yang berbeda di sepanjang jalan misalnya disk yang dienkripsi LUKS atau direktori HOME terenkripsi dan ada perbedaan antara pendekatan ini. Dalam pengalaman saya, menggunakan berbagai opsi enkripsi hard disk Ubuntu cenderung menimbulkan masalah ketika memutakhirkan Ubuntu nanti yang membutuhkan intervensi manual.
Untuk gambaran umum, saya akan merujuk Anda ke artikel ini yang saya anggap ditulis dengan baik.
'LUKS mengenkripsi beberapa partisi di Debian / Ubuntu dengan satu frasa sandi'
https://www.martineve.com/2012/11/02/luks-encrypting-multiple-partitions-on-debianubuntu-with-a-single-passphrase/
Ketika Anda menemukan kebutuhan untuk mengubah partisi Anda, saya menemukan posting ini sangat membantu.
'Cara Mengubah Ukuran Sistem File Terenkripsi LUKS'
https://ubuntuforums.org/showthread.php?t=726724
Sekarang karena gparted tidak mendukung pemindahan partisi LUKS terenkripsi, ini tidak dapat dilakukan dengan menggunakan perintah gparted dari baris perintah atau GUI. Saya telah menemukan bahwa Anda dapat menggunakan gparted untuk membuat partisi dan kemudian menggunakan dd untuk memindahkan partisi terenkripsi Anda sekitar menggunakan sektor dengan salinan sektor. Ini melibatkan kemampuan untuk menghitung ukuran partisi dalam hal sektor. Membuat kesalahan berarti kehilangan data dan instal ulang.
Dalam kasus saya, saya perlu meningkatkan ukuran partisi boot dari 537MB menjadi 1GB. Saya memerlukan ini sebagai bagian dari pembaruan saya dari Ubuntu 12.04 hingga 14.04 sehingga pemutakhiran Ubuntu dapat menemukan ruang yang cukup di / boot. Ya, Anda dapat menghapus autoremove untuk mengosongkan ruang dalam / boot tetapi persyaratan umum telah berubah jadi saya memperbesar boot untuk menyesuaikan dengan pedoman itu juga. Inilah tata letak partisi saya.
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
Saya memiliki disk terenkripsi LUKS di partion # 3 dan boot saya di partisi # 1 sehingga tidak ada cukup ruang untuk memperpanjang / boot. Catatan Gparted tidak dapat memindahkan partisi # 3 karena merupakan partisi terenkripsi. Untuk memperbaikinya saya membuat partisi keempat di akhir disk saya dengan ukuran yang sama di sektor dan digunakan dd untuk menyalin isi partisi # 3 ke partisi # 4. Saya merasa bermanfaat untuk mengubah ukuran root saya ke ukuran minimum yang diperlukan. Jadi, saya melakukan operasi berikut untuk mengatasi ukuran boot saya.
- Susutkan sistem file root di partisi # 3
- Mengubah ukuran partisi # 3 (menjadi lebih kecil)
- Membuat partisi # 4 dengan ukuran yang sama (di akhir disk)
- DD yang digunakan untuk menyalin sektor-sektor dari partisi # 3 ke partisi # 4
- Menghapus partisi # 3 untuk mengosongkan ruang pada disk
- Digunakan Gparted untuk mengubah ukuran dan memindahkan partisi # 1 dan # 2
- Membuat partisi # 3 baru dengan ukuran yang sama dengan partisi # 3 (atau partisi # 4)
- DD yang digunakan untuk menyalin sektor-sektor dari partisi # 4 ke partisi # 3
- Hapus partisi # 4
- Perluas ukuran partion # 3 ke ukuran # 3 yang asli
- Memperbarui sistem file yang terdapat dalam partisi terenkripsi # 3 ke ruang yang tersisa
Dengan cara ini saya bisa menghapus partisi # 3 dan menggunakan gparted untuk memindahkan dan memperbesar partisi # 1 dan # 2. Membaca panduan di atas harus memberikan wawasan yang cukup untuk menavigasi jalan Anda ke depan. Itu tidak ditampilkan di sini tetapi dalam menyusutkan partisi root saya, saya menghapus grup volume swap pada partisi yang sama dan menciptakannya kembali di akhir. Semua ini dilakukan saat boot ke Linux Live USB flash drive. Berikut ini adalah beberapa catatan saya yang tidak tersedia di panduan di atas.
Saya menemukan blockdev berguna dalam menampilkan ukuran partisi di sektor. Ini membantu saya karena saya sedang menghitung ukuran sektor.
sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712
Perintah Gparted 'unit s' akan menampilkan tabel partisi Anda di sektor. Semua ukuran partisi, penghapusan, dan pembuatan dilakukan menggunakan Gparted. Dengan cara ini Anda bisa melakukan semua matematika di sektor. 'Unit compact' akan beralih kembali ke format MB / GB, jika Anda ingin melihat seperti apa sektor matematika itu.
(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
Perintah resize2fs memiliki opsi bagus untuk mengubah ukuran ke Minimum. Juga, saya menghapus grup volume swap saya selama bagian ini.
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.
Ketika Anda mengubah ukuran tabel partisi, kembali dan perbarui gparted. Digunakan 4096 * 2260992 dan kemudian blockdev untuk memeriksa matematika di sini. Ini adalah perintah 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
Perhatikan ukuran jumlah sektor dari partisi # 3 lebih kecil dari daftar asli saya yaitu Dengan cara ini Anda dapat menggunakan gparted untuk membuat partisi # 4 sebelum salinan DD. Penyusutan membebaskan lebih banyak ruang disk untuk salinan itu.
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
Setelah copy DD, lanjutkan dan perbesar ukuran partisi / boot Anda. Anda akan menghapus partisi # 3 asli dan kemudian menciptakan kembali partisi # 3 di lokasi sektor baru setelah partisi # 1 dan # 2 diperbesar. Sekali lagi blockdev digunakan untuk mengukur ukuran sektor. Saya membuat partisi # 3 ini dengan ukuran yang sama dengan partisi # 4 yang lebih kecil dari # 3 pada awalnya. Gunakan DD untuk menyalin sektor # 4 ke partisi # 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
Setelah menyalin, hapus partisi # 4 dan perluas ukuran partisi # 3. Dalam kasus saya, saya baru saja mengembalikan ke partisi # 3 untuk ukuran itu ketika saya mulai. Saya punya cukup ruang untuk melakukan ini.
(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
Ketika gparted meningkatkan ukuran partisi, itu tidak memperbarui sistem file. Catatan sistem file terdapat di dalam partisi terenkripsi sehingga harus dibuka dan dipasang untuk membuat perubahan ini. Gunakan perintah berikut untuk memperbaikinya. Ini dapat dilakukan pada sistem live jika perlu.
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.
Kesimpulannya, sementara Gparted tidak mendukung operasinya secara asli, tetapi itu adalah alat yang luar biasa berguna untuk mengelola partisi. Menurut pendapat saya sedikit lebih berguna daripada fdisk. Antara Gparted dan DD saya dapat mengatur partisi saya dan kemudian hanya menggunakan alat Ubuntu untuk meningkatkan dari 12,04 LTS ke 14,04 LTS.