Partitionnement
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 en détails 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 est automatique.
Partitionnement
Par Jiel,
sur la base du travail de Jean-Christophe et Serge
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 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) recommandent l'utilisation du système de fichiers NTFS. Microsoft n'ayant pas fourni les spécifications techniques de ce format, Linux a encore du mal à le gérer correctement. Linux sait parfaitement lire les informations sur une partition NTFS mais c'est à vos risques et périls que vous écrirez sur de telles partitions.
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 0sdb
Disque d'ID 1sdd
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 IDEhdb
Disque esclave sur le 1er contrôleur IDEhdc
Disque maître sur le 2eme contrôleur IDEhdd
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.
Point 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 CD-ROM, on montera le périphérique /dev/cdrom
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 Linux sur un disque vierge, pas de problème. Par contre, si vous voulez faire cohabiter Windows et 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 de zéro).
On va devoir passer de ça :
|==========================================| <- disque dur
à ça :
|=============|============================| <- disque dur
Alors soit vous virez tout et vous réinstallerez Windows, c'est le plus simple évidemment,
soit vous redimensionnez votre partition Windows. Pour ce faire, utilisez un logiciel approprié, comme FIPS (souvent sur les CD des distributions), ou Partition Manager (un freeware sous DOS) encore Partition Magic (produit commercial). Pour ça, je vous renvoie à la documentation du logiciel utilisé.
Remarque 1 : Partition Manager a l'air intéressant, il fonctionne sous DOS et existe en version française. Il permet de gérer les partitions, de sauver le MBR (Master Boot Record, c'est là que vient s'enregistrer [install.php3#lilo LILO]) dans un fichier, de le restaurer, de modifier la taille d'une partition, de la formater, etc. (Voir la page de Partition Manager.)
Remarque 2 : la distribution Mandriva est livrée avec un utilitaire de repartitionnement très performant, sachant même redimensionner les partitions au format NTFS.
Dans tous les cas, pensez à sauvegarder vos données perso !
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 :
(primaire) /dev/sda5 sda6 sda7
<-- Windows --> <-- / --> <- /home -> <swap> <-pt de montage
|===============|=========|===========|======| <-disque dur
10 Go 4 Go 25 Go 512 Mo
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
.
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 !
Le partitionnement des disques 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.
Le partitionnement des disques avec Diskdrake
Article original : Préparer l'installation.
Copyright
Copyright © 29/11/1999, J.C. Cardot & S. Tchesmeli
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 4.0 : https://creativecommons.org/licenses/by-sa/4.0/ |