3.2. Partitionnement et systèmes de fichiers

L'installation d'un système d'exploitation tel que Linux sur un PC touche aux structures de données fondamentales du disque dur et est de ce fait une opération très sensible. Il est donc nécessaire de connaître certaines notions de base afin de savoir ce que l'on est en train de faire. Cette section a donc pour but de vous présenter ce qu'est une partition et un système de fichiers, comment choisir un plan de partitionnement, et comment l'accès aux partitions se fait dans un système Linux.

3.2.1. Notion de partition

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. La notion de partition permet de réserver certaines portions du disque dur à un usage particulier, et de bien séparer les données qui se trouvent dans chaque partition. 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 partitions des autres systèmes. 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 point de départ, leur taille et leur type. Le point 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 3-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 3-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'autres 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, XP disposent également d'un gestionnaire d'amorçage capable de lancer d'autres systèmes d'exploitation : NTLDR. Windows Vista fournit son propre gestionnaire d'amorçage, bcdedit, qui est relativement difficile à utiliser.

Pour résumer, lors du démarrage d'un PC, le programme d'amorçage de la machine (communément appelé 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 ensuite 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.

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

3.2.2. Notion de système de fichiers

Les systèmes d'exploitation utilisent généralement les partitions pour y stocker ce que l'on appelle des « systèmes de fichiers ». Nous allons voir à présent ce qu'est un système de fichiers, et comment ils sont manipulés sous Unix.

3.2.2.1. Définition

Un système de fichiers est une structure de données sur disque contenant des fichiers, dans lesquels applications peuvent y stocker leurs données. Les fichiers eux-même sont des entités capable de contenir des données au sens large, ce peut être des documents (texte, image, film, son), des programmes, des données utilisées par le système ou tout autre type de données imaginable.

La plupart des systèmes de fichiers sont structurés hiérarchiquement, et regroupent les fichiers dans des répertoires. Cette organisation permet de classer les fichiers et de pouvoir les retrouver plus facilement. Il existe donc un répertoire racine, qui contient tous les fichiers soit directement, soit indirectement dans ses sous-répertoires. En fait, les répertoires sont eux-mêmes des fichiers spéciaux, interprétés par le système différemment des autres fichiers. Les données stockées dans les répertoires sont simplement les entrées de répertoires, qui caractérisent et permettent d'avoir accès aux autres fichiers et aux autres répertoires.

Il existe de nombreux types de systèmes de fichiers, pour chaque système d'exploitation. Les plus connus dans le monde Windows sont la FAT (système de fichier originel du DOS) et la FAT32, ainsi que NTFS (système de fichiers de Windows NT4, 2000, XP et Vista) et ISO9660 (système de fichiers des CD-ROM et DVD). Sous Linux, on retrouve, outre les systèmes de fichiers Windows, les systèmes Ext2 et Ext3, ReiserFS v3, XFS, JFS, etc. Chacun de ces systèmes de fichiers a ses avantages et ses inconvénients, aussi bien en termes de performances et de limites que de fiabilité face aux défaillances matérielles. En pratique, les systèmes de fichiers les plus utilisés sous Linux sont Ext3 et ReiserFS v3.

3.2.2.2. Nommage des fichiers

Afin de retrouver les fichiers, un nom leur est attribué. Il est possible, à partir du nom des différents sous-répertoires et du nom du fichier, de construire un « chemin d'accès », qui permet de référencer le fichier en question de manière bien précise et de pouvoir le retrouver facilement. Bien entendu, c'est du répertoire racine que débutent tous les chemins possibles dans le système de fichiers. De ce fait, le répertoire racine est le seul répertoire qui n'a pas de nom.

Dans les chemins d'accès aux fichiers, les noms de répertoires et de fichiers sont séparés par un caractère spécial. Ce caractère est traditionnellement, sous Unix, la barre oblique de division (nommée « slash » en anglais) : '/'. Les utilisateurs du DOS et de Windows prendront garde ici au fait que Microsoft a préféré la barre oblique inverse (nommée « backslash » en anglais) '\', rendant ainsi tous ses systèmes incompatibles avec les systèmes Unix, et générant ainsi beaucoup de problèmes supplémentaires là où il n'était pas nécessaire d'en avoir (sincèrement, le coût de cette ânerie, ainsi que celle des marqueurs de fin de ligne différents dans les fichiers textes, doit atteindre des sommes astronomiques dans tous les projets de portage ou de développement d'applications portables). Comme le répertoire racine n'a pas de nom, il peut être accédé directement avec un simple slash :

/

