Evet, önyüklemeyi yeniden boyutlandırmak mümkündür, ancak çok karmaşıktır. Bunu sadece TÜM verilerinizi yedekledikten sonra denerdim. Bir hata yaparsanız veri kaybı potansiyeli oldukça yüksektir. Canlı USB / CD'ye önyükleme yaptıktan sonra bu işlemleri gerçekleştirmeniz gerektiğinden, bazı önyüklenebilir Ubuntu canlı USB / CD'ye hazır olmak isteyeceksiniz.
Linux topluluğu önyükleme bölümünün gerekli boyutuyla ilgili gereksinimleri değiştirdiğinde bir süre önce zor yolu öğrendim. Daha önce, 100-200 MB önyükleme için yeterliydi, ancak topluluk boyut gereksinimlerini ikiye katladı. Bu, önceki yönergeleri izleyen kullanıcıları etkiledi.
/server/334663/what-is-the-recommended-size-for-a-linux-boot-partition
/ Boot için geçerli gereksinimler için sizi resmi yönergelere yönlendireceğim.
https://help.ubuntu.com/community/DiskSpace
Bu yazının yazıldığı sırada yönergeler 250 MB ile 1 GB arasında alan önerir / önyükleme yapar. Gerekli en geniş alana sahip ayrı bir önyükleme bölümü öneriyorum. Önyükleme işlemi sırasında önyükleme bölümünün şifresiz olması gerekir. Önyükleme işlemi, örneğin LUKS şifreli diskler veya şifrelenmiş HOME dizinleri gibi farklı şifreli bölümler monte edecektir ve bu yaklaşımlar arasında fark vardır. Deneyimlerime göre, çeşitli Ubuntu sabit disk şifreleme seçeneklerini kullanmak, daha sonra manuel müdahale gerektiren Ubuntu'yu yükseltirken sorunlara neden olma eğilimindedir.
Genel bir bakış için, iyi yazılmış olduğunu düşündüğüm bu makaleye yönlendireceğim.
'LUKS, Debian / Ubuntu üzerinde birden fazla bölümü tek bir parola ile şifreliyor'
https://www.martineve.com/2012/11/02/luks-encrypting-multiple-partitions-on-debianubuntu-with-a-single-passphrase/
Bölümlerinizi değiştirme ihtiyacı bulduğunuzda, bu gönderiyi çok yararlı buldum.
'LUKS Şifreli Dosya Sistemini Yeniden Boyutlandırma'
https://ubuntuforums.org/showthread.php?t=726724
Şimdi gparted şifreli LUKS bölümlerini taşımayı desteklemediğinden, komut satırından veya GUI'den gparted komutları kullanılarak bu yapılamaz. Bölümler oluşturmak için gparted komutunu, sonra da sektör kopyalarına göre sektörü kullanarak şifreli bölümlerinizi hareket ettirmek için dd komutunu kullanabileceğinizi gördüm. Bu, sektörler açısından parite büyüklüklerini hesaplamayı içerir. Hata yapmak, veri kaybı ve yeniden kurulum anlamına gelir.
Benim durumumda, önyükleme bölümümün boyutunu 537MB'dan 1GB'a çıkarmam gerekiyor. Ubuntu 12.04'ten 14.04'e yükseltme işlemimin bir parçası olarak buna ihtiyacım var, böylece Ubuntu yükseltmesi / boot'ta yeterli alan bulabilir. Evet, / boot'ta yer açmak için otomatik kaldırmayı kaldırabilirsiniz, ancak genel gereksinimler değişti, bu yüzden bu yönergelere uyum sağlamak için önyüklemeyi büyütüyordum. İşte benim bölüm düzeni.
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
Uzatma / önyükleme için yeterli alan yoktu bu yüzden # 3 bölümünde LUKS şifreli disk ve benim bölüm # 1 önyükleme var. Not Gparted, şifrelenmiş bir bölüm olduğu için # 3 numaralı bölümü taşıyamaz. Bunu düzeltmek için sektörlerimde aynı boyutta diskimin sonunda dördüncü bir bölüm oluşturdum ve dd'yi # 3 bölümünün içeriğini # 4 bölümüne kopyalamak için kullandım. Kökümü gerekli minimum boyuta getirmeyi yararlı buldum. Böylece, / boot'ımın boyutunu ele almak için aşağıdaki işlemleri gerçekleştirdim.
- # 3 bölümünde kök dosya sistemini küçültmek
- 3. bölümü yeniden boyutlandırıldı (daha küçük olacak şekilde)
- Aynı boyutta bir # 4 bölümü oluşturuldu (diskin sonunda)
- DD, 3. bölümün sektörlerini 4. bölüme kopyalamak için kullanılır
- Diskte yer açmak için # 3 bölümünü sildi
- # 1 ve # 2 bölümlerini yeniden boyutlandırmak ve taşımak için Gparted kullanılır
- # 3 (veya # 4 bölüm) ile aynı boyutta yeni bir # 3 bölüm oluşturdu
- DD, 4. bölümün sektörlerini 3. bölüme kopyalamak için kullanılır
- # 4 bölümünü sil
- 3. bölümün boyutunu orijinal # 3 boyutuna genişletin
- # 3 şifreli bölümde bulunan dosya sistemi kalan alanla güncellendi
Bu şekilde # 3 bölümünü silebilir ve # 1 ve # 2 bölümlerini taşımak ve büyütmek için gparted kullanabilirsiniz. Yukarıdaki kılavuzları okumak, ileriye doğru gitmek için yeterli bilgi sağlamalıdır. Burada gösterilmiyor, ancak kök bölümümü daraltırken, aynı bölümdeki bir takas birimi grubunu sildim ve sonunda yeniden oluşturdum. Tüm bunlar bir Linux Live USB flash sürücüye önyükleme yapılırken yapılır. Aşağıdakiler, yukarıdaki kılavuzlarda bulunmayan birkaç notumdur.
Blockdev'in sektörlerdeki bölümlerin boyutunu göstermede yararlı olduğunu gördüm. Bu, sektör büyüklüklerini hesaplarken bana yardımcı oldu.
sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712
Gparted 'unit s' komutu bölümleme tablonuzu sektörlerde görüntüler. Tüm bölüm boyutlandırma, silme ve oluşturma işlemleri Gparted kullanılarak yapılır. Bu şekilde tüm matematiği sektörlerde yapabilirsiniz. Eğer sektör matematiğinin neye benzediğini görmek istiyorsanız 'birim kompakt' MB / GB formatına geri dönecektir.
(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 komutunun Minimum değerine yeniden boyutlandırmak için şık bir seçeneği vardır. Ayrıca, bu bölüm sırasında takas birim grubumu sildim.
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.
Bölüm tablolarını yeniden boyutlandırdığınızda geri gidin ve gparted'ı güncelleyin. 4096 * 2260992 ve sonra burada matematik kontrol etmek için blodev kullanılır. İşte gparted komutu.
(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 numaralı bölümün sektör sayısı büyüklüğünün orijinal listemden daha küçük olduğuna dikkat edin. Yani DD kopyasından önce # 4 bölümünü oluşturmak için gparted kullanabilirsiniz. Küçülen, bu kopya için daha fazla disk alanı açar.
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 kopyasından sonra devam edin ve / boot bölümünüzün boyutunu büyütün. Orijinal # 3 bölümünü silecek ve daha sonra # 1 ve # 2 bölümlerini genişlettikten sonra yeni bir sektör konumunda # 3 bölümünü yeniden oluşturacaksınız. Yine blockdev sektör boyutlarını ölçmek için kullanıldı. Bu # 3 bölümünü, başlangıçta # 3'ten daha küçük olan # 4 bölümüyle aynı boyutta oluşturdum. DD'yi kullanarak # 4 sektörü # 3 bölümüne kopyalayın.
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
Kopyaladıktan sonra # 4 bölümünü silin ve # 3 bölümünün boyutunu genişletin. Benim durumumda, ben başladığım zaman boyut # 3 bölümüne geri yükledim. Bunu yapmak için yeterli alanım vardı.
(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 bölüm boyutunu artırdığında dosya sistemini güncellemez. Dosya sisteminin şifreli bölümün içinde bulunduğunu ve bu değişikliğin yapılması için açılması ve monte edilmesi gerektiğini unutmayın. Bunu düzeltmek için aşağıdaki komutu kullanın. Gerekirse bu canlı sistemde yapılabilir.
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.
Sonuç olarak, Gparted operasyonunu doğal olarak desteklemese de, bölümleri yönetmek için inanılmaz kullanışlı bir araçtır. Bence fdisk'ten biraz daha kullanışlı. Gparted ve DD arasında bölümlerimi yönetebildim ve daha sonra Ubuntu araçlarını kullanarak 12.04 LTS'den 14.04 LTS'ye yükselttim.