Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:sfdisk [14/02/2010 20:54] smolski |
doc:systeme:sfdisk [24/08/2011 03:46] martin_mtl |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== SFDISK - Partitionnement pour EXPERT ====== | ||
+ | |||
+ | <note important>Pour obtenir les meilleurs résultats, vous devriez toujours utiliser un programme de partitionnement qui respecte les spécifications de la table des partitions et des systèmes de fichiers que vous voulez manipuler.</note> | ||
+ | |||
+ | **Par exemple, vous devriez créer/modifier** : | ||
+ | * des partitions **NTFS** avec les outils que prévoit Microsoft à cet effet ; | ||
+ | * des partitions **jfs** sur une table des partitions utilisée par MacOS X, avec les outils de MacOS X ; | ||
+ | * des partitions GNU/Linux avec ''sfdik'' pour créer les tables et les formater en **ext2**, **ext3**, **ext4** avec les outils des paquets ''e2fsprogs'' et ''util-linux''. | ||
+ | |||
+ | |||
+ | ===== SYNOPSIS ===== | ||
+ | |||
+ | sfdisk [options] <périphérique> | ||
+ | sfdisk -s <partition> | ||
+ | |||
+ | ===== INTRODUCTION ===== | ||
+ | |||
+ | ''sfdisk'' a quatre utilisations principales : | ||
+ | |||
+ | - **sfdisk -s** = Donner la taille d'une partition. | ||
+ | - **sfdisk -l** = Lister les partitions d'un périphérique. | ||
+ | - **sfdisk -V** = Vérifier les partitions d'un périphérique. | ||
+ | - **sfdisk** = Repartitionner un périphérique. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== sfdisk -s / Lister les tailles ==== | ||
+ | |||
+ | sfdisk -s <partition> donne la taille de la partition en blocs. | ||
+ | |||
+ | Partition est en général quelque chose du style : | ||
+ | # sfdisk -s /dev/hda1 | ||
+ | ou | ||
+ | # sfdisk -s /dev/sdb5 | ||
+ | Ce peut être aussi un disque entier, comme : | ||
+ | # sfdisk -s /dev/xda. | ||
+ | |||
+ | **sfdisk -s** peut être utile avec des programmes comme **mkswap** ou d'autres du même genre. | ||
+ | |||
+ | <code>sfdisk -s /dev/sda5 | ||
+ | 102566961</code> | ||
+ | |||
+ | Si l'argument <partition> est omis, **sfdisk** listera la taille de tous les disques en ajoutant leur total à la fin : | ||
+ | <code> | ||
+ | # sfdisk -s | ||
+ | $ sudo sfdisk -s | ||
+ | /dev/hda: 117187500 | ||
+ | /dev/sda: 156290904 | ||
+ | /dev/sdb: 312571224 | ||
+ | /dev/sdc: 488386584 | ||
+ | /dev/sdd: 976762584 | ||
+ | total: 2051198796 blocks</code> | ||
+ | |||
+ | ==== sfdisk -l / Lister les partitions ==== | ||
+ | |||
+ | ''sfdisk -l'' [options] <périphérique> listera __les partitions de ce périphérique__. | ||
+ | |||
+ | Si l'argument <périphérique> est omis, les partitions de tous les disques durs seront listées. | ||
+ | |||
+ | <code> | ||
+ | # sfdisk -l /dev/sda | ||
+ | |||
+ | Disk /dev/sda: 19457 cylinders, 255 heads, 63 sectors/track | ||
+ | Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 | ||
+ | |||
+ | Device Boot Start End #cyls #blocks Id System | ||
+ | /dev/sda1 0+ 35 36- 289138+ 83 Linux | ||
+ | /dev/sda2 36 19456 19421 155999182+ 5 Extended | ||
+ | /dev/sda3 0 - 0 0 0 Empty | ||
+ | /dev/sda4 0 - 0 0 0 Empty | ||
+ | /dev/sda5 6688+ 19456 12769- 102566961 83 Linux | ||
+ | /dev/sda6 36+ 606 571- 4586494+ 83 Linux | ||
+ | /dev/sda7 607+ 3038 2432- 19535008+ 83 Linux | ||
+ | /dev/sda8 3039+ 4254 1216- 9767488+ 83 Linux | ||
+ | /dev/sda9 4255+ 4862 608- 4883728+ 83 Linux | ||
+ | /dev/sda10 4863+ 6078 1216- 9767488+ 83 Linux | ||
+ | /dev/sda11 6079+ 6687 609- 4891761 82 Linux swap / Solaris | ||
+ | </code> | ||
+ | Les signes - et + de queue indiquent qu'un arrondi a été effectué, et que la valeur réelle est légèrement plus petite (grande). \\ | ||
+ | Pour voir les valeurs exactes, demandez un listing avec des secteurs comme unité. | ||
+ | |||
+ | ==== sfdisk -V / Vérifier les partitions ==== | ||
+ | |||
+ | ''sfdisk -V'' <périphérique> effectuera différents tests de cohérence sur la table des partitions du périphérique. | ||
+ | |||
+ | Il affichera « OK » ou se plaindra. | ||
+ | |||
+ | L'option -V peut être utilisée avec -l. | ||
+ | |||
+ | Dans un script shell, on peut utiliser : | ||
+ | sfdisk -V -q <périphérique> | ||
+ | qui renvoie uniquement une valeur de retour (de statut). | ||
+ | |||
+ | ==== sfdisk / Créer des partitions ==== | ||
+ | |||
+ | ''sfdisk'' <périphérique> fera lire par **sfdisk** | ||
+ | - les spécifications du partitionnement désiré de périphérique à partir de son entrée standard, | ||
+ | - lui fera ensuite modifier la table des partitions sur ce disque. | ||
+ | |||
+ | Ainsi, il est possible d'utiliser **sfdisk** à partir d'un //script shell//. \\ | ||
+ | <note tip>Quand **sfdisk** détermine que son entrée standard est un terminal, il sera interactif ; sinon, il avortera pour n'importe quelle erreur.</note> | ||
+ | |||
+ | <note warning>ATTENTION ! UNE FAUTE DE FRAPPE ET TOUTES VOS DONNÉES PEUVENT ÊTRE PERDUES !</note> | ||
+ | |||
+ | ===== sfdisk / Sauvegarde ===== | ||
+ | |||
+ | Par précaution, vous pouvez auparavant sauvegarder les secteurs modifiés par **sfdisk** : | ||
+ | |||
+ | # sfdisk /dev/hdd -O hdd-partition-sectors.save ... | ||
+ | |||
+ | Ensuite, si vous découvrez que vous avez fait quelque chose de regrettable | ||
+ | <note important>avant d'avoir écrit quoi que ce soit d'autre sur le disque</note> | ||
+ | il peut être possible de retrouver l'ancienne situation avec : | ||
+ | |||
+ | # sfdisk /dev/hdd -I hdd-partition-sectors.save | ||
+ | |||
+ | Ce n'est pas la même chose que de sauvegarder l'ancienne table des partitions : \\ | ||
+ | Une version lisible de l'ancienne table des partitions peut être sauvée avec l'option -d. | ||
+ | |||
+ | Néanmoins, si vous créez des partitions logiques, les secteurs les décrivant sont situés quelque part sur le disque, éventuellement sur des secteurs qui ne faisaient pas partie de l'ancienne table des partitions. Par conséquent, les informations sauvées par l'option -O ne sont pas une version binaire de la sortie de -d. | ||
+ | |||
+ | ===== OPTIONS - Générales ===== | ||
+ | |||
+ | ==== -v ou --version ==== | ||
+ | |||
+ | Afficher le numéro de version de sfdisk et se terminer immédiatement. | ||
+ | |||
+ | ==== -? ou --help ==== | ||
+ | |||
+ | Afficher un message d'utilisation et se terminer immédiatement. | ||
+ | |||
+ | ==== -T ou --list-types ==== | ||
+ | |||
+ | Afficher les types de systèmes de fichiers reconnus (les identificateurs). | ||
+ | |||
+ | ==== -s ou --show-size ==== | ||
+ | |||
+ | Afficher la taille d'une partition. | ||
+ | |||
+ | ==== -g ou --show-geometry ==== | ||
+ | |||
+ | Afficher la façon dont le noyau conçoit la géométrie du(des) disque(s) indiqué(s). | ||
+ | |||
+ | ==== -l ou --list ==== | ||
+ | |||
+ | Lister les partitions d'un périphérique. | ||
+ | |||
+ | ==== -d ==== | ||
+ | |||
+ | Produire les partitions d'un périphérique dans un format convenant comme entrée pour sfdisk : | ||
+ | |||
+ | # sfdisk -d /dev/hda > hda.out | ||
+ | # sfdisk /dev/hda < hda.out | ||
+ | |||
+ | corrigera la dernière mauvaise partition étendue que le fdisk OS/2 a créé. | ||
+ | |||
+ | ==== -V ou --verify ==== | ||
+ | |||
+ | Tester si les partitions semblent correctes. (Voyez au dessus.) | ||
+ | |||
+ | ==== -i ou --increment ==== | ||
+ | |||
+ | Numéroter les cylindres (etc.) en commençant à partir de 1 au lieu de 0. | ||
+ | |||
+ | ==== -N numéro ==== | ||
+ | |||
+ | Ne modifier que la partition indiquée par numéro : | ||
+ | |||
+ | # sfdisk /dev/hdb -N5 | ||
+ | ,,,* | ||
+ | |||
+ | rendra la cinquième partition de /dev/hdb amorçable (« active ») et ne changera rien d'autre. \\ | ||
+ | //Celle-ci sera probablement appelée //''/dev/hdb5''//, mais vous êtes libre de l'appeler autrement.// | ||
+ | |||
+ | **Par exemple :** ''/mon_équipement/disques/2/5'' (//ou quelque chose du genre//) | ||
+ | |||
+ | ==== -Anuméro(s) ==== | ||
+ | |||
+ | Rend la(les) partition(s) indiquée(s) active(s), et toutes les autres inactives. | ||
+ | |||
+ | ==== -c ou --id numéro [Id] ==== | ||
+ | |||
+ | Si aucun argument ID n'est donné, afficher l'identificateur de partition de la partition indiquée. \\ | ||
+ | S'il est présent, remplacer le type (Id) de la partition indiquée par la valeur fournie. \\ | ||
+ | Cette option a également les deux formes longues --print-id et --change-id. | ||
+ | |||
+ | # sfdisk --print-id /dev/hdb 5 | ||
+ | 6 | ||
+ | # sfdisk --change-id /dev/hdb 5 83 | ||
+ | OK | ||
+ | dit d'abord que /dev/hdb5 possède l'Id 6, et le remplace ensuite par 83. | ||
+ | |||
+ | ==== -uS ou -uB ou -uC ou -uM ==== | ||
+ | |||
+ | Accepte ou rapporte en unités de secteurs (blocs, cylindres, mégaoctets respectivement). \\ | ||
+ | L'unité par défaut est le cylindre, du moins quand la géométrie est connue. | ||
+ | |||
+ | ==== -x ou --show-extended ==== | ||
+ | |||
+ | Lister également les partitions étendues non primaires en sortie, ou en attendre des descripteurs en entrée. | ||
+ | |||
+ | ==== -C cylindres ==== | ||
+ | |||
+ | Spécifier le nombre de cylindres, en le substituant à l'avis du noyau. | ||
+ | |||
+ | ==== -H têtes ==== | ||
+ | |||
+ | Spécifier le nombre de têtes, en le substituant à l'avis du noyau. | ||
+ | |||
+ | ==== -S secteurs ==== | ||
+ | |||
+ | Spécifier le nombre de secteurs, en le substituant à l'avis du noyau. | ||
+ | |||
+ | ==== -f ou --force ==== | ||
+ | |||
+ | Faire ce que vous dites, même si c'est stupide. | ||
+ | |||
+ | ==== -q ou --quiet ==== | ||
+ | |||
+ | Supprimer les messages d'avertissement. | ||
+ | |||
+ | ==== -L ou --Linux ==== | ||
+ | |||
+ | Ne pas se plaindre de choses non pertinentes pour Linux. | ||
+ | |||
+ | ==== -D ou --DOS ==== | ||
+ | |||
+ | Pour la compatibilité DOS : gaspiller un petit espace. | ||
+ | |||
+ | == Plus précisément : == | ||
+ | |||
+ | Si une partition ne peut contenir le secteur 0, | ||
+ | |||
+ | **Par exemple :** \\ | ||
+ | Parce qu'il est occupé par le MBR (//Master Boot Record - secteur d'amorçage | ||
+ | principal//) du périphérique ou si elle contient la table des partitions d'une partition étendue. | ||
+ | |||
+ | alors **sfdisk** la fera débuter au secteur suivant. | ||
+ | |||
+ | Néanmoins, quand cette option est fournie, il passe toute la piste courante pour débuter à la piste suivante, en gaspillant. | ||
+ | |||
+ | **Par exemple :** \\ | ||
+ | 33 secteurs (//s'il y a 34 secteurs/piste//) | ||
+ | |||
+ | Comme le font certaines versions de DOS. | ||
+ | |||
+ | Certains Gestionnaires de Disque et chargeurs de démarrage comme //OSBS//, mais pas comme //LILO// ou le //Gestionnaire d'Amorçage OS/2//) vivent également dans cet espace vide. | ||
+ | |||
+ | Vous pourriez donc avoir besoin d'utiliser cette option ''-D'' si vous utilisez l'un d'entre eux. | ||
+ | |||
+ | ==== -E ou --DOS-extended ==== | ||
+ | |||
+ | Considérer que les numéros des secteurs de démarrage des partitions étendues « internes » sont relatifs à la limite du cylindre débutant la partition externe, (comme le font certaines versions du //DOS//), plutôt que relatifs au secteur de démarrage (comme le fait //Linux//). | ||
+ | |||
+ | **Nota :** \\ | ||
+ | Le fait qu'il y ait ici une différence signifie qu'il faudrait toujours laisser les partitions étendues débuter sur une limite de cylindre si //DOS// et //Linux// doivent interpréter la table des partitions de la même manière. \\ | ||
+ | Bien sûr, on ne peut savoir où se situent les limites de cylindres que lorsque l'on sait quelle géométrie DOS utilisera pour ce disque. | ||
+ | |||
+ | ==== --IBM ou --leave-last ==== | ||
+ | |||
+ | Certains programmes IBM de diagnostic supposent qu'ils peuvent utiliser le dernier cylindre d'un disque à des fins de tests de disque. | ||
+ | |||
+ | Si vous pensez devoir utiliser de tels programmes, utilisez cette option pour dire à **sfdisk** qu'il ne devrait pas allouer le dernier cylindre. | ||
+ | <note tip>Parfois, le dernier cylindre contient une table des secteurs défectueux.</note> | ||
+ | |||
+ | ==== -n ==== | ||
+ | |||
+ | Effectuer tout ce qu'il y a à faire, mais ne pas réellement écrire sur le disque. | ||
+ | |||
+ | ==== -R ==== | ||
+ | |||
+ | Exécuter uniquement l'ioctl BLKRRPART (pour faire relire au noyau la tables des partitions). | ||
+ | |||
+ | Ceci peut être utile pour vérifier à l'avance que le BLKRRPART final se terminera avec succès. | ||
+ | |||
+ | Egalement quand vous modifiez la table des partitions « à la main » | ||
+ | |||
+ | **Par exemple :** \\ | ||
+ | En utilisant dd à partir d'une sauvegarde. | ||
+ | |||
+ | Si le noyau se plaint : | ||
+ | périphérique occupé pour la revalidation (utilisation = 2) | ||
+ | alors quelque chose utilise encore ce périphérique, et vous devrez démonter certains systèmes de fichiers, ou désactiver certaines partitions d'échange. | ||
+ | |||
+ | ==== --no-reread ==== | ||
+ | |||
+ | Au début du repartitionnement d'un disque, **sfdisk** vérifie que ce disque n'est pas monté, ou n'est pas utilisé en tant que périphérique d'échange, et refuse de continuer. | ||
+ | |||
+ | Si c'est le cas. Cette option supprime le test. | ||
+ | |||
+ | **Nota:** \\ | ||
+ | D'un autre côté, l'option -f forcerait sfdisk à continuer même si ce test a échoué. | ||
+ | |||
+ | ==== -O fichier ==== | ||
+ | |||
+ | Juste avant d'écrire la nouvelle partition, sauvegarder les secteurs qui vont être écrasés dans <fichier> | ||
+ | <note important>Il vaut mieux que fichier réside sur un autre disque, ou sur une disquette</note> | ||
+ | |||
+ | ==== -I fichier ==== | ||
+ | |||
+ | Après avoir détruit vos systèmes de fichiers par une commande **sfdisk** malheureuse, <note warning>vous ne pourrez restaurer l'ancienne situation que si vous l'avez préservée au préalable en utilisant le drapeau -O</note> | ||
+ | |||
+ | ===== THÉORIE ===== | ||
+ | |||
+ | Le bloc 0 d'un disque (le Master Boot Record) contient entre autres choses quatre descripteurs de partition. Les partitions décrites ici sont appelées partitions primaires. | ||
+ | |||
+ | Un descripteur de partition comporte 6 champs : | ||
+ | <code> | ||
+ | struct partition { | ||
+ | unsigned char bootable; /* 0 ou 0x80 */ | ||
+ | hsc begin_hsc; | ||
+ | unsigned char id; | ||
+ | hsc end_hsc; | ||
+ | unsigned int starting_sector; | ||
+ | unsigned int nr_of_sectors; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | Les deux champs **hsc** indiquent la tête, le secteur et le cylindre du début et de la fin de la partition. \\ | ||
+ | Puisque chaque champ **hsc** ne prend que //3 octets//, seuls //24 bits// sont disponibles, ce qui ne suffit pas pour les gros disques (disons > 8 Go). | ||
+ | |||
+ | En fait, à cause du gaspillage dans la représentation (qui utilise **un octet** pour le nombre de têtes, alors qu'il est typiquement de **16**), les problèmes commencent déjà à partir de 0.5 Go. | ||
+ | |||
+ | Néanmoins, Linux n'utilise pas ces champs, et les problèmes ne peuvent survenir qu'au moment de l'amorçage, avant que Linux ait été démarré. | ||
+ | |||
+ | Pour plus de détails, consultez la documentation de **lilo**. | ||
+ | |||
+ | Chaque partition a un type, c-à-d. son « Id », et si ce type est 5 ou f (« partition étendue »), le secteur de début de la partition contient également 4 descripteurs de partition. | ||
+ | |||
+ | MSDOS n'utilise que les deux premières : | ||
+ | - la première comme partition des données réelles, | ||
+ | - la seconde comme partition étendue (ou vide). | ||
+ | De cette façon, on obtient une chaîne de partitions étendues. | ||
+ | |||
+ | D'autres systèmes d'exploitation obéissent à des conventions légèrement différentes. | ||
+ | |||
+ | Linux accepte également le type 85 comme étant équivalent à 5 | ||
+ | <note>ceci peut être utile si vous voulez avoir des partitions étendues sous Linux après la limite des 1024 cylindres, sans plantage du FDISK de DOS</note> | ||
+ | <note tip>À moins d'avoir une bonne raison, vous devriez utiliser 5, qui est compris par les autres systèmes</note> | ||
+ | |||
+ | Les partitions qui ne sont ni primaires ni étendues sont appelées logiques. | ||
+ | |||
+ | Souvent : | ||
+ | <note important>on ne peut amorcer à partir de partitions logiques (car leur processus de recherche est plus compliqué que de simplement regarder le MBR).</note> | ||
+ | |||
+ | Notez que sur une partition étendue, seuls l'**Id** et le début sont utilisés. | ||
+ | |||
+ | Il y a différentes conventions concernant ce qu'il y a lieu d'écrire dans les autres champs. | ||
+ | |||
+ | <note important>On ne devrait pas essayer d'utiliser des partitions étendues pour le stockage de données ou pour une partition d'échange.</note> | ||
+ | |||
+ | ===== FORMAT D'ENTRÉE ===== | ||
+ | |||
+ | **sfdisk** lit des lignes de la forme : | ||
+ | <début> <taille> <id> <bootable> <c,t,s> <c,t,s> | ||
+ | où chaque ligne correspond à un descripteur de partition. | ||
+ | |||
+ | * Les champs sont séparés par des caractères d'espacement, des virgules ou des points-virgules éventuellement suivis par des caractères d'espacement. | ||
+ | * Les caractères d'espacement initiaux et finals sont ignorés. | ||
+ | * Les nombres peuvent être octaux, décimaux ou hexadécimaux (représentation décimale par défaut). | ||
+ | * Quand un champ est absent ou vide, une valeur par défaut est utilisée. | ||
+ | |||
+ | Les parties <c,t,s> peuvent (et probablement devraient) être omises | ||
+ | - car **sfdisk** les calcule à partir de <début> et <taille> | ||
+ | - et la géométrie du disque est donnée par le noyau ou est spécifiée par les drapeaux -H, -S et -C. | ||
+ | |||
+ | Bootable (amorçable) est spécifié par [*|-] (non bootable par défaut). | ||
+ | |||
+ | La valeur de ce champ n'a pas d'importance pour Linux - quand Linux tourne, il a déjà été amorcé - mais pourrait jouer un rôle pour certains gestionnaires de démarrage ou pour d'autres systèmes d'exploitation. | ||
+ | |||
+ | **Par exemple :** \\ | ||
+ | Quand il y a plusieurs partitions DOS primaires, DOS affecte C: à la première d'entre elles qui est bootable. | ||
+ | |||
+ | Id est donné en hexadécimal, sans le préfixe 0x, ou sous la forme [E|S|L|X], où : | ||
+ | * L (LINUX_NATIVE (83)) est utilisé par défaut, | ||
+ | * S est LINUX_SWAP (82) (partition d'échange Linux), | ||
+ | * E est EXTENDED_PARTITION (5) (partition étendue), | ||
+ | * X est LINUX_EXTENDED (85). | ||
+ | |||
+ | La valeur par défaut de début est le premier secteur/cylindre/... non affecté. | ||
+ | |||
+ | La valeur par défaut de taille est aussi grande que possible (jusqu'à la partition suivante ou la fin du disque). | ||
+ | |||
+ | Néanmoins, pour les quatre partitions à l'intérieur d'une partition étendue, l'occupation par défaut est : | ||
+ | - partition Linux, | ||
+ | - partition étendue, | ||
+ | - vide, | ||
+ | - vide. | ||
+ | |||
+ | Mais quand l'option -N est fournie (modifier uniquement une partition), la valeur par défaut pour chaque champ est sa valeur précédente. | ||
+ | |||
+ | **Exemple :** \\ | ||
+ | La commande : | ||
+ | <code> | ||
+ | sfdisk /dev/hdc << EOF | ||
+ | 0,407 | ||
+ | ,407 | ||
+ | ; | ||
+ | ; | ||
+ | EOF | ||
+ | </code> | ||
+ | partitionnera **/dev/hdc** comme indiqué ci-dessus. | ||
+ | |||
+ | == Avec l'option -x == | ||
+ | Le nombre de lignes d'entrée doit être un multiple de 4. \\ | ||
+ | Vous devez lister les deux partitions vides que vous ne voulez pas en utilisant deux lignes vides. | ||
+ | |||
+ | == Sans l'option -x == | ||
+ | - Vous donnez une ligne pour les partitions à l'intérieur d'une partition étendue, au lieu de quatre, | ||
+ | - et vous terminez par un caractère de fin de fichier (Ctrl-D). | ||
+ | Et **sfdisk** supposera que votre ligne d'entrée représente la première des quatre, que la deuxième est étendue, et que les troisième et quatrième sont vides.) | ||
+ | |||
+ | ===== AVERTISSEMENT DOS 6.x ===== | ||
+ | |||
+ | La commande DOS 6.x FORMAT recherche certaines informations sur le premier secteur de la zone de données de la partition, et suppose qu'elles sont plus fiables que celles contenues dans la table des partitions. Le FORMAT DOS suppose que FDISK DOS efface les 512 premiers octets de la zone de données de la partition à chaque fois qu'un changement de taille se produit. FORMAT DOS regardera cette information additionnelle même si le drapeau /U est fourni -- nous considérons que c'est un bogue dans les FORMAT et FDISK DOS. | ||
+ | |||
+ | Si vous utilisez **sfdisk** pour modifier la taille d'une entrée DOS de la table des partitions, alors vous devrez également utiliser **dd** pour mettre à zéro les 512 premiers octets de cette partition avant d'utiliser FORMAT DOS pour formater cette partition. | ||
+ | |||
+ | **Par exemple :** | ||
+ | Si vous avez utilisé **sfdisk** pour créer une entrée DOS dans la table des partitions pour /dev/hda1, alors (après la sortie de sfdisk et après avoir redémarré Linux afin que les informations sur la table des partitions soient valides) vous devriez utiliser la commande : | ||
+ | # dd if=/dev/zero of=/dev/hda1 bs=512 count=1 | ||
+ | pour mettre à zéro les 512 premiers octets de la partition. | ||
+ | <note warning>SOYEZ EXTRÊMEMENT PRUDENT si vous utilisez la commande dd, car une petite faute de frappe peut rendre toutes les données de votre disque inutilisables.</note> | ||
+ | |||
+ | Pour obtenir les meilleurs résultats, vous devriez toujours utiliser un programme de partitionnement spécifique au système d'exploitation. Par exemple, vous devriez créer des partitions DOS avec le programme FDISK DOS, et des partitions Linux avec le programme Linux sfdisk. | ||
+ | |||
+ | ===== AVERTISSEMENTS DRDOS ===== | ||
+ | |||
+ | Stephen Tweedie rapporta (15/05/1993) : « La plupart des rapports de corruption de superbloc s'avèrent être dûs à un mauvais partitionnement, où un système de fichiers écrase le début du suivant et corrompt son superbloc. J'ai même eu ce problème avec le prétendument fiable DRDOS. C'était probablement dû à la commande FDISK du DRDOS-6.0. À moins de créer une piste ou un cylindre vide entre la partition DRDOS et celle la suivant immédiatement, DRDOS écrase joyeusement le début de la partition suivante. Remarquez qu'aussi longtemps que je garde un petit espace disque vide après toute partition DRDOS, je n'ai aucun autre problème de coexistence entre les deux partitions sur le même disque. » | ||
+ | |||
+ | A. V. Le Blanc a écrit dans README.efdisk: « On a rapporté des problèmes de coopération entre Dr. DOS 5.0 et 6.0 et Linux, et avec cette version de efdisk en particulier. Ce efdisk fixe le type de système de fichiers à 81 (hexadécimal). Dr. DOS semble le confondre avec le 1 hexadécimal, un code DOS. Si vous utilisez Dr. DOS, utilisez la commande « t » de efdisk pour remplacer le code de système de fichiers de toute partition Linux en un nombre plus petit que 80 en hexadécimal. Je suggère 41 et 42 pour le moment. » | ||
+ | |||
+ | A. V. Le Blanc a écrit dans README.fdisk: « DR-DOS 5.0 et 6.0 ont certaines difficultés avec les codes d'ID de partition de 80 ou plus. Le fdisk Linux fixe habituellement le type des nouvelles partitions à 81 en hexadécimal. DR-DOS semble le confondre avec le 1 hexadécimal, un code DOS. Les valeurs 82 pour la partition d'échange et 83 pour les systèmes de fichiers ne devraient pas causer de problèmes avec DR-DOS. S'il y en a, vous pouvez utiliser la commande « t » du fdisk Linux pour modifier le code du système de fichiers de toute partition Linux en un nombre plus petit que 80 en hexadécimal. Je suggère 42 et 43 pour le moment. » | ||
+ | |||
+ | En fait, il semble que seuls 4 bits soient significatifs pour le FDISK de DRDOS. Ainsi, par exemple, 11 et 21 sont listés comme étant DOS 2.0. Néanmoins, DRDOS lui-même semble utiliser l'octet complet. Je n'ai pas été capable de reproduire une corruption avec DRDOS ou avec son fdisk. | ||
+ | |||
+ | ===== BOGUES ===== | ||
+ | |||
+ | Une interface interactive correspondant à cfdisk (avec une interface curses) manque toujours. | ||
+ | |||
+ | Il y a trop d'options. | ||
+ | |||
+ | Il n'y a pas de support pour les types de partitions non-DOS. | ||
+ | |||
+ | ===== AUTEUR ===== | ||
+ | |||
+ | A. E. Brouwer (aeb@cwi.nl) | ||
+ | VOIR AUSSI | ||
+ | |||
+ | cfdisk(8), fdisk(8), parted(8) | ||
+ | TRADUCTION | ||
+ | |||
+ | Frédéric Delanoy <delanoy_f at yahoo.com>, 2002. | ||
+ | |||
+ | ===== LIEN : ===== | ||
+ | |||
+ | http://pwet.fr/man/linux/administration_systeme/sfdisk |