4.4. Partitionnement du disque

La deuxième opération après le démarrage du système est le partitionnement du disque dur. Cette étape est de loin la plus dangereuse, mais elle est absolument nécessaire. Elle ne pose pas de problèmes lorsqu'on installe Linux sur une machine neuve, mais peut être délicate si un autre système d'exploitation est déjà installé ou doit être installé en parallèle. Cette section décrit les principes de base du partitionnement, la manière de récupérer de la place sur un disque dur et l'opération de partitionnement proprement dite.

4.4.1. Notion de partition et d'amorçage du système

Une « partition » est, comme son nom l'indique, une partie d'un disque dur. Les partitions permettent de diviser l'espace de stockage des disques durs en zones indépendantes de taille restreinte, et dans lesquelles différents systèmes ou différentes données peuvent être stockées de manière totalement indépendante. L'opération de « partitionnement » est l'opération de création des différentes partitions d'un disque dur.

L'installation de plusieurs systèmes d'exploitation nécessite souvent d'allouer une partition à chaque système, car les systèmes d'exploitation ne comprennent généralement pas le format des systèmes de fichiers les uns des autres. Il est également parfois nécessaire, pour un même système, de définir plusieurs partitions, qui seront utilisées à des fins spécifiques. Par exemple, Linux fonctionne nettement mieux si on lui attribue une partition de « swap » (dite aussi « partition d'échange ») pour stocker des données peu utilisées qui se trouve en mémoire, lorsqu'il a besoin de plus de mémoire qu'il n'en est physiquement installée sur la machine. De même, il est possible de créer plusieurs partitions pour séparer les données utilisateurs des programmes, ce qui permet de faciliter les mécanismes de sauvegarde d'une part, et d'assurer une plus grande sécurité des données lors des opérations de maintenance du système d'autre part.

Sur les machines de type PC, chaque disque dur peut être découpé en quatre partitions dites « primaires ». La position, la taille et le type de ces partitions sont enregistrées dans le premier secteur du disque dur, que l'on appelle souvent le « Master Boot Record » (« MBR » en abrégé). Le MBR ne contient que quatre entrées pour la définition des partitions, d'où la limite de quatre partitions primaires. Le type des partitions est un code numérique qui indique le système d'exploitation capable de l'utiliser et sa nature (partition de swap ou système de fichiers par exemple). À titre d'exemple, Linux utilise principalement deux types de partition : les partitions de swap (numéro 82) et les partitions pour les systèmes de fichiers (type 83).

La définition des partitions se fait donc en donnant leur adresse de départ, leur taille et leur type. L'adresse de départ et la longueur des partitions sont exprimées en secteurs. Un « secteur » est l'unité de base pour les données des disques durs, qui correspond à un bloc de 512 octets utiles (auxquels s'ajoutent bien entendu d'éventuels octets de contrôle d'erreur, mais qui ne sont manipulés que par le disque dur lui-même et par son contrôleur, et que l'on ne peut donc pas utiliser pour y stocker des données). Cela dit, certains systèmes (ceux de Microsoft) ne permettent pas une telle finesse dans la définition des partitions et nécessitent de travailler au niveau du cylindre.

Note : Pour comprendre ce qu'est un cylindre, il faut savoir que les données des disques durs sont stockées sur les faces magnétiques de plateaux en rotation, au dessus (et en dessous) desquelles les têtes de lecture/écriture du disque se déplacent radialement. Les données sont donc écrites en cercles concentriques sur les différents plateaux en raison de leur rotation sous les têtes de lecture (contrairement aux microsillons et aux CD, il s'agit bien ici de cercles et non d'une spirale car les têtes de lecture/écriture restent à une position fixe pendant la rotation des plateaux). On appelle ces cercles des « pistes » (« track » en anglais). Chaque tête accède donc à une piste et une seule à un instant donné, sur laquelle les secteurs sont enregistrés. Comme toutes les têtes sont solidaires (elles se déplacent ensemble lorsque l'une d'entre elles doit changer de piste), les différentes pistes des différents plateaux sont accédées simultanément. L'ensemble de ces pistes, situés à un rayon donné pour tous les plateaux, constitue ce que l'on appelle un « cylindre ». Les paramètres des disques durs sont donc exprimés en termes de nombre de têtes, de cylindres et de secteurs par piste.

Figure 4-1. Pistes et secteurs d'un disque dur

Vous remarquerez souvent que le nombre de têtes est impair, alors qu'en général, un plateau a deux faces... Cela est dû au fait que les fabricants de disques durs conservent toujours une face d'un plateau pour y écrire des données de contrôle permettant aux têtes de lecture/écriture de se positionner ou pour y placer des pistes complémentaires en cas de zones défectueuses sur la surface de l'un des autres plateaux.

Bien entendu, la limitation à quatre partitions seulement est extrêmement contraignante, aussi la notion de partition étendue a-t-elle été introduite. Une « partition étendue » est une partition primaire spéciale, dans laquelle il est possible de définir jusqu'à 64 sous-partitions. Ces sous-partitions sont appelées des « partitions logiques ». Les données ne sont jamais stockées dans la partition étendue elle-même, mais dans ses partitions logiques. On ne peut définir qu'une seule partition étendue sur un disque donné, mais cela n'empêche pas d'avoir des partitions primaires normales à côté de celle-ci. Il est donc recommandé, lorsque l'on crée la quatrième partition, de créer une partition étendue et non une partition primaire, afin de se réserver la possibilité de créer de nouvelles partitions ultérieurement. Il faut toutefois savoir que certains systèmes ne peuvent pas être installés sur des partitions logiques (notamment DOS et Windows 9x/Millenium), bien qu'ils soient capables d'y accéder une fois qu'ils ont démarré.

Figure 4-2. Partitions primaires et partitions logiques

Outre la table des partitions primaires, le MBR contient un petit programme appelé le « bootstrap loader » qui permet de charger le premier secteur d'une des partitions primaires. Ce secteur est communément appelé le « secteur de boot », parce qu'il contient le programme capable de charger le système d'exploitation. La partition dont le secteur de boot est chargé par le bootstrap loader est appelée la « partition active ». Il ne peut y avoir qu'une seule partition active à chaque instant : celle du système d'exploitation principal.

Généralement, le programme stocké sur le secteur de boot d'une partition a pour but de charger le système d'exploitation qui y est installé. Cependant, pour certains systèmes d'exploitation, ce programme est très évolué et permet de lancer d'autres systèmes d'exploitation, éventuellement installés sur d'autre partitions ou d'autres disques durs. Ces programmes sont alors appelés des « gestionnaires d'amorçage ». Linux dispose de deux gestionnaires d'amorçage très puissants : le GRUB et LILO. Windows NT, 2000 ou XP disposent également d'un gestionnaire d'amorçage capable de lancer d'autres systèmes d'exploitation : NTLDR.

Pour résumer, lors du démarrage d'un PC, le BIOS charge le MBR du premier disque dur en mémoire et exécute le bootstrap loader. Celui-ci cherche ensuite à charger le secteur de boot de la partition active, et exécute le gestionnaire d'amorçage qui s'y trouve. Ce gestionnaire peut donner accès aux différents systèmes d'exploitation, qu'ils soient situés sur d'autres partitions ou même d'autres disques durs. La manière dont chaque système est lancé dépend bien sûr du système. Il faut donc, en général, lancer chaque système d'exploitation avec son propre chargeur. Cependant, on peut toujours utiliser un gestionnaire d'amorçage d'un autre système en rusant quelque peu : il suffit d'indiquer à ce gestionnaire de charger le secteur de boot de la partition d'installation du système que l'on désire lancer si celui-ci n'est pas pris en charge directement. Dans ce cas, le gestionnaire d'amorçage ne fait que passer la main au chargeur de l'autre système. La manière de procéder pour installer LILO, le GRUB ou NTLDR sera décrite dans la Section 4.8.

Figure 4-3. Master boot record et secteurs de boot

4.4.2. Plan de partitionnement

Avant de se lancer dans l'opération de partitionnement proprement dite, il faut établir un plan de partitionnement. Cela consiste tout simplement à déterminer la taille et la nature de chaque partition dans le système. Il est normal, sur un système où seul Linux sera utilisé, de disposer d'au moins trois partitions :

L'avantage d'avoir une partition séparée pour toutes les données des utilisateurs est considérable, puisque dans ce cas on peut mettre à jour le système ou le réinstaller complètement sans avoir à faire de sauvegarde de ses données. De plus, les fichiers de configuration importants peuvent être sauvegardés sur cette partition avant la réinstallation, ce qui est extrêmement pratique. Ce type de partitionnement est à prendre sérieusement en considération, surtout pour les machines de particuliers, sur lesquelles un grand nombre de programmes peuvent être installés simplement pour les tester. Il n'est donc pas rare, dans ces conditions, d'avoir à refaire une installation complète pour « nettoyer » rapidement le système.

Toutefois, si l'on ne dispose pas de beaucoup de place sur le disque, il est possible de regrouper la partition racine et la partition contenant les données utilisateurs. Un mauvais dimensionnement de ces partitions aura dans ce cas de moins lourdes conséquences (si une partition est pleine, on ne peut pas facilement utiliser l'espace restant sur les autres partitions).