L'écriture d'un chemin d'accès se fait en écrivant les noms des différents répertoires et le nom du fichier, tous séparés par le séparateur. L'exemple suivant vous montre l'allure d'un chemin d'accès typique sous Unix :

/home/dupond.jean/lettres/professionnelles/marketing/ventes2005.odt

Le chemin de cet exemple référence le fichier « ventes2005.odt » de l'utilisateur « Jean Dupond ».

Comme on peut le voir dans cet exemple, le nom de fichier contient un suffixe « odt », séparé du corps du nom par un point. En effet, il est d'usage d'ajouter un tel suffixe aux noms des fichiers, afin de pouvoir le caractériser plus facilement. Ce suffixe est appelé « l'extension ». Dans le cas présent, l'extension « odt » indique qu'il s'agit d'un fichier « OpenOffice Document Text », donc qu'il s'agit d'un document texte de la suite bureautique OpenOffice.

Les utilisateurs de DOS et Windows devront faire attention aux points suivants lorsqu'ils utiliseront des fichiers sous Linux :

  • Contrairement à DOS et à Windows, les systèmes Unix n'utilisent pas l'extension pour identifier la nature d'un fichier. Ainsi, il est tout à fait possible de stocker une image JPEG dans un document d'extension « .doc » : cela n'en fera pas pour autant un document Microsoft Word...

  • L'extension n'ayant aucun rôle particulier, un nom de fichier peut parfaitement contenir un ou plusieurs points, et une extension peut être arbitrairement longue. En revanche, par convention, les fichiers dont le nom commence par un point sont des fichiers cachés. Dans ce cas, ils ne seront visibles que si on le demande explicitement.

  • Les systèmes de fichiers Unix font la distinction entre les majuscules et les minuscules. Il faut donc prendre garde à la manière dont on écrit les noms de fichiers et de répertoires. Cependant, la plupart des gens n'utilisent que des minuscules pour leurs noms de fichiers.

Les systèmes de fichiers Unix n'ont pas les mêmes limitations sur les noms que les systèmes de fichiers FAT, FAT32 et ISO9660. Par exemple, les noms des fichiers et des répertoires peuvent être très longs (jusqu'à 256 caractères par nom), et la longueur maximale d'un chemin d'accès est de 4 ko dans le système de fichiers EXT2.

3.2.2.3. Montage des systèmes de fichiers

Contrairement à l'usage sous Windows, les chemins d'accès Unix ne comportent pas de spécification de lecteur. Les systèmes de fichiers Unix sont dits mono-têtes, ce qui signifie qu'ils n'ont qu'un seul point de départ : le répertoire racine (alors que les systèmes Microsoft sont multi-têtes, puisqu'ils ont un point de départ par lecteur et par partition). Le fait de n'avoir qu'un seul point de départ est beaucoup plus simple et permet, encore une fois, d'écrire les programmes plus simplement et donc avec moins de bogues potentiels.

