Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Partitionnement


Partitionnement

Par Jiel,
sur la base du travail de Jean-Christophe et Serge

Avant propos

Le partitionnement est une étape clef de l'installation de GNU/Linux et de la prise en compte des supports de stockage de données. Cette documentation détaille le fonctionnement du partitionnement sous GNU/Linux. Cependant, il n'est pas nécessaire de connaître tous ces détails pour l'installation et l'utilisation d'une distribution « grand public » comme Ubuntu ou Mandriva, où le partitionnement peut être fait automatiquement.

Un peu de théorie

Le partitionnement : définition

Le partitionnement est le fractionnement d'un support physique (disque dur, carte mémoire, clef USB) en plusieurs parties virtuelles, des partitions, destinées à accueillir un système de fichiers.

Les systèmes de fichiers

Le système de fichiers (en anglais file system, abrégé FS) est la façon dont le système d'exploitation structure les données sur le support physique (soit typiquement, le disque dur).

Comme tout système d'exploitation, GNU/Linux dispose de ses propres systèmes de fichiers :

  • ext4 : C'est le système de fichier le plus répandu sous GNU/Linux (issu de ext2 et ext3). Il est journalisé, c'est à dire qu'il trace les opérations d'écriture pour garantir l'intégrité des données en cas d'arrêt brutal du disque. De plus, il peut gérer des volumes de taille jusque 1 024 pébioctets et permet la pré-allocation d'une zone contiguë pour un fichier, afin de minimiser la fragmentation. Utilisez ce système de fichiers si vous comptez pouvoir relire des informations depuis votre Mac OS X ou Windows.
  • ReiserFS : C'est un système de fichiers journalisé qui a été réimplémenté à partir de zéro et bénéficie de beaucoup d'innovations. Il est plus rapide qu'ext4 pour le traitement de répertoires contenant des milliers de fichiers de petite taille. Il permet l'agrandissement à chaud et la diminution à froid de la taille des partitions.

Il en existe d'autres, mais préférez-leur l'un de ceux-là, sauf si vous avez une bonne raison.

Windows XP (ainsi que Windows NT et Windows 2000) et supérieurs recommandent l'utilisation du système de fichiers NTFS. Microsoft n'ayant pas fourni les spécifications techniques de ce format et NTFS a lontemps posé problème, car le pilote NTFS de Linux ne savait accéder aux partitions NTFS uniquement en lecture seule. Il fallait alors prévoir une partition en FAT32 afin de pouvoir "envoyer" des informations dessus depuis GNU/Linux qui pouvaient être relues sous Windows... Depuis 2007, le pilote NTFS-3G permet de lire et écrire sur les partitions NTFS sans problème. Il est installé par défaut dans les distributions majeures.

Le système VFAT (partitions limitées à 2 Go) ou FAT32, voire FAT (l'ancien système de fichier du DOS), est celui utilisé par les versions plus anciennes de Windows. Il parfaitement géré par XP, NT et 2000. Si vous ne pouvez pas installer Linux sur une partition de ce type, car ce système de fichiers ne gère pas les permissions, VFAT est en revanche le système de fichiers permettant un partage facile d'informations entre GNU/Linux et Windows. Si vous souhaitez lire/écrire et utiliser des documents sous les deux systèmes d'exploitation, il peut être intéressant de prévoir une partition en VFAT-FAT32 pour que le partage s'effectue simplement).

Les disques durs et les partitions sous Linux

Nommage des disques

Tout d'abord, voyons comment Linux identifie et organise les disques durs.

