Sì, è possibile ridimensionare l'avvio ma è molto complicato. Proverei solo dopo aver eseguito il backup di TUTTI i tuoi dati. Se si commette un errore, il potenziale di perdita di dati è piuttosto elevato. Avrai bisogno di avere alcuni USB / CD live di Ubuntu avviabili poiché dovresti eseguire queste operazioni dopo l'avvio su un USB / CD live.
Ho scoperto il modo difficile qualche tempo fa quando la comunità di Linux cambia i requisiti riguardanti la dimensione richiesta della partizione di avvio. In precedenza, 100-200 MB erano sufficienti per l'avvio, ma la comunità ha raddoppiato i requisiti di dimensione. Ciò ha influito sugli utenti che stavano seguendo le linee guida precedenti.
/server/334663/what-is-the-recommended-size-for-a-linux-boot-partition
Per i requisiti attuali per / boot, ti rimando alle linee guida ufficiali.
https://help.ubuntu.com/community/DiskSpace
Al momento della stesura di questo documento, le linee guida raccomandano / avviano da 250 MB a 1 GB di spazio. Consiglierei una partizione di avvio separata con lo spazio richiesto più grande. La partizione di avvio deve essere non crittografata durante il processo di avvio. Il processo di avvio monterà diverse partizioni crittografate lungo la strada, ad esempio dischi crittografati LUKS o directory HOME crittografate e ci sono differenze tra questi approcci. Nella mia esperienza, l'uso delle varie opzioni di crittografia del disco rigido di Ubuntu tende a causare problemi quando si aggiorna Ubuntu in seguito richiedendo un intervento manuale.
Per una panoramica generale, ti farò riferimento a questo articolo che considero ben scritto.
'LUKS crittografa più partizioni su Debian / Ubuntu con un'unica passphrase'
https://www.martineve.com/2012/11/02/luks-encrypting-multiple-partitions-on-debianubuntu-with-a-single-passphrase/
Quando trovi la necessità di cambiare le tue partizioni, ho trovato questo post molto utile.
"Come ridimensionare un file system crittografato LUKS"
https://ubuntuforums.org/showthread.php?t=726724
Ora, poiché gparted non supporta lo spostamento di partizioni LUKS crittografate, ciò non può essere fatto utilizzando i comandi gparted dalla riga di comando né dalla GUI. Ho scoperto che è possibile utilizzare gparted per creare partizioni e quindi utilizzare dd per spostare le partizioni crittografate utilizzando le copie settore per settore. Ciò implica la possibilità di calcolare le dimensioni delle porzioni in termini di settori. Fare un errore significa perdita di dati e una reinstallazione.
Nel mio caso, devo aumentare la dimensione della mia porzione di avvio da 537 MB a 1 GB. Ho bisogno di questo come parte del mio aggiornamento da Ubuntu 12.04 a 14.04 in modo che l'aggiornamento di Ubuntu possa trovare abbastanza spazio all'avvio / avvio. Sì, puoi rimuovere autoremove per liberare spazio in / boot ma i requisiti generali erano cambiati, quindi stavo allargando il boot per adattarmi anche a quelle linee guida. Ecco il mio layout di partizione.
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
Ho il disco crittografato LUKS nella partizione n. 3 e il mio avvio nella partizione n. 1, quindi non c'era spazio sufficiente per estendere / avviare. Nota Gparted non può spostare la partizione n. 3 poiché è una partizione crittografata. Per risolvere questo problema, ho creato una quarta porzione alla fine del mio disco della stessa dimensione in settori e ho usato dd per copiare il contenuto della partizione n. 3 sulla partizione n. 4. Ho trovato utile ridimensionare la mia radice alla dimensione minima necessaria. Pertanto, ho eseguito le seguenti operazioni per indirizzare le dimensioni di my / boot.
- Ridotto il filesystem di root nella partizione # 3
- Ridimensionata la partizione n. 3 (per essere più piccola)
- Creata una partizione n. 4 della stessa dimensione (alla fine del disco)
- DD usato per copiare i settori della partizione n. 3 nella partizione n. 4
- Eliminata la partizione n. 3 per liberare spazio sul disco
- Usato Gparted per ridimensionare e spostare le partizioni n. 1 e n. 2
- Creata una nuova partizione n. 3 della stessa dimensione della partizione ridotta n. 3 (o n. 4)
- DD usato per copiare i settori della partizione n. 4 nella partizione n. 3
- Elimina la partizione n. 4
- Espandi la dimensione della porzione # 3 alla dimensione originale # 3
- Aggiornato il filesystem contenuto nella partizione crittografata n. 3 nello spazio rimanente
In questo modo ho potuto eliminare la partizione n. 3 e usare gparted per spostare e ingrandire le partizioni n. 1 e n. 2. Leggere le guide sopra dovrebbe fornire informazioni sufficienti per orientarsi. Non viene mostrato qui, ma nel ridurre la mia partizione di root, ho eliminato un gruppo di volumi di scambio sulla stessa partizione e ricreato alla fine. Tutto ciò viene eseguito durante l'avvio su un'unità flash USB Live Linux. Di seguito sono riportati alcuni dei miei appunti che non erano prontamente disponibili nelle guide sopra.
Ho trovato blockdev utile per visualizzare le dimensioni delle partizioni in settori. Questo mi aiuta mentre stavo calcolando le dimensioni del settore.
sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712
Il comando Gparted 'unit s' visualizzerà la tabella delle partizioni in settori. Tutto il dimensionamento, l'eliminazione e la creazione della partizione vengono eseguiti utilizzando Gparted. In questo modo puoi semplicemente fare tutta la matematica nei settori. L '"unità compatta" tornerà al formato MB / GB, se vuoi vedere come appare la matematica del settore.
(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
Il comando resize2fs ha un'opzione nifty per ridimensionare al minimo. Inoltre, durante questa parte ho eliminato il mio gruppo di volumi di scambio.
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.
Quando si ridimensionano le tabelle delle partizioni, tornare indietro e aggiornare gparted. Usa 4096 * 2260992 e poi blockdev per controllare qui la matematica. Ecco il comando 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
Nota che la dimensione del conteggio settoriale della partizione n. 3 è inferiore alla mia lista originale, ovvero in questo modo puoi usare gparted per creare la partizione n. 4 prima della copia DD. Il restringimento libera più spazio su disco per quella copia.
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
Dopo la copia DD, vai avanti e ingrandisci la dimensione della tua partizione / boot. Eliminerai la partizione n. 3 originale e poi ricreaerai la partizione n. 3 in una nuova posizione del settore dopo le partizioni allargate n. 1 e n. 2. Ancora una volta blockdev è stato utilizzato per misurare le dimensioni del settore. Ho creato questa partizione n. 3 con le stesse dimensioni della partizione n. 4, che è più piccola di quella originariamente n. Utilizzare DD per copiare i settori n. 4 nella partizione n. 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
Dopo aver copiato, eliminare la partizione n. 4 ed espandere le dimensioni della partizione n. 3. Nel mio caso, ho appena ripristinato la porzione n. 3 per ridimensionare lo stato quando ho iniziato. Ho avuto abbastanza spazio per farlo.
(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
Quando gparted aumenta la dimensione della partizione, non aggiorna il filesystem. Nota che il filesystem è contenuto all'interno della partizione crittografata, quindi deve essere aperto e montato per effettuare questa modifica. Utilizzare il seguente comando per risolvere il problema. Questo può essere fatto sul sistema live se necessario.
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.
In conclusione, mentre Gparted non supporta la sua operazione in modo nativo, ma è uno strumento incredibilmente utile per la gestione delle partizioni. Secondo me è un po 'più utile di fdisk. Tra Gparted e DD sono stato in grado di gestire le mie partizioni e quindi utilizzare gli strumenti Ubuntu per passare da 12.04 LTS a 14.04 LTS.