Je sens tout de suite venir la question de la part des habitués du DOS : « Mais alors, comment spécifie-t-on le lecteur que l'on veut utiliser ? ». Cette question a deux réponses. Premièrement, sous Unix, on n'accède pas aux lecteurs, mais aux systèmes de fichiers. Il faut donc bien comprendre qu'un lecteur représente un périphérique physique, et qu'il est possible qu'il contienne plusieurs systèmes de fichiers dans différentes partitions. De même, un système de fichiers n'est pas nécessairement stocké sur un lecteur ou dans une partition : il peut être également stocké dans un fichier (c'est le cas par exemple pour les images disques de CD-ROM), accessible par le réseau (c'est le cas des systèmes de fichiers réseau, « Network File System » en anglais), ou encore généré par un composant du système (c'est le cas des systèmes de fichiers virtuels du noyau).

Cependant, le problème de l'accès aux systèmes de fichiers se pose malgré tout. La réponse à ce problème-ci est cette fois la suivante : pour accéder à un système de fichiers, il faut réaliser une opération que l'on nomme le « montage ». Cette opération associe le répertoire racine de ce système de fichiers à l'un des répertoires de l'arborescence existante. Ce répertoire est couramment appelé « point de montage ». Les fichiers qui se trouvent dans le point de montage sont masqués par ceux du système de fichiers montés et ne sont donc plus accessibles, mais ils ne sont bien entendus pas détruits.

Par exemple, il est courant de monter le lecteur de disquette dans le répertoire /floppy/. Ainsi, si la disquette contient le fichier ventes1999.odt, ce fichier sera accessible grâce au chemin suivant :

/floppy/ventes1999.odt

Cette solution permet d'accéder à tous les systèmes de fichiers de la même manière, à partir d'un seul répertoire racine, que ces systèmes de fichiers soient EXT2, FAT, ISO9660, NTFS ou Amiga... En pratique, c'est nettement plus simple.

Note : L'opération de montage peut réaliser bien plus d'opérations qu'une simple association de la racune d'un système de fichiers à un point de montage. En effet, elle peut générer les opérations suivantes de manière implicite :

  • chargement des pilotes pour ce système de fichiers ;

  • allocation de tampons mémoire pour optimiser les entrées/sorties en mémoire.

On fera donc très attention à toujours démonter les systèmes de fichiers pour les lecteurs amovibles. En effet, Linux utilise en effet les tampons mémoire (« buffers » en anglais) pour y stocker les données des systèmes de fichiers montés, et il n'écrit ces données sur le support de stockage que lorsque c'est nécessaire. Ce mécanisme permet d'accélérer les lectures et les écritures sur les disques, mais a l'inconvénient de nécessiter une requête de vidange des tampons (opération que l'on appelle « sync ») avant de retirer le lecteur ou avant d'éteindre le système. Si on ne le fait pas, des données seront certainement perdues. Pour les systèmes de fichiers fixes, le système effectue ce sync lorsqu'on l'arrête proprement, mais il ne le fait pas si on coupe le courant brutalement. De manière similaire, Linux empêche l'éjection des CD-ROM tant qu'ils sont montés, mais il ne peut rien faire pour les lecteurs amovibles tels que les disquettes et les clefs ou disques externes USB. C'est donc à l'utilisateur de prendre garde à bien démonter les systèmes de fichiers situés sur ces périphériques avant de les débrancher.

3.2.2.4. Identification des partitions

Comme nous le verrons plus tard, sous Linux, la plupart des périphériques sont considérés comme des fichiers (la principale exception étant les interfaces réseau). Cela signifie qu'ils peuvent être manipulés via des fichiers spéciaux, sur lesquels les opérations classiques des fichiers peuvent être réalisées (et notamment la lecture et l'écriture). Cette règle s'appliquant aux disques durs, et même à leurs partitions, il est utile de préciser les conventions de nommage utilisées par Linux pour représenter ces entités.

Les fichiers spéciaux de périphériques sont par conventions tous situés dans le répertoire /dev/. C'est donc dans ce répertoire que l'on trouve les fichiers spéciaux de périphériques pour les disques et autres périphériques de stockage de masse. Malheureusement, leur nom dépend de leur interface de connexion, ce qui fait que l'on ne peut pas écrire de procédure générique pour leur manipulation.

Historiquement, les périphériques IDE sont accessibles via des fichiers spéciaux nommés avec des noms de la forme hdX, où 'X' est une lettre identifiant le disque sur le bus IDE. Par exemple, le lecteur maître du premier contrôleur IDE est accessible via le fichier spécial de périphérique /dev/hda (qu'il s'agisse d'un disque dur ou d'un lecteur de CD/DVD), tandis que le lecteur esclave de ce même contrôleur sera accessible via le fichier spécial de périphérique /dev/hdb. Les lecteurs maître et esclave du deuxième contrôleur IDE seront quant à eux accessibles via les fichiers spéciaux de périphérique /dev/hdc et /dev/hdd, et ainsi de suite.

Inversement, les périphériques SCSI sont accessibles via des fichiers spéciaux de périphériques dont le nom est de la forme sdX. On pourra donc accéder aux divers disques SCSI via les fichiers spéciaux de périphérique /deb/sda, /dev/sdb, etc.

Note : Afin d'uniformiser la manière dont les périphériques sont accédés, la tendance est de considérer les nouveaux périphériques comme des périphériques SCSI. De ce fait, la terminologie sdX est de plus en plus employée. Ainsi, les lecteurs de connectique Serial ATA, USB ou Firewire utilisent tous cette terminologie. De plus, un nouveau jeu de pilotes pour les périphériques IDE classiques est en cours de développement, et il utilise déjà cette terminologie, même si éthymologiquement 's' signifie « SCSI ». Il n'y aura donc plus lieu de faire la distinction entre les interfaces utilisées sous peu.

Les fichiers spéciaux de périphérique des disques peuvent être utilisés directement, même si ce n'est pas l'usage de le faire. Par exemple, il est possible de lire la totalité du contenu d'un disque en lisant son fichier spécial de périphérique. En pratique toutefois, ces fichiers spéciaux de périphériques ne sont utilisés que pour manipuler la table des partitions. Ils ne sont généralement utilisés que par les programmes de partitionnement, donc que lors de l'installation du système ou lors de l'installation d'un nouveau disque. Par exemple, l'édition de la table des partitions du disque /deb/hda se fera avec la commande suivante sous Linux :

fdisk /dev/hda

Les partitions d'un disque quant à elle sont accessibles sous la terminologie hdXn ou sdXn, où 'X' est toujours la lettre du lecteur, et 'n' est le numéro de la partition considérée (la numérotation des partitions commence à partir de 1). Ainsi, la première partition du disque dur maître du premier contrôleur IDE (ouf !) est accessible via le fichier spécial de périphérique /dev/hda1, et ainsi de suite.

Ces fichiers spéciaux de périphériques peuvent également être utilisés directement, par exemple lorsque l'on veut copier une partition. Toutefois, en pratique, ces fichiers spéciaux sont surtout utilisés par les programmes permettant de créer les systèmes de fichiers. Par exemple, la création d'un système de fichiers FAT32 sur la partition /deb/sda1 se fera avec la commande suivante sous Linux :

mkdosfs -F32 /dev/sda1

Note : Comme il l'a déjà été dit ci-dessus, il est tout à fait possible de créer un système de fichiers dans un fichier... Il suffit en effet de donner le nom de ce fichier en paramètre à la commande de création du système de fichiers, en lieu et place du nom du fichier spécial de périphérique de la partition ou du disque !

Certains utilitaires non spécifiques à Linux utilisent d'autres conventions de nommage pour identifier les disques et les partitions. C'est notamment le cas, comme on le verra plus loin, pour le gestionnaire d'amorçage GRUB. En effet, ce gestionnaire ne fait pas d'hypothèse sur le système utilisé, et ne peut donc pas reprendre la terminologie Linux.

3.2.3. Choix du plan de partitionnement

Le partitionnement du disque peut généralement être réalisé automatiquement par les programmes d'installation des systèmes d'exploitation. Cependant, les choix faits par ces programmes ne sont pas toujours très judicieux, et peuvent ne pas convenir si votre disque contient des partitions déjà existantes. Nous verrons donc comment réaliser un partitionnement manuellement lors de l'installation de Linux.

Toutefois, avant de se lancer dans cette opération, 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 donc à 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. En effet, lorsqu'une partition est pleine, on ne peut pas facilement utiliser l'espace restant sur les autres partitions pour l'agrandir, car il faut déplacer toutes les données au préalable.

Si votre machine est destinée à accueillir plusieurs systèmes d'exploitation, il est peut être intéressant 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 les suivants. Notez également que bien que Linux sache parfaitement lire les partitions NTFS (utilisées par Windows NT4, 2000, XP et Vista), l'écriture sur ces partitions n'est pas complètement implémentée (il n'est possible d'écrire que dans un fichier existant). Inversement, aucun système Windows ne sait et ne saura lire les systèmes de fichiers Linux, quels qu'ils soient. De même, les systèmes Windows ne savent pas accéder à un système de fichiers stocké dans un autre fichier, sans installer d'outils complémentaires (pour ceux qui disposent de Windows XP, l'outil filedisk sera sans doute relativement utile). Avoir une partition FAT est donc souvent la solution la plus simple pour échanger des informations entre les deux systèmes.

