-
Se hai GParted aperto, chiudilo. La sua funzione Swapoff non sembra essere permanente.
-
Apri il terminale e diventa
root
(su
); se haisudo
abilitato, puoi anche fare ad esempiosudo -i
; vediman sudo
per tutte le opzioni):sudo -i
-
Disattiva la particolare partizione di swap e/o tutti gli swap:
swapoff --all
-
Assicurati al 100% che la particolare partizione di swap sia disattivata:
cat /proc/swaps
-
Apri un editor di testo in cui sei esperto con questo file, ad es.
nano
se non sei sicuro:nano /etc/fstab
-
Commenta / rimuovi l'UUID della partizione di swap, ad esempio:
# UUID=1d3c29bb-d730-4ad0-a659-45b25f60c37d none swap sw 0 0
-
Apri un editor di testo in cui sei esperto con questo file, ad es.
nano
se non sei sicuro:nano /etc/initramfs-tools/conf.d/resume
-
Commenta / rimuovi l'UUID della partizione di swap precedentemente identificata, ad esempio:
# RESUME=UUID=1d3c29bb-d730-4ad0-a659-45b25f60c37d
-
Non chiudere il terminale perché ne avrai comunque bisogno in seguito.
Nota: I passaggi successivi variano a seconda se ti affidi alla CLI o alla GUI.
GUI:
-
Apri GParted, dal menu o più comodamente dal terminale che abbiamo aperto:
gparted
-
Se non lo hai installato, puoi farlo; quindi eseguire nuovamente il comando precedente:
apt-get install gparted
-
Scegli la tua guida dal menu in alto a destra.
-
Poiché GParted riattiva la partizione di swap all'avvio, dovrai fare clic con il pulsante destro del mouse sulla particolare partizione di swap e fare clic su Swapoff -> Questo verrà applicato immediatamente.
-
Elimina la partizione di swap con il tasto destro -> Elimina. Devi applicare la modifica ora.
-
Ridimensiona la tua partizione principale/altra con il tasto destro -> Ridimensiona/Sposta. Devi applicare la modifica ora.
-
Tornando al terminale, ricreamo le immagini di avvio:
update-initramfs -u -k all
-
Aggiorna GRUB:
update-grub
-
Puoi riavviare ora se desideri verificare che la macchina si avvii.
CLI:
Verificherò le macchine virtuali se la mia soluzione funziona, quindi la condividerò. Nel frattempo, leggi questa risposta.
Esegui come root:
# swapoff -a
E per rendere permanente questa modifica, modifica /etc/fstab
e rimuovere o commentare la voce di scambio.
Commenta/rimuovi la voce pertinente nel /etc/fstab
per evitare che venga riattivato al prossimo avvio, quindi riavviare o eseguire swapoff -a
per disabilitare l'uso della partizione di swap per il sistema attualmente in esecuzione.
Ora elimina la partizione di swap, estendi la partizione di sistema su quello spazio inutilizzato ed estendi il filesystem effettivo. Non so se il tuo gestore delle partizioni grafiche può fare tutto questo, ma se non può, ecco un modo distro-agnostico per farlo usando fdisk
e resize2fs
:
# fdisk /dev/sdX
# Display current partition table, copy/paste this output somewhere to be able to go back in case you screw up
Command (m for help): p
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 22527 20480 10M ef EFI (FAT-12/16/32)
/dev/sda2 22528 186367 163840 80M 83 Linux
/dev/sda3 186368 204799 18432 9M 82 Linux swap / Solaris
# Delete the swap partition
Command (m for help): d
Partition number (1-3, default 3): 3
Partition 3 has been deleted.
# Delete the system partition
Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 has been deleted.
# Create a new system partition starting the same as the old one but ending a bit farther, at the end of the (now deleted) swap partition
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (2-4, default 2):
# Enter the same start sector as the old part.
First sector (22528-204799, default 22528): 22528
# Enter the end sector of the old swap partition
Last sector, +sectors or +size{K,M,G,T,P} (22528-204799, default 204799): 204799
Created a new partition 2 of type 'Linux' and of size 89 MiB.
# Save the changes
Command (m for help): w
The partition table has been altered.
Infine estendiamo il filesystem corrente per utilizzare il nuovo spazio libero (fino ad ora il filesystem effettivo non era a conoscenza del fatto che abbiamo aggiunto un po' più di spazio alla sua partizione sottostante). Per impostazione predefinita, resize2fs
usa l'intera partizione a meno che non venga data una dimensione fissa, quindi non dobbiamo specificare altro che il dispositivo di blocco della partizione. La crescita di un file system (anziché la riduzione) può essere eseguita online con la partizione montata :
# resize2fs /dev/sda2
Ora hai disabilitato con successo lo scambio e recuperato lo spazio inutilizzato senza nemmeno riavviare.
Si noti che la procedura per Debian è leggermente diversa e richiede la modifica di altri file. Dai un'occhiata a questa risposta per maggiori informazioni.