fdisk est un outil de base pour réaliser des opérations sur les tables de partitions des disques durs.
fdisk est un outil de bas niveau qui nécessite l'utilisation de la ligne de commande et les droits administrateur.
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
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 :
sudo fdisk -l
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
sudo fdisk /dev/sda
(pour toutes opération sur le disque sda)
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
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.
sudo mkfs -t ext4 /dev/sdXX
En remplaçant XX par la lettre et le chiffre qui désigne la 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):
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!
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
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
Documentation complémentaire fdisk sur wiki.debian-facile.org.