Ricerca nel sito web

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.

  1. Numero del primo cilindro della partizione da creare.
  2. 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:

  1. 12 comandi "df" per controllare lo spazio su disco in Linux
  2. 10 comandi "du" utili per trovare l'utilizzo del disco di file e directory