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
Tout d'abord, voyons comment Linux identifie et organise les disques durs.
Pour les disques SCSI, la numérotation se fait avec un préfixe sd
, suivi par une lettre, « a
» pour premier disque SCSI (selon l'ID SCSI), « 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
.
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
.
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) ; prenez le plus de place possible (1 Go mini).
En fait, il est intéressant de créer au moins deux partitions : une qui contiendra le système et une autre pour vos données personnelles. Comme ça, vous pouvez réinstaller Linux et même formater la partition système sans perdre vos données perso. 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 plus haut le tableau des [#repertoires_std répertoires standards])
À ces partitions, on attribuera des points de montage.
- C'est quoi un point de montage ?
- Ah mais vous n'avez pas lu le paragraphe [#orga_fichiers 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 / (mini 1Go recommandé 2Go), une pour /home et une pour le swap (128 Mo par exemple). 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. Ca permet de mettre à jour voire de réinstaller la distribution sans trop devoir travailler derrière pour que ça fonctionne comme avant.
exemple de partionnement :
(primaire) /dev/hda5 hda6 hda7
<-- 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 (j'ai par exemple 2 disques de 80 Go), pour une utilisation personnelle, 3 ou 4 Go suffisent pour la racine (ou alors 1 Go pour la racine et 2 Go pour /usr), gardez votre swap entre 128 et 512 Mo, et enfin, le reste pour /home (j'ai monté un de mes disques contenant une seule partition dans /mnt/data et j'y stocke mes fichiers multimédia).
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. Ca a plein d'avantages, je vous conseille 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 rebooter 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).
Passons à la pratique !
Le partitionnement des disques avec fdisk
La plupart des installations commencent de la même façon : on crée une disquette de boot sous DOS/Windows avec l'utilitaire "RAWRITE" (livré sur les CD des distributions), des fois même deux disquettes (pour la Slackware) ; en général le CD de la distribution est bootable (Mandrake par exemple) et il n'y a alors pas besoin de disquette. Puis on boote sur la disquette ou le CD.
Ensuite on suit les indications du programme d'installation, puis on arrive sur le partitionnement des disques (attention à la Slackware où on n'atterrit pas sur ce point directement : après s'être logué en root il faut taper "fdisk" AVANT de taper "setup"). Détaillons un peu cette procédure de partitionnement.
Pour partitionner votre disque vous allez appeler la commande fdisk suivie du nom du disque sur lequel vous voulez installer Linux, par exemple "fdisk /dev/hda". Des logiciels plus conviviaux existent comme DiskDruid (disponible lors de l'installation d'une Red Hat par exemple) ou DiskDrake de MandrakeSoft fonctionnant en mode graphique (mais il me semble qu'il nécessite que Linux soit déjà installé !).
Je vous renvoie à l'installation HOWTO (anglais/français) pour toutes les commandes de fdisk ; les principales 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. C'est assez bien indiqué dans l'installation-HOWTO.
Attention : 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", elle contiendra alors toutes les autres partitions. Les partitions primaires sont numérotées de 1 à 4, les partitions créés à l'intérieur de la partition étendue sont numérotées à partir de 5.
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/ |