Repository 32bit  Forum
Repository 64bit  Wiki

HowTo - Partizioni, come tagliare/unire una partizione

Da Slacky.eu.

Indice

Prima di iniziare

Prima una "dichiarazione di intenti". Scrivo questo howto perche mi sono trovato spesso nella situazione di modicare le dimensioni di una partizione già esistente, poichè a volte mi sono reso conto che mi serviva una partizione con filesystem FAT o una partizione piu grande in ext2/3 o reiserfs e quindi non potendo comprare un nuovo harddisk la soluzione piu semplice e quella di riutilizzare quanto si abbia.

Crediti

Questo howto nasce anche grazie a molti siti che ho letto e/o messaggi su newsgroups, quindi non è "tutta farina del mio sacco", vorrei dare credito a coloro che mi hanno dato le informazioni per scrivere questo howto però non mi è possibile perchè non mi ricordo piu chi-cosa. Detto questo devo dare credito al sito www.slack.z00.it da cui ho (credo) attinto la maggior parte delle informazioni.

Salviamo il salvabile

Facciamo il backup della partizione che intendiamo spezzare in ordine da non perdere dati

tar c /grande/* -f /path/grande.tar

/grande è come avrai sospettato il nome della partizione da spezzare e /path è una directory in cui ci sia abbastanza spazio per tenere il backup (nel caso si può anche masterizzare un cd/dvd). Ora che tutti i dati sono al sicuro, rientriamo in modalita single user con teleinit 1, digitiamo

root e la password

Controlliamo a quale device la partizione grande corrisponde

df|grep /grande

e smontiamo la partizione

umount /grande

Il divertimento inizia ora. Usiamo fdisk per modicare le dimensioni della partizione

fdisk /dev/hda

(o qualunque altro harddisk hd(a,b,c,d). Se non conosci fdisk è opportuno che digiti m in modo da avere un'idea di quali sono i comandi e cosa può fare il programma, in ogni caso questo e un howto step-by-step. Digita p per visualizzare le varie partizioni e l'output e qualcosa del tipo:

Disk /dev/hda: 255 heads, 63 sectors, 4865 cylinders
Units = cylinders of 16065 * 512 bytes
Device     Boot	 Start	End   	 Blocks	 Id   	System
/dev/hda1    *       1       641         5116702+      7         HPFS/NTFS
/dev/hda2          642       654          104422+     83         Linux
/dev/hda3          655      4865        33824857+      f         Win95 Ext'd (LBA)
/dev/hda4          655      1641          599546      83         Linux swap
/dev/hda5         1642      2733         2164958+     83         Linux
/dev/hda6         2734      4865        29060258+     82         Linux

In questo esempio la partizione da dividere è hda6. Cancelliamo questa partizione con d (è bene osservare che tutte le modifiche che vengono fatte con fdisk vengono applicate tutte insieme dando il comando w ed e sempre possibile uscire da fdisk senza modicare la tabella delle partizioni con q: questo a dire che se qualcosa va storto o non ci piace, digitiamo q senza aver cancellato o diviso o modicato alcunchè). d ci richiede quale partizione vogliamo eliminare e quindi digitiamo hda6. Dando p noteremo che si è liberato lo spazio di hda6 passiamo quindi su quello per creare una nuova partizione piu piccola: n e viene richiesto da dove inizia la partizione o inseriamo 2734 (l'inizio della partizione hda6 dall'output di p) o digitiamo invio e verrà inserito automaticamente l'inizio dello spazio libero, viene quindi chiesta la dimensione della nuova partizione e quindi digitiamo sizeM dove size e la dimensione espressa in Mb. Ora ripetiamo ad libidum quanto fatto prima per creare tutte le partizioni che vogliamo fino ad arrivare all'ultima, in questo caso al posto di size digitiamo o 4865 (la fine di hda6 secondo l'output di p) o invio in modo da inserire automaticamente il punto in cui finisce lo spazio non partizionato sull'harddisk. p a questo punto ci restituira' la tabella delle partizioni con le partizioni appena create al posto della gia hda6, ad esempio:

Disk /dev/hda: 255 heads, 63 sectors, 4865 cylinders
Units = cylinders of 16065 * 512 bytes
Device    Boot    Start	End	    Blocks     	Id    	System
/dev/hda1   *         1      641      5116702+        7          HPFS/NTFS
/dev/hda5          1642     2733      2164958+       83          Linux
/dev/hda6          2734     3865     11060258+       82          Linux
/dev/hda7          3866     ....          ...        82          Linux
/dev/hda(n)        ....     ....          ...        82          Linux

Se quello che è scritto è di nostro gradimento w e le modiche verranno fatte! Altrimenti q e non verra fatta alcuna modica.

Creazione del File System, aka formattazione

Usciti da fdisk creiamo il file system (ciò che in dos/windows veniva chiamata formattazione) con mkfs.[fs] /dev/hda(n) dove [fs] è il file system che vogliamo usare ext2, ext3, reiserfs od altro e (n) è il numero della partizione da "formattare", ad esempio 7 nella tabella precedente. Riportiamo i dati che avevamo salvato con tar nella partizione che vorremo usare come la fu /grande. Visto che fstab non è ancora stato modicato, montiamo la partizione con mount /dev/hda6 /mnt e copiamo grande.tar in /mnt e quindi tar xf grande.tar. Ora l'ultima cosa prima di riavviare il sistema è modicare /etc/fstab (non è mia intenzione dilungarmi su fstab per cui google is your friend o man fstab). Incrociamo le dita e riavviamo il sistema!. Nel caso una partizione debba essere fat16, fat32 o ntfs, ovvero uno dei file systems proprietarii di Microsoft, consiglio di usare Windows per la formattazione di questa.

Unire partizioni

Questo è molto piu semplice di dividere una partizione. Tutto quello che bisogna fare è eliminare le partizioni e poi ricreare la partizione con n e come inizio e fine dare l'inizio della "prima" partizione eliminata e la fine dell'"ultima" partizione eliminata rispettivamente. Ovviamente per creare un'unica partizione da partizioni piu piccole, queste ultime devono essere sequenziali come ad esempio /dev/hda5 e /dev/hda6 in

/dev/hda5	1642	2733	2164958+	83	Linux
/dev/hda6	2734	3865	11060258+	82	Linux

Ed ovviamente ricordatevi i backup's per tutte le partizioni, che eliminerete.

Commento

Usare fdisk e solo una mia preferenza poichè solitamente è presente in qualunque distribuzione GNU/Linux, comprese le mini-distribuzioni o i rescue oppies/cd's. Altrimenti è possibile modifcare le dimensioni di partizioni anche con Parted o Partition Magic. E' probabile che ci siano errori di grammatica o anche inesattezze, quindi se pensi che ci siano typo's o un qualcosa da specificare meglio: non esitare a dirmelo!

Autore Luca June 4, 2004

Strumenti personali
Namespace

Varianti