Note : Sachez cependant que la taille maximum des fichiers sur les partitions FAT32 est limitée à 4Go. Cette limitation est en dessous de la taille d'un DVD, cela pourra donc être assez gênant à l'occasion pour transférer de gros fichiers tels que des fichiers images de DVD ou des fichiers vidéo non compressés. De plus, Microsoft ne recommande pas que des systèmes de fichiers FAT de plus de 32 Go soient utilisés, même s'il est possible de créer de tels systèmes de fichiers avec des utilitaires spécifiques. Les systèmes de fichiers Linux n'ont pas ce genre de limites.

Dans ce cas également, vous devrez prévoir une ou deux partitions pour le deuxième système d'exploitation, afin de séparer les données de ce système et les données des utilisateurs. Vous aurez alors certainement à créer une partition étendue et des partitions logiques, pour éviter d'être limité aux quatre partitions primaires. On constate ici que le fait que les données des utilisateurs ne puissent pas être partagées entre les système est très pénalisant...

Rien ne vous empêche de créer d'autres partitions si vous le désirez. Par exemple, 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.

Vous voyez que définir un plan de partitionnement n'est pas une chose facile, et il n'existe pas de solution générique qui convienne à tous les usages. Cela est d'autant plus vrai qu'il est impératif de bien déterminer ses besoins en espace disque, aussi bien pour les programmes que pour les données et le swap, puisque les partitions ne peuvent pas facilement être redimensionnées. Quoi qu'il en soit, dans tous vos choix, gardez à l'esprit que ce qui est le plus important pour un particulier, ce sont ses données.