Si votre machine est destinée à accueillir plusieurs systèmes d'exploitation, il est vivement recommandé de créer au moins une partition FAT ou FAT32. Cette partition permettra en effet d'échanger des données entre Linux et les autres systèmes d'exploitation, car les systèmes de fichiers FAT sont reconnus par tous les systèmes d'exploitation courants. Notez que si Windows NT4 doit être installé, vous devrez créer une partition FAT plutôt qu'une partition FAT32, car Windows NT ne reconnaît pas, sans programmes additionnels, les partitions FAT32. Ce problème ne se pose plus pour Windows 2000 et pour XP. Notez également que bien que Linux sache parfaitement lire les partitions NTFS (utilisées par Windows NT4, Windows 2000 et par XP), l'écriture sur ces partitions est expérimentale et n'est donc pas conseillée. Inversement, aucun système Windows ne sait lire les systèmes de fichiers Linux, quels qu'ils soient. Avoir une partition FAT est donc incontournable dans ce cas de configuration.

Si la machine doit être d'une fiabilité absolue ou si vous êtes soumis à des contraintes d'exploitation fortes, vous pouvez opter pour des solutions radicales qui consistent à séparer les données d'exploitation (normalement situées dans le répertoire /var/) des fichiers des programmes, et de les placer dans une partition dédiée. Vous pourrez alors ne monter que cette partition en lecture/écriture. Ainsi, en cas de crash système, seule la partition contenant les données d'exploitation devra être réparée, ou à l'extrême rigueur réinitialisée complètement par les scripts de démarrage.

