Table des matières

, ,

FDISK

fdisk est un outil de base pour réaliser des opérations sur les tables de partitions des disques durs.

Pré-requis

fdisk est un outil de bas niveau qui nécessite l'utilisation de la ligne de commande et les droits administrateur.

Installation

fdisk est présent par défaut dans les distributions GNU/Linux.

[root@localhost /]# umount /dev/hda5

[root@localhost /]# tune2fs -O ^has_journal /dev/hda5

[root@localhost /]# fsck /dev/hda5

[root@localhost /]# mount -t ext2 /dev/hda5 /usr/local 

Utilisation

fdisk permet de manipuler les tables de partitions. Il permet de créer, de supprimer, de lister les partitions sur un disque dur. Voyons la syntaxe des différentes opérations :

Lister les partitions

sudo fdisk -l
blkid est un outil en ligne de commande permettant d'obtenir des informations dont les attributs de vos partitions.

nous donnera un résultat de ce type :

Disk /dev/sda: 159 GB, 159998146000 bytes
255 heads, 63 sectors/track, 19452 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1               1           6       48163   de  Dell Utility
/dev/sda3             269       10382    81232672   83  Linux
/dev/sda4           10383       19452    72846742    5  Extended
/dev/sda6           10383       11034     5229157   82  Linux swap
/dev/sda7           11035       19439    67505130   83  Linux
/dev/sda5           19440       19452       96390   83  Linux

Modifier les partitions

Les commandes suivantes doivent être utilisées avec précautions. Elles peuvent entrainer des pertes de données si elle ne sont pas correctement utilisées.
Les options suivantes sont accessibles après un :
sudo fdisk /dev/sda

(pour toutes opération sur le disque sda)

Informations sur le disque selectionné

On utilise la commande p

Commande (m pour l'aide): p
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x3815f042

Device     Boot Start        End    Sectors  Size Id Type
/dev/sda1        2048 3907028991 3907026944  1,8T 83 Linux

Créer une partition

On utilise la commande n. Fdisk demande ensuite le type de partitions, puis la taille voulue.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p):

Using default response p.
Partition number (1-4, default 1):
First sector (2048-1953525167, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-1953525167, default 1953525167):

Created a new partition 1 of type 'Linux' and of size 931,5 GiB.
Ensuite, il est souvent nécessaire de formater la partition. (ATTENTION SUPPRIME TOUTES LES DONNÉES SUR LA PARTITION !) Par exemple pour obtenir une partition ext4 :
sudo mkfs -t ext4 /dev/sdXX

En remplaçant XX par la lettre et le chiffre qui désigne la partition.

Supprimer une partition

On utilise la commande d. Fdisk demande quelle partition il doit supprimer (sauf si une seule partition est présente).

Command (m for help): d
Partition number (1-4, default 4):

Modifier le type d'une partition

Le type d'une partition facilite l'identification correcte de celle-ci par le système.

L'option L de fdisk permet de voir l'ensemble des types de partitions connus par l'outil. Actuellement:

 0  Vide            24  NEC DOS         81  Minix / Linux a bf  Solaris        
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 cachée di  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux étendue   c7  Syrinx         
 5  Etendue         42  SFS             86  NTFS volume set da  Non-FS data    
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility   
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt         
 9  AIX amorçable   50  OnTrack DM      93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT            
 f  W95 Etendue (LB 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Cachée FAT12    5c  Priam Edisk     a8  UFS Darwin      f1  SpeedStor      
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor      
14  Cachée FAT16 <  63  GNU HURD or Sys ab  Amorce Darwin   f2  DOS secondaire 
16  Cachée FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS    
17  Cachée HPFS/NT  65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Cachée W95 FAT  75  PC/IX           bb  Boot Wizard hid fe  LANstep        
1c  Cachée W95 FAT  80  Minix ancienne  be  Amorce Solaris  ff  BBT            
1e  Cachée W95 FAT

L'option t permet de changer le type d'une partition. L'utilitaire demande de choisir la partition, s'il y en a plusieurs, et ensuite de donner le code repris dans la liste ci-dessus.

Exemple, on change le type d'une partition Linux (83) en Linux LVM (8e)

Commande (m pour l'aide): p
...
Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdb1               1        1022     7762059    83  Linux

Commande (m pour l'aide): t
Partition sélectionnée 1
Code Hexa (taper L pour lister les codes): 8e
Type système de partition modifié de 1 à 8e (Linux LVM)

Commande (m pour l'aide): p
...
Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdb1               1        1022     7762059    8e  Linux LVM

Commande (m pour l'aide): w
La table de partitions a été altérée!

Réparer l'ordre des numéros de partitions

Il se peut qu'en faisant certaines manipulations sur les partitions, que l'ordre des numéros s'en retrouve perturbé, dans ce cas, il faut utiliser "fdisk" en mode expert en tapant "x" dans le prompt "fdisk", puis "f" pour "fixer" l'ordre des numéros de partitions :

$ sudo fdisk /dev/sdb
[sudo] password for seb:
GNU Fdisk 1.0
Copyright (C) 1998 - 2006 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details.

Using /dev/sdb
Command (m for help): x                                                   
Expert command (m for help): m                                           
   v   move a partition
   c   rescue a lost partition
   z   resize a partition and its file system
   h   check the consistency of a partition
   o   copy the partition over another partition
   k   creates a filesystem on a partition
    f   fix partition order
   g   create an IRIX (SGI) partition table
   p   print the partition table
   q   quit without saving changes
   r   return to the main menu
   w   write table to disk and exit
Expert command (m for help): f

Sauvegarder les changements

Utiliser la commande w

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Pour informer le noyau du changement sur la table de partitions, faire un :

$ sudo partprobe
Pour ne pas sauvegarder les changements, utiliser la commande q

Voir aussi

Documentation complémentaire fdisk sur wiki.debian-facile.org.