Pour les disques SCSI ou SATA, la numérotation se fait avec un préfixe sd, suivi par une lettre, « a » pour premier disque SCSI (selon l'ID), « b » pour le deuxième disque, etc.

Prenons par exemple 3 disques SCSI d'id 0,1 et 3 on va avoir :

  • sda Disque d'ID 0
  • sdb Disque d'ID 1
  • sdd Disque d'ID 3

Attention : les lecteurs de CD-ROM SCSI, les ZIP, JAZ, etc. SCSI ainsi que les périphériques de stockage USB (appareils photo, clefs USB...) apparaissent comme un disque dur SCSI ; ils se nomment aussi sdx suivant leur ID. Astuce : pour connaître la liste de vos périphériques de ce type, tapez : cdrecord -scanbus.

De même, pour les disques IDE, la numérotation se fait avec un préfixe hd, suivi par une lettre, « a » pour le premier IDE maître, « b » pour le premier esclave, etc.
En résumé on a :

  • hda Disque maître sur le 1er contrôleur IDE
  • hdb Disque esclave sur le 1er contrôleur IDE
  • hdc Disque maître sur le 2eme contrôleur IDE
  • hdd Disque esclave sur le 2eme contrôleur IDE

Si vous avez d'autres contrôleurs IDE (hé oui, cela arrive !) la numérotation se poursuit (hde, hdf, etc.).

Attention : les lecteurs de CD-ROM IDE apparaissent comme un disque dur. Si votre CD est maître sur la deuxième nappe par exemple, il sera nommé hdc.

Nommage des partitions

Les partitions sont quant à elles représentées par le nom du disque dur, suivi d'un chiffre représentant la partition. Par exemple, la première partition du premier disque IDE se nomme hda1, de même, la troisième partition du disque SCSI d'ID 1 se nommera sdb3.

D'autre part, la plupart des ordinateurs utilisent le modèle MBR : une petite zone de disque dur (appelée MBR) est réservée en début de disque. Cette zone ne peut stocker des informations pour 4 partitions, que l'on appelle partitions primaires. Il est cependant possible de créer plus de 4 partitions, en utilisant une partition primaire comme partition étendue, qui va jouer le rôle de conteneur de partitions. Une partition étendue peut contenir jusque 32 nouvelles partitions, appelées lecteurs logiques.

Finalement, les numéros 1 à 4 sont réservés aux partitions primaires et étendues, et les numéros à partir de 5 sont réservés aux lecteurs logiques.

Points de montage

Pour rappel, sous Linux, tout est fichier, même les périphériques. Ainsi, tout périphérique est identifié à un fichier qui se trouve dans le répertoire /dev (comme device, périphérique en anglais). Par exemple, le deuxième disque SCSI est identifié par /dev/sdb, sa deuxième partition par /dev/sdb2. Pour plus d'explications sur l'arborescence et l'organisation des fichiers, lisez : Découvrir GNU/Linux - Aller plus loin.

Les partitions que l'on va créer sur les disques durs seront attachées à des répertoires de l'arborescence, appelés "points de montage". C'est ce qu'on appelle "monter une partition". Le point de montage est un simple répertoire, vide avant le montage, et qui après le montage, représente le contenu de la partition montée.

Par exemple, supposons que nous ayons créé une partition /dev/sda2 (premier disque SCSI, 2ème partition) pour contenir le système. On montera cette partition (automatiquement, heureusement !) dans le répertoire racine /. Si la partition /dev/sda3 est destinée à contenir les données utilisateur, on la montera dans le point de montage (=répertoire) /home. On verra le contenu de cette partition dans le répertoire /home comme si c'était n'importe quel autre répertoire, alors que physiquement les données sont sur une autre partition. De même, pour accéder à la disquette, on montera le périphérique /dev/fd0 dans le point de montage /mnt/floppy et pour accéder au DVD-ROM, on montera le périphérique /dev/hdc dans le point de montage /mnt/cdrom ou /cdrom.

Par tradition, /mnt contient les points de montage pour les systèmes de fichiers non système et /media contient les points de montages pour les médias amovibles.

Un peu d'organisation

Préparation

Avant de commencer l'installation, vous allez donc devoir libérer de la place pour les nouvelles partitions Linux. Si vous comptez installer GNU/Linux sur un disque vierge, pas de problème. Par contre, si vous voulez faire cohabiter Windows et GNU/Linux sur le même disque, et que Windows est déjà installé sur la totalité du disque, il va falloir arranger ça :) (à moins que vous ne vouliez réinstaller Windows à partir de zéro).

On va devoir passer de ça :

Parti total windows.jpg

à ça :

Parti windows linux.jpg

Alors soit vous supprimez tout et vous réinstallerez Windows plus tard, c'est le plus simple évidemment, soit vous redimensionnez votre partition Windows. Pour ce faire, il vous faut utiliser un logiciel approprié. Si vous êtes sous Windows, vous pouvez utiliser :

  • Gestion des disques : Sous Windows 7, cliquez sur le bouton « Démarrer », puis cliquez avec le bouton droit de votre souris sur « Ordinateur » et ensuite cliquez sur « Gérer » puis cliquez enfin sur « Gestion des disques ».
  • Partition Magic, un logiciel populaire développé chez PowerQuest/Symantec.
  • Partition Manager, un autre développé par Paragon Software Group.
  • FIPS (Fully Interactive Partition Splitter), un programme pour DOS assez spartiate.

Si vous êtes sous GNU/Linux, ou que vous démarrez votre ordinateur sur un CD live, vous pouvez aussi redimensionner votre disque grâce aux outils présentés ci-dessous : GParted, DiskDrake, fdisk, etc.

Si vous voulez redimensionner une partition Mac OS X, le logiciel d'Apple pour le partitionnement s'appelle Disk Utility.

Dans tous les cas, pensez à sauvegarder vos données persos !

De combien de partitions allez vous avoir besoin ?

  • Tout d'abord, une partition pour le swap. Le swap c'est la mémoire virtuelle de Linux. La taille ? Ca va dépendre de votre mémoire physique. En règle générale, on avait pour habitude de doubler la taille de la mémoire physique mais cela n’est plus indispensable avec les ordinateurs d’aujourd’hui. Pour les machines disposant de 512 Mo ou plus de RAM, il convient de choisir une partition swap de taille identique. Je vous conseille donc un swap de 512 Mo (pour 512Mo dans mon ordi.) : créez sous Linux avec fdisk une partition de type 82 de 512 Mo.
  • Pour le reste, vous avez le choix :
    La chose la plus simple est une seule partition en plus du swap, qui contiendra toutes les données système & utilisateur (le répertoire /) ; prenez le plus de place possible (4 Go minimum).
    En fait, il est intéressant de créer au moins deux partitions : une qui contiendra le système (le répertoire /) et une autre pour vos données personnelles et vos préférences (le répertoire /home). Comme ça, vous pouvez réinstaller GNU/Linux et même formater la partition système sans perdre vos données et vos préférences. Pour la même raison, on peut pousser le raffinement jusqu'à avoir une troisième partition afin de contenir les logiciels que vous installerez par la suite (OpenOffice par exemple) (voir Découvrir GNU/Linux - Aller plus loin pour le tableau des répertoires standards). Enfin, dans le cas d'une installation de GNU/Linux en parallèle de Windows, il peut être de bon ton de créer une partition d'échange entre Windows et Linux ; ce n'est pas obligatoire car on peut aussi accéder à la partition système de Windows sous GNU/Linux.

À ces partitions, on attribuera des points de montage.
- C'est quoi un point de montage ?
- Ah, mais vous n'avez pas lu le paragraphe précédent ? :-)

Si vous installez sur une machine perso :

Sur une machine mono-utilisateur, voire mono-disque, on peut faire une partition pour le / (de taille minimum 3 Go, on recommandera cependant 5 Go), une pour /home et une pour le swap (512 Mo par exemple), voire une pour /mnt/echange pour avoir des données accessibles par Windows et GNU/Linux.

Vous pouvez aussi éventuellement faire une partition pour /opt qui contiendra les logiciels que vous avez installés vous-même et qui ne proviennent pas de la distribution. Cela permet de mettre à jour voire de réinstaller la distribution sans trop devoir travailler derrière pour que ça fonctionne comme avant. Voire créer une partition pour /usr qui contiendra les binaires et les bibliothèques des logiciels.

exemple de partionnement classique :
Parti linux perso.jpg

Lorsque vous disposez de beaucoup de place sur vos disques (par exemple 2 disques de 500 Go), pour une utilisation personnelle, 6 ou 7 Go suffisent pour la racine (ou alors 2 Go pour la racine, 1 Go pour opt et 4 Go pour /usr qui contiendra les binaires), gardez votre swap entre 512 Mo et 1 Go, et enfin, partager le reste entre /home et des partitions de données (par exemple, en montant le premier disque /mnt/donnees1 et /mnt/donnees2).

Si vous installez un serveur :

L'une des méthodes les plus utilisées, c'est de mettre le / sur un petit disque ou une partition, puis /usr sur un autre disque en point de montage. Si notre système va être un serveur avec beaucoup d'utilisateurs, qui vont avoir beaucoup de données personnelles à stocker, on peut créer aussi un /home en point de montage sur un autre disque. On va aussi généralement réserver un disque ou une partition pour le répertoire temporaire que l'on montera dans /tmp et encore une autre pour le /var.

exemple de partionnement classique :
Parti linux serveur.jpg

En fait, on ne va laisser dans le disque contenant la racine que les informations qui bougent peu et dont le volume augmente peu.
Ainsi on ne charge pas le disque de point de montage / des répertoires /usr, /home, etc., ce qui permet de facilement maintenir le système (si /home est plein, on prend un disque + gros que l'on monte en /home et on recopie tout dessus, ça permet de ne pas casser le reste...), etc. Cela a plein d'avantages, il est conseillé de faire comme ça si vous avez plusieurs disques. De plus si un disque crashe, si ce n'est pas le disque contenant la racine /, ça permet de redémarrer quand même la machine, de travailler un minimum pour réinstaller un disque sans à avoir à réinstaller un système de base.

Remarque : si vous installez un serveur qui sera très sollicité, soyez généreux pour la taille du swap (2 fois la taille de la RAM est un bon début).

Enfin, un outil apporte une solution plus raffinée de partitionnement et efficace : Logical Volume Manager (LVM).

Passons à la pratique !

/!\ Attention : en ext4, démontez une partition avant de la modifier ou de la redimensionner ! De même, pour redimensionner une partition étendue ou un lecteur logique d'une partition étendue, tous les lecteurs logiques de la partition étendue doivent être démontés.

/!\ Attention : n'oubliez pas de sauvegarder vos données personnelles avant toute opération de partitionnement. Par exemple, vous pourriez faire une fausse manipulation, ou bien il pourrait y avoir une coupure de courant pendant le partitionnement. On vous aura prévenu !

Partitionnement avec fdisk

Pour partitionner votre disque en mode texte, vous allez appeler la commande fdisk suivie du nom du disque sur lequel vous voulez installer Linux, par exemple sudo fdisk /dev/sda. Les principales commandes de fdisk sont :

  • n Crée une partition, de type linux native (ext2fs) par défaut.
  • t Change le type d'une partition (83 linux native, 82 linux swap).

Dans fdisk, tapez m, afin d'accéder à la liste de toutes les commandes possibles.

Rappel : rappelez-vous que le nombre de partitions dites primaires est limité à 4. Ainsi, si vous souhaitez définir plus de 4 partitions sur un même disque, l'une de ces 4 partitions primaires doit être définie comme étendue.

Une fois les partitions définies, tapez w pour créer la table des partitions sur le disque.

Il vous reste à créer le système de fichiers pour les partitions créés grâce à une commande de type mke2fs (ext2), mkreiserfs (ReiserFS), mkfs.ext4 (ext4).

Par exemple, tapez en root mkfs.ext4 /dev/sda3 pour créer un système de fichier Ext4 sur votre partition sda3. Il ne vous reste plus qu'à créer un point de montage, tel mkdir /mnt/donnees, puis la monter dans un répertoire, par exemple mount /dev/sda3 /mnt/donnees.

Pour le swap, faites mkswap /dev/sda2 puis activez le via swapon /dev/sda2.

Partitionnement graphique avec DiskDrake

DiskDrake est un outil de partionnement graphique développé par Mandriva.

Si Mandriva n'est pas installée en local sur l'ordinateur qui contient des partitions à créer/formater, insérez un CD/DVD bootable de Mandriva (Mandriva One) dans votre lecteur, ou si vous avez Mandriva déjà installée, allez dans le Centre de Contrôle : depuis le menu de Mandriva via "Outils > Outils système > Configurer votre ordinateur" ou en tapant drakconf & dans un shell. Allez ensuite dans "Disques locaux".

Mandriva20010 05.jpg

Pour créer une partition, il suffit de cliquer sur une partition existante ou de l'espace vide (en blanc), puis de cliquer sur « Créer » ou sur le type de partition (en couleur). Chaque partition est représentée par les caractéristiques suivantes :

  • son nom suivant la typologie habituelle Linux : des lettres correspondants à la famille de disques durs (« hd » pour les disques Parallel ATA ou IDE, « sd » pour les disques SATA), puis des numéros de partition. Mandriva s'occupe de définir ce nom pour vous ;
  • la taille de la partition ;
  • le point de montage : là où votre disque sera accessible ;
  • le type de partition (ext4, ReiserFS etc.).

Mandriva20010 06.jpg

Voici un exemple de partitionnement classique :

  • une partition swap (DiskDrake) s'occupe du point de montage et du type).
  • une partition, montée dans /, de type « ext4 », qui va contenir le système.
  • une partition de quelques gigaoctets, montée dans /home, de type « ext4 », qui va contenir les données et certains fichiers de configuration des utilisateurs.
  • une partition de quelques gigaoctets, montée dans /tmp, de même type que le système, qui va contenir les fichiers temporaires du système : cela a l'avantage que si cette partition est pleine, votre partition système - et donc votre système - n'en sera pas affectée.
  • si vous voulez utiliser votre ordinateur comme serveur, il est judicieux de créer une partition /var, de même type que votre système.
  • une ou plusieurs partitions, montées dans /mnt/<un_nom_quelconque>/, de type « ext4 » si vous n'utilisez que GNU/Linux sur votre système, ou de type Windows (FAT, NTFS) si vous voulez que Microsoft Windows puisse aussi accéder à ces partitions, pour stocker divers données.

Ce partitionnement vous permettra par la suite de réinstaller un nouveau système GNU/Linux sans effacer vos données utilisateurs (qui sont sur une partition à part), ou au contraire d'effacer vos données utilisateurs sans affecter le système. Voici ce que peut donner ce partitionnement sur un disque de quelques gigaoctets :

Mandriva20010 07.jpg

Même après les avoir définies, vous pouvez modifier le point de montage, redimensionner ou supprimer des partitions grâce aux boutons situés sur la droite. Une fois le partitionnement fait et vérifié, cliquez sur « Terminer ». Un avertissement apparaît, cliquez sur « Ok ».

Dans le cas où vous n'auriez pas de partition montée dans /mnt, un nouvel avertissement « Vous n'avez pas de partition d'échange, continuer malgré tout ? » apparaîtra. Si vous voulez lire les partitions d'un autre système d'exploitation ou d'un disque externe, cliquez sur « Précédent » et créez une nouvelle partition ; sinon cliquez sur « Suivant ».

Mandriva20010 08.jpg

Le formatage des partitions que vous avez créées commence. Il effacera toutes les données présentes sur la partition. Le formatage peut durer quelques minutes.

Partitionnement graphique avec GParted

GParted est l'outil graphique de partitionnement de GNOME. Il figure sur le live CD GParted basé sur Debian, ainsi que sur les live CD de Knoppix, Fedora ou Ubuntu.

Sous Ubuntu, GParted est accesible dans le menu Système > Administration.


Gparted 2010.jpg

GParted liste toutes mes partitions de vos périphériques. Les opérations sont accessibles en cliquant sur la partition voulue et en faisant un clic droit, ou en allant dans le menu "Partition". Un trousseau de clef ou un cadenas vous indique qu'il faut d'abord démonter la partition pour pouvoir « jouer » avec.

Pour démonter une partition, faites clic droit puis « Unmount ». Pour supprimer une partition démontée, il suffit de faire un clic-droit puis « Delete ». Pour redimensionner ou déplacer une partition, démontez-la puis faites un clic droit et « Move » ou « Resize ». Pour formater, faites un clic droit puis « Format to » et choisissez votre type de partition (ext4, swap).

Finalement, il faut que GParted prenne en compte les modifications : allez dans le menu Edit > Apply all operations.

Autres outils de partitionnement

Il existe d'autres outils de partitionnement, sans doute un peu moins populaires. On citera notamment :

  • KDE Partition Manager ;
  • Cfdisk, une interface en ncurses pour fdisk.

Liens



@ Retour à la rubrique Administration système

@ Retour à la rubrique Installation

Cet article, écrit en 2011 par Jiel Beaumadier, emprunte une partie de la documentation Préparer l'installation écrite par Jean-Christophe Cardot et Serge Tschesmeli et créée le 29/11/1999.

Copyright

© 1999 ; 2011 Jiel Beaumadier, Jean-Christophe Cardot et Serge Tschesmeli

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 3.0 :
http://creativecommons.org/licenses/by-sa/3.0/
Affichages
Outils personnels

Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons CC-BY-SA