Rien ne vous empêche de créer d'autres partitions si vous le désirez. Sachez cependant que les systèmes de fichiers de Linux ne sont pas aussi limités que les systèmes de fichiers FAT et FAT32 en ce qui concerne les tailles maximales des partitions et que, par conséquent, créer une multitude de partitions n'est pas nécessaire et n'est certainement pas une bonne idée. La création de partitions supplémentaires peut malgré tout s'avérer nécessaire, par exemple pour y installer d'autres systèmes d'exploitation. Dans ce cas, vous aurez certainement à créer une partition étendue et des partitions logiques.

La grande difficulté dans l'établissement du plan de partitionnement est de bien déterminer ses besoins en place disque, aussi bien pour les programmes que pour les données et le swap. Cependant, d'une manière générale, on peut considérer que ce qui est le plus important pour un particulier, ce sont ses données, et que le système ne va pas prendre des dizaines de giga-octets sur le disque ! Si vous décidez de placer les programmes et les données utilisateurs dans deux partitions séparées, vous pouvez envisager le plan de partitionnement suivant :

Note : La partition du système dont on utilise le gestionnaire d'amorçage doit être placée de préférence avant le cylindre 1024. En effet, certains BIOS ne peuvent pas accéder aux cylindres suivants, et le bootstrap loader ne peut donc pas charger le gestionnaire d'amorçage du système dans ce cas. Cela signifie que la deuxième partition doit être la partition du système d'exploitation principal (cela a en plus l'avantage de donner les accès disque les plus rapides pour les fichiers de ce système).

