10 comandi fdisk per gestire le partizioni del disco Linux
fdisk sta per "disco fisso o formatta disco" ed è un'utilità di manipolazione del disco basata su riga di comando più comunemente utilizzata per un Sistemi Linux/Unix. Con l'aiuto del comando fdisk è possibile visualizzare, creare, ridimensionare, eliminare, modificare, copiare e spostare le partizioni su un disco rigido utilizzando la propria interfaccia guidata da menu basata su testo intuitiva.
Questo strumento è molto utile in termini di creazione di spazio per nuove partizioni, organizzazione di spazio per nuove unità, riorganizzazione di vecchie unità e copia o spostamento di dati su nuovi dischi. Ti consente di creare un massimo di quattro nuove partizioni primarie e un numero di partizioni logiche (estese), in base alla dimensione del disco rigido del tuo sistema.
Questo articolo spiega 10 comandi fdisk di base per gestire una tabella delle partizioni nei sistemi basati su Linux. Devi essere un utente root per eseguire il comando fdisk, altrimenti riceverai un errore "comando non trovato".
1. Visualizza tutte le partizioni del disco in Linux
Il seguente comando di base elenca tutte le partizioni del disco esistenti sul tuo sistema. L'argomento "-l" sta per (elenco di tutte le partizioni) viene utilizzato con il comando fdisk per visualizzare tutte le partizioni disponibili su Linux. Le partizioni vengono visualizzate in base ai nomi dei relativi dispositivi. Ad esempio: /dev/sda, /dev/sdb o /dev/sdc.
[[email ~]# fdisk -l
Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2624 20972857+ 83 Linux
/dev/sda3 2625 4582 15727635 83 Linux
/dev/sda4 4583 77541 586043167+ 5 Extended
/dev/sda5 4583 5887 10482381 83 Linux
/dev/sda6 5888 7192 10482381 83 Linux
/dev/sda7 7193 7845 5245191 83 Linux
/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris
/dev/sda9 8368 77541 555640123+ 8e Linux LVM
2. Visualizza la partizione del disco specifica in Linux
Per visualizzare tutte le partizioni di un disco rigido specifico utilizzare l'opzione "-l" con il nome del dispositivo. Ad esempio, il seguente comando visualizzerà tutte le partizioni del disco del dispositivo /dev/sda. Se hai nomi di dispositivo diversi, scrivi semplicemente il nome del dispositivo come /dev/sdb o /dev/sdc.
[[email ~]# fdisk -l /dev/sda
Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2624 20972857+ 83 Linux
/dev/sda3 2625 4582 15727635 83 Linux
/dev/sda4 4583 77541 586043167+ 5 Extended
/dev/sda5 4583 5887 10482381 83 Linux
/dev/sda6 5888 7192 10482381 83 Linux
/dev/sda7 7193 7845 5245191 83 Linux
/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris
/dev/sda9 8368 77541 555640123+ 8e Linux LVM
3. Controlla tutti i comandi fdisk disponibili
Se desideri visualizzare tutti i comandi disponibili per fdisk. Utilizza semplicemente il seguente comando menzionando il nome del disco rigido come /dev/sda come mostrato di seguito. Il seguente comando ti darà un output simile al seguente.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help):
Digita "m" per visualizzare l'elenco di tutti i comandi disponibili di fdisk che possono essere utilizzati sul disco rigido /dev/sda. Dopo aver inserito "m" sullo schermo, vedrai tutte le opzioni disponibili per fdisk che puoi utilizzare sul dispositivo /dev/sda.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help):
4. Stampa tutta la tabella delle partizioni in Linux
Per stampare tutta la tabella delle partizioni del disco rigido, è necessario essere in modalità comando del disco rigido specifico, ad esempio /dev/sda.
[root@tecmint ~]# fdisk /dev/sda
Dalla modalità di comando, inserisci "p" invece di "m" come abbiamo fatto prima. Quando inserisco "p", verrà stampata la tabella delle partizioni /dev/sda specifica.
Command (m for help): p
Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2624 20972857+ 83 Linux
/dev/sda3 2625 4582 15727635 83 Linux
/dev/sda4 4583 77541 586043167+ 5 Extended
/dev/sda5 4583 5887 10482381 83 Linux
/dev/sda6 5888 7192 10482381 83 Linux
/dev/sda7 7193 7845 5245191 83 Linux
/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris
/dev/sda9 8368 77541 555640123+ 8e Linux LVM
Command (m for help):
5. Come eliminare una partizione in Linux
Se desideri eliminare una partizione specifica (ad esempio /dev/sda9) dal disco rigido specifico come /dev/sda. Per eseguire questa operazione è necessario essere in modalità comando fdisk.
[root@tecmint ~]# fdisk /dev/sda
Successivamente, inserisci "d" per eliminare qualsiasi nome di partizione dal sistema. Quando inserisco "d", mi verrà chiesto di inserire il numero di partizione che desidero eliminare dal disco rigido /dev/sda. Supponiamo di inserire qui il numero '4', quindi verrà eliminato il disco con la partizione numero '4' (ovvero /dev/sda4) e verrà visualizzato gratuitamente spazio nella tabella delle partizioni. Inserisci "w" per scrivere la tabella su disco e uscire dopo aver apportato nuove modifiche alla tabella delle partizioni. Le nuove modifiche avverranno solo dopo il successivo riavvio del sistema. Questo può essere facilmente compreso dall'output seguente.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): d
Partition number (1-4): 4
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
You have new mail in /var/spool/mail/root
Avviso: fai attenzione, mentre esegui questo passaggio, perché l'utilizzo dell'opzione "d" eliminerà completamente la partizione dal sistema e potrebbe perdere tutti i dati nella partizione.
6. Come creare una nuova partizione in Linux
Se hai spazio libero su uno dei tuoi dispositivi, dì /dev/sda e desideri creare una nuova partizione sotto di esso. Quindi devi essere in modalità comando fdisk di /dev/sda. Digitare il comando seguente per accedere alla modalità comando del disco rigido specifico.
[root@tecmint ~]# fdisk /dev/sda
Dopo essere entrato in modalità comando, ora premi il comando “n” per creare una nuova partizione in /dev/sda con dimensioni specifiche. Ciò può essere dimostrato con l'aiuto del seguente output.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Durante la creazione di una nuova partizione, ti verranno chieste due opzioni per la creazione della partizione "estesa" o "primaria". Premi "e" per la partizione estesa e "p" per la partizione primaria. Quindi ti chiederà di inserire seguendo due input.
- Numero del primo cilindro della partizione da creare.
- Numero dell'ultimo cilindro della partizione da creare (Ultimo cilindro, +cilindri o +dimensione).
Puoi inserire la dimensione del cilindro aggiungendo "+5000M" nell'ultimo cilindro. Qui, "+" significa aggiunta e 5000M indica la dimensione della nuova partizione (ovvero 5000MB). Tieni presente che dopo aver creato una nuova partizione, dovresti eseguire il comando "w" per modificare e salvare le nuove modifiche alla tabella delle partizioni e infine riavviare il sistema per verificare la partizione appena creata.
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
7. Come formattare una partizione in Linux
Dopo aver creato la nuova partizione, non saltare alla formattazione della partizione appena creata utilizzando il comando "mkfs". Digitare il seguente comando nel terminale per formattare una partizione. Qui /dev/sda4 è la mia partizione appena creata.
[root@tecmint ~]# mkfs.ext4 /dev/sda4
8. Come controllare la dimensione di una partizione in Linux
Dopo aver formattato la nuova partizione, controlla la dimensione di quella partizione utilizzando il flag "s" (visualizza la dimensione in blocchi) con il comando fdisk. In questo modo puoi controllare le dimensioni di qualsiasi dispositivo specifico.
[root@tecmint ~]# fdisk -s /dev/sda2
5194304
9. Come correggere l'ordine della tabella delle partizioni
Se hai eliminato una partizione logica e l'hai ricreata nuovamente, potresti notare il problema "partizione fuori ordine" o un messaggio di errore come "Le voci della tabella delle partizioni non sono nell'ordine del disco '.
Ad esempio, quando tre partizioni logiche come (sda4, sda5 e sda6) vengono eliminate e viene creata una nuova partizione, potresti aspettarti la nuova il nome della partizione sarebbe sda4. Ma il sistema lo creerebbe come sda5. Ciò accade perché, dopo aver eliminato la partizione, la partizione sda7 è stata spostata come sda4 e lo spazio libero è stato spostato alla fine.
Per risolvere tali problemi di ordine delle partizioni e assegnare sda4 alla partizione appena creata, digita "x" per accedere a una sezione di funzionalità extra, quindi inserisci "f<' per correggere l'ordine della tabella delle partizioni come mostrato di seguito.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): x
Expert command (m for help): f
Done.
Expert command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
Dopo aver eseguito il comando "f", non dimenticare di eseguire il comando "w" per salvare e uscire dalla modalità comando fdisk. Una volta corretto l'ordine della tabella delle partizioni, non riceverai più messaggi di errore.
10. Come disabilitare il flag di avvio (*) di una partizione
Per impostazione predefinita, il comando fdisk mostra il simbolo del flag di avvio (ovvero "*") su ciascuna partizione. Se desideri abilitare o disabilitare il flag di avvio su una partizione specifica, procedi come segue.
[root@tecmint ~]# fdisk /dev/sda
Premi il comando 'p' per visualizzare la tabella delle partizioni corrente, vedi che c'è un flag di avvio (simbolo asterisco (*) in colore arancione) su /dev/ sda1 come mostrato di seguito.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): p
Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2624 20972857+ 83 Linux
/dev/sda3 2625 4582 15727635 83 Linux
/dev/sda4 4583 77541 586043167+ 5 Extended
/dev/sda5 4583 5887 10482381 83 Linux
/dev/sda6 5888 7192 10482381 83 Linux
/dev/sda7 7193 7845 5245191 83 Linux
/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris
/dev/sda9 8368 77541 555640123+ 8e Linux LVM
Quindi inserisci il comando 'a' per disabilitare il flag di avvio, quindi inserisci il numero di partizione '1' come (ad esempio /dev/sda1) nel mio caso . Ciò disabiliterà il flag di avvio sulla partizione /dev/sda1. Ciò rimuoverà il flag asterisco (*).
Command (m for help): a
Partition number (1-9): 1
Command (m for help): p
Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 13 104391 83 Linux
/dev/sda2 14 2624 20972857+ 83 Linux
/dev/sda3 2625 4582 15727635 83 Linux
/dev/sda4 4583 77541 586043167+ 5 Extended
/dev/sda5 4583 5887 10482381 83 Linux
/dev/sda6 5888 7192 10482381 83 Linux
/dev/sda7 7193 7845 5245191 83 Linux
/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris
/dev/sda9 8368 77541 555640123+ 8e Linux LVM
Command (m for help):
Ho fatto del mio meglio per includere quasi tutti i comandi di base dei comandi di fdisk, ma fdisk contiene comunque una varietà di altri comandi esperti che puoi utilizzare inserendo "x". Per informazioni più dettagliate, controlla il comando "man fdisk" dal terminale. Se ho perso qualche comando importante, condividilo con me tramite la sezione commenti.
Leggi anche:
- 12 comandi "df" per controllare lo spazio su disco in Linux
- 10 comandi "du" utili per trovare l'utilizzo del disco di file e directory