Notez que ce plan de partitionnement utilise les quatre entrées de la table des partitions, et ne permet donc pas d'en ajouter une complémentaire. Si l'on désire installer un autre système d'exploitation, on pourra le faire sur la partition FAT (auquel cas on pourra lui consacrer plus d'un giga-octet), soit sur un deuxième disque dur. Si cela ne s'avère pas possible (par exemple parce que l'on veut installer Windows NT, Windows 2000 ou XP sur une partition NTFS tout en conservant la partition FAT), on devra créer une partition étendue. Je préconise dans ce cas de placer les deux dernières partitions (la partition d'échange et la partition des répertoires personnels des utilisateurs) dans des partitions logiques de cette partition étendue, ce qui laisse libre la troisième partition primaire pour un autre système d'exploitation. Bien entendu, ce plan de partitionnement est une suggestion et vous êtes absolument libre d'en choisir un autre. Je ne le fournis que pour aider ceux qui ne savent pas comment effectuer leur partitionnement précisément. Il devrait convenir pour tous les disques de plus de 4 Go, qui sont monnaie courante à présent.

En fait, il est possible d'installer Linux sur une partition FAT, même si elle est partagée avec un autre système d'exploitation, à l'aide d'une extension de ce système de fichiers nommée « UMSDOS ». Cependant, cette opération n'est pas prévue par la plupart des distributions en standard, et on commence là à sortir des sentiers battus. Autant dire que l'installation risque de se compliquer sérieusement. De plus, ce choix est fondamentalement mauvais, parce que :

  • le système de fichiers FAT est supporté par Linux, mais n'est pas optimisé. Il est donc environ deux fois plus lent que les systèmes de fichiers natif EXT2 ou ReiserFS ;

  • le système de fichiers UMSDOS simule un système de fichiers Unix sur la FAT en rajoutant des fichiers d'informations complémentaires, ce qui est encore plus lent ;

  • le système de fichiers FAT n'est intrinsèquement pas sûr, car il ne prévoit aucun moyen de dupliquer les données ;

  • votre système Linux est alors à la merci des innombrables virus du monde Windows ;

  • les systèmes de fichiers de Linux sont plus performants qu'un système de fichiers FAT32, même lorsqu'on l'utilise sous Windows 95.

Cela dit, il faut se faire une raison, si l'on installe Linux, c'est pour l'utiliser. La solution la plus simple pour ceux qui hésitent encore est peut être de disposer d'un tiroir et d'un deuxième disque dur.

4.4.3. Trouver de la place pour installer le système

L'un des problèmes les plus courants lors d'une nouvelle installation est l'absence de place disponible sur le disque dur pour placer une partition Linux. Ce problème n'a hélas pas de solution : il faut supprimer une autre partition appartenant à un autre système, ou en réduire une. Souvent, réduire une partition revient à sauvegarder les données, la supprimer, la recréer avec une taille inférieure et à restaurer les données. Certains outils commerciaux permettent de réduire des partitions directement, mais ils se vendent souvent pour le prix d'un disque dur neuf (je ne peux donc réellement pas conseiller de les acheter, sauf si vous avez plusieurs disques durs dont les partitions doivent être redimensionnées ou déplacées !). De plus, Linux dispose également d'un outil similaire qui, bien qu'il soit encore en phase de développement, permet déjà de réaliser la plupart des opérations que l'on peut avoir à faire sur les partitions FAT et les partitions EXT2 de Linux. Il s'agit du programme parted, que nous décrirons ci-après. De même, il existe un programme DOS permettant de réduire la taille d'une partition FAT, moyennant quelques précautions complémentaires. Bien entendu, il va de soi que si l'on doit déplacer ou modifier une partition, il faut faire au préalable des sauvegardes de toutes les données de cette partition...

Lorsqu'on installe Linux sur un ordinateur sur lequel un autre système d'exploitation est déjà présent, ce système est très souvent un système Microsoft (DOS, Windows 9x ou Windows NT/2000/XP). La plupart de ces systèmes utilisent le système de fichiers FAT sur leur partition. Or ce système de fichiers est relativement primaire et il est donc possible de redimensionner et de déplacer facilement les partitions sur lesquelles il est utilisé. En revanche, si le système de fichiers utilisé est de type NTFS (ce système de fichiers n'est disponible qu'avec Windows NT, Windows 2000 ou XP), aucune méthode simple ne permet de le redimensionner.

Il est possible que votre distribution dispose d'un outil graphique permettant de manipuler les partitions existantes pendant la phase d'installation. Ce type d'outil pourra être utilisé pour dégager de la place pour Linux, éventuellement en réduisant une partition existante. Nous ne décrirons cependant pas ces outils ici, car ils sont spécifiques à chaque distribution. En revanche, nous présenterons les deux principales techniques permettant de redimensionner une partition, la première fonctionnant sous Linux et la deuxième sous DOS.

4.4.3.1. Utilisation de parted

L'utilitaire GNU parted est le standard en ce qui concerne les manipulations de partitions sous Linux. Cet outil s'utilise en ligne de commande, et peut donc être utilisé à partir d'un terminal en mode texte pendant la phase d'installation, si votre distribution l'inclut avec ses outils d'installation standards. Si ce n'est pas le cas, vous pourrez récupérer l'image d'une disquette de boot Linux contenant cet outil à l'adresse ftp://ftp.gnu.org/gnu/parted/bootdisk/partboot.img. Cette image pourra être copiée sur une disquette à l'aide de l'utilitaire DOS RAWRITE.EXE, de la même manière que les disquettes de boot de votre distribution peuvent être créées. La manière de procéder a été décrite dans la Section 4.3.

Une fois que vous aurez démarré Linux et obtenu un terminal fonctionnel, vous pourrez lancer parted avec la simple commande suivante :

parted disque
disque est l'identifiant du disque dur sur lequel la partition à modifier se trouve. Comme on l'a vu précédemment, tous les périphériques sont accessibles par l'intermédiaire de fichiers spéciaux placés dans le répertoire /dev/. Le nom des fichiers spéciaux correspondants à vos disques peut varier selon leur nature. Ainsi, les disques et les lecteurs de CD IDE sont accessibles par l'intermédiaire des fichiers spéciaux /dev/hda, /dev/hdb, /dev/hdc, etc. Ces fichiers permettent d'accéder respectivement au disque maître du premier contrôleur IDE, au disque esclave de ce même contrôleur, puis au disque maître du deuxième contrôleur IDE puis au disque esclave du deuxième contrôleur IDE, etc. Ainsi, si vous ne disposez que d'un disque, il doit normalement être connecté sur le premier contrôleur IDE et être maître. Dans ce cas, vous y accéderez par le fichier spécial /dev/hda. Pour les disques SCSI, les noms sont légèrement différents : ils sont nommés /dev/sda, /dev/sdb, etc. La modification des partitions du premier disque dur IDE se fera donc à l'aide de la commande suivante :
parted /dev/hda

Note : À partir de la version 2.4.0 du noyau de Linux, le répertoire /dev/ peut être généré par le noyau, dans un système de fichiers virtuel. L'organisation de ce répertoire est dans ce cas différente de l'organisation classique, et les noms de fichiers spéciaux correspondants aux disques peuvent être différents de ceux indiqués ci-dessus. Par exemple, le chemin du fichier spécial permettant d'accéder au premier disque IDE sera /dev/ide/host0/bus0/target0/disc. Comme vous pouvez le constater, la représentation de la machine dans le système de fichiers virtuels est plus structurée, mais également plus compliquée. Afin de simplifier ces mécanismes, il est d'usage de placer des liens symboliques dans le répertoire /dev/ permettant d'accéder aux fichiers spéciaux de périphériques avec leurs anciens noms. Vous n'aurez donc normalement pas à vous soucier de savoir si votre noyau utilise ou non le système de fichiers virtuels /dev/, et les chemins utilisés dans la suite de ce document seront les chemins classiques. Vous devrez faire la traduction vers les chemins du système de fichiers virtuels vous-même si vous ne voulez pas utiliser ces liens symboliques.

parted dispose de plusieurs commandes permettant de modifier les partitions. À l'heure actuelle, il ne permet réellement de travailler que sur les partitions FAT et les partitions contenant un système de fichiers EXT2, EXT3 ou ReiserFS. Seul les fonctionnalités de manipulation des partitions FAT nous intéressent ici, car nous devons réduire une partition FAT.

La première commande indispensable est la commande print, qui permet d'afficher la table des partitions du disque courant. Les informations affichées par cette commande se présentent de la manière suivante :

Disk geometry for /dev/hda: 0.000-32634.492 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031  32632.031  primary   FAT         lba
Comme vous pouvez le constater, les partitions sont décrites à raison d'une ligne par partition. Cette ligne contient le numéro de la partition (les quatre premiers numéros étant affectés aux partitions primaires), les points de départ et de fin de ces partitions, exprimés en mégaoctets, le type de la partition, le système de fichiers de cette partition, et des indications complémentaires.

Note : Comme il l'a déjà été expliqué ci-dessus, les partitions sont généralement décrites en terme de cylindres. parted préfère utiliser le mégaoctet comme unité, ce qui est généralement plus clair. Il prend complètement en charge la traduction des informations de taille en termes plus physiques, en tenant compte des éventuels problèmes d'alignement aux limites de cylindre. Son utilisation est donc relativement directe.

La commande qui nous intéresse le plus ensuite est la commande resize, qui permet de redimensionner une partition. Cette commande utilise la syntaxe suivante :

resize partition début fin
partition est le numéro de la partition tel qu'il est présenté dans la première colonne des informations de la commande print, début est la nouvelle position où la partition commencera et fin est la nouvelle limite de cette partition. Comme vous pouvez le constater, il est possible de réduire une partition aussi bien par son début que par sa fin ! La seule contrainte est, bien entendu, que cette partition reste suffisamment grande pour contenir l'ensemble de ses données. Par exemple, pour réduire de 8 Go la première partition du disque dur de l'exemple précédent afin d'y placer la partition de swap et les systèmes de fichiers, on utiliserait la commande suivante :

resize 1 8192 32632.031

Note : L'opération de redimensionnement peut prendre un certain temps. En effet, parted doit déplacer les données qui se trouveraient en dehors de la partition après son redimensionnement si aucune mesure spéciale n'était prise, et il doit reconstruire complètement la FAT de cette partition pour qu'elle soit cohérente avec le nouvel emplacement de ces données.

Il est impératif de désactiver la limite utilisateur concernant la taille maximale des fichiers manipulés avant d'effectuer la moindre opération sur les partitions. En effet, cette limite pourrait empêcher parted d'accéder aux données situées au-delà d'une certaine position dans la partition. Pour désactiver cette limite, il faut taper la commande suivante avant de lancer parted :

ulimit -f unlimited

Si vous désirez déplacer une partition plutôt que de la redimensionner, vous pouvez utiliser la commande move :

move partition début
partition est le numéro de la partition et début est son nouvel emplacement de départ, exprimé en mégaoctets. De même, si vous désirez copier une partition, la commande cp devra être utilisée. Cette commande suit la syntaxe suivante :
cp [disque] source destination
disque est le disque dur où se trouve la partition source, source est le numéro de cette partition, et destination est le numéro de la partition destination. La partition destination est toujours située sur le disque dur courant (c'est-à-dire celui qui a été indiqué en ligne de commande lors du lancement de parted ou celui spécifié par la commande select de parted).

Enfin, une fois que toutes les manipulations sur les partitions auront été effectuées, vous pourrez quitter parted avec la simple commande quit. Vous pourrez obtenir la liste des autres commandes acceptées par parted en tapant la commande help.

4.4.3.2. Utilisation de fips

fips (abréviation de l'anglais « First Interactive Partition Splitter ») est un utilitaire similaire à parted, à ceci près qu'il fonctionne sous DOS et qu'il ne permet que de réduire la limite supérieure d'une partition FAT. De plus, cet utilitaire est incapable de réorganiser le système de fichiers à l'issue de la réduction de la taille de la partition. Il est donc nécessaire de défragmenter le système de fichiers avant d'utiliser ce programme, afin de placer toutes ses données au début de la partition.

Note : Vérifiez bien les options du défragmenteur de système de fichiers que vous utilisez : quelques outils consolident bien l'espace libre mais placent certains fichiers à la fin de la partition FAT pour laisser plus de place aux fichiers les plus utilisés au début du disque, afin d'optimiser le débit de données sur ces fichiers (c'est notamment le cas avec le défragmenteur de Norton). Il faut impérativement désactiver ce type d'option avant de réduire la partition, faute de quoi vous perdriez définitivement les fichiers qui se trouvent à la fin de la partition et votre FAT serait dans un état incohérent.

Une fois la défragmentation réalisée, fips peut être utilisé pour réduire la taille de la partition FAT. La plupart des distributions de Linux fournissent des utilitaires DOS sur leur CD-ROM d'installation, généralement dans le répertoire dosutils. C'est là que vous pourrez sans doute trouver fips. Attention, vous devrez impérativement utiliser la version 2.0 de fips pour manipuler les FAT32 et FAT32X.

La réduction de la taille d'une partition se fait en modifiant la variable qui contient la taille de la partition dans la table des partitions. Pour cela, vous devrez simplement lancer fips. Celui-ci vous présentera alors la liste des disques durs installés sur votre système, et vous devrez lui indiquer le disque sur lequel la partition à réduire se trouve. Il vous demandera ensuite la partition que vous désirez réduire, puis le cylindre auquel cette partition devra se terminer. Lorsque vous aurez déterminé la nouvelle taille de cette partition, vous devrez presser la touche 'c' pour poursuivre. fips vous demandera alors confirmation avant d'écrire sur disque les nouvelles informations de partition. Si vous êtes sûr de vous, vous pouvez répondre par l'affirmative en pressant la touche 'y'.

Note : Contrairement à parted, fips ne reconstruit pas la table d'allocation des fichiers (la « FAT ») après avoir réduit la taille de la partition, ce qui fait que cette dernière est trop grosse pour cette nouvelle taille après réduction. Cela n'est pas gênant, seuls quelques mégaoctets seront perdus sur la partition FAT dans la FAT elle-même. Cette technique a en revanche l'avantage d'être extrêmement rapide.

4.4.4. Utilisation de fdisk

Le partitionnement en soi peut se faire soit directement à l'aide du fdisk de Linux, soit par l'intermédiaire du programme d'installation de la distribution correspondante. Il est recommandé d'utiliser ce programme d'installation, qui vous guidera et vous indiquera comment réaliser cette opération. Si toutefois vous désirez utiliser fdisk, il vaut mieux faire attention à ce que vous faites. Pour lancer fdisk, il suffit de taper la commande suivante en ligne de commande :

fdisk disque
disque est le fichier spécial de périphérique représentant le disque que vous désirez partitionner. Si vous voulez partitionner le disque maître du premier contrôleur IDE, vous devrez donc taper :
fdisk /dev/hda

Si vous ne spécifiez aucun disque en paramètre à fdisk, il prendra par défaut le disque /dev/sda, ou /dev/hda si aucun disque SCSI n'est installé.

fdisk est un programme très peu interactif. Il attend que vous lui communiquiez les commandes à exécuter en tapant sur une lettre. Les différentes commandes possibles peuvent être affichées avec la commande 'm'.

Lorsque vous créez une partition, vous devez utiliser la commande 'n', puis indiquer son type avec les commandes 'p' (pour « primary ») pour une partition primaire ou 'e' (pour « extended ») pour une partition étendue. Vous devrez ensuite donner son numéro dans la table des partitions, puis indiquer le début et la fin de la partition. Par défaut, l'unité utilisée par fdisk est le cylindre. Il est recommandé de conserver cette unité, surtout si l'on utilise un système qui ne sait manipuler que les cylindres. Toutefois, on peut changer cette unité grâce à la commande 'u' et utiliser le secteur comme unité.

Si vous avez créé une partition étendue, celle-ci sera utilisée pour y stocker des partitions logiques. Pour pouvoir les créer, il faut encore utiliser la commande 'n', et choisir le type de partition logique avec la commande 'l' (pour « logical »). Les partitions logiques sont numérotées avec les nombres 5 et suivants. La création des partitions logiques se fait exactement de la même manière que les partitions primaires, en spécifiant leur début et leur fin, soit en cylindres, soit en secteurs selon l'unité courante.

Une fois les partitions créées, vous pouvez spécifier leur type à l'aide de la commande 't' (pour « type »). Cette commande demande successivement le numéro de la partition à modifier et la valeur de son identificateur en hexadécimal. Rappelons que les identificateurs à utiliser pour Linux sont 83 pour les partitions de systèmes de fichiers Linux, et 82 pour les partitions de swap. La liste des valeurs admissibles peut être obtenue à l'aide de la commande 'l'. Par défaut, le fdisk de Linux crée des partitions Linux natives, de code 83.

Lorsque vous aurez complètement défini vos partitions, il ne vous restera plus qu'à activer la partition qui contiendra le gestionnaire d'amorçage. La sélection de la partition active se fait avec la commande 'a' de fdisk. C'est donc sur cette partition que le chargeur du MBR ira chercher le gestionnaire d'amorçage du système à lancer.

Note : Théoriquement, il est tout à fait possible d'installer le gestionnaire d'amorçage d'un système directement sur le MBR, mais procéder de cette manière est très déconseillé. En effet, certains systèmes d'exploitation (notamment tous les systèmes de Microsoft) écrasent systématiquement le MBR lorsqu'ils s'installent, détruisant ainsi le chargeur d'un autre système qui y serait éventuellement installé. Cela implique que si l'on désire installer un gestionnaire d'amorçage autre que celui des systèmes Microsoft sur le MBR, il faut le faire après l'installation de ces systèmes. En pratique, cela veut dire que dans ce cas, on doit installer Linux après Windows ou le DOS.

Notez qu'il n'est toutefois pas toujours faisable d'installer le gestionnaire d'amorçage sur le secteur de boot de la partition de son système, en particulier si cette partition ne se trouve pas sur le premier disque dur de la machine. En effet, la plupart des BIOS sont incapables d'utiliser les MBR des autre disques durs. Dans ce cas, on peut soit créer une partition de démarrage de petite taille (quelques méga-octets, un cylindre au maximum) au début du disque et sur laquelle on installera le gestionnaire d'amorçage et éventuellement quelques outils de réparation en cas de coup dur, soit installer le gestionnaire d'amorçage directement sur le MBR du premier disque dur. Dans ce cas, on devra faire particulièrement attention à l'ordre d'installation des systèmes d'exploitation. De manière générale, il faut toujours installer les systèmes Microsoft en premier (respectivement dans l'ordre suivant si l'on veut éviter les problèmes : DOS, Windows 9x/Millenium et Windows NT4/2000/XP). Nous verrons plus loin comment installer le gestionnaire d'amorçage de Linux et faire une configuration multiboot avec les principaux autres systèmes d'exploitation existants.