このページは大阪弁化フィルタによって翻訳生成されたんですわ。

翻訳前ページへ


(1) Quand vous d駑arrez votre syst鑪e, Linux ne fonctionne pas encore et ne peut donc pas vous pr駸erver des probl鑪es li駸 au BIOS. Cela a certaines cons駲uences pour LILO et d'autres programmes d'amor軋ge du m麥e acabit.

(2) Il est n馗essaire que tous les syst鑪es d'exploitation qui se partagent un m麥e disque dur se mettent d'accord sur la position physique de chaque partition. En d'autres termes, si vous utilisez Linux et disons, DOS sur un seul disque dur, alors les deux se doivent d'interpr騁er la table des partitions de la m麥e mani鑽e. Cela a quelques cons駲uences pour le noyau de Linux et pour fdisk.

Vous trouverez ci-dessous une description assez pouss馥 de tous les d騁ails importants. Prenez en compte le fait que j'utilise comme r馭駻ence un noyau dans

Cependant, les domaines dans lesquels interviennent typiquement les probl鑪es sont :

Conseil :

Cela signifie en fait que la limite des 1024 cylindres a disparue (bien entendu, LILO est un peu fragile et il peut 黎re plus pratique d'utiliser un gestionnaire de d駑arrage diff駻ent).

Il y a des probl鑪es de g駮m騁rie qui peuvent 黎re r駸olus en passant explicitement une g駮m騁rie au noyau/LILO/fdisk.

Si vous avez une vieille version de fdisk et qu'il vous met des messages d'erreur du type 'overlapping partitions' : ignorez-les ou v駻ifiez en utilisant cfdisk que tout va effectivement bien.

Pour le HPT366, reportez-vous au Linux HPT366 HOWTO.

Si, au moment du d駑arrage, le noyau ne peut pas lire la table des partitions,

Maintenant, si vous pensez qu'il y a tout de m麥e des probl鑪es, ou simplement si vous 黎es curieux, lisez la suite.

3. Unit駸 et tailles

1 Gio repr駸ente 1073741824 octets (1,07 Go) et 1 Tio vaut 1099511627776 octets (1,1 To).

D'une mani鑽e assez normale, les constructeurs de disques durs suivent la norme SI et utilisent des unit駸 d馗imales. Cependant, les messages de d駑arrage du noyau Linux (pour les noyau qui ne sont pas tr鑚 r馗ents) et quelques programmes de type fdisk utilisent les symboles MB et GB (Mo et Go en fran軋is) pour les unit駸 binaires, ou binaires-d馗imales m駘ang馥s. Donc, avant que vous ne pensiez que votre disque est plus petit que ce qu'on vous avait promis lors de son achat, calculez sa vraie taille en unit駸 d馗imales (ou simplement en octets).

En ce qui concerne la terminologie et les abr騅iations des unit駸 binaires, Knuth propose une alternative qui est d'utiliser la fois binaire et d'amplitude." C'est une bonne proposition -- grand giga octet sonne mieux que gibi octet. Cependant, pour le sujet qui est le n?re, la seule chose importante est de mettre l'accent sur le fait qu'un m馮a octet contient pr馗is駑ent 1000000 octets et qu'il est n馗essaire d'employer d'autres termes ou d'autres abr騅ations si vous voulez d駸igner autre chose.

3.1 Taille d'un secteur

utilisez fdisk sur de tels disques, assurez-vous d'avoir une version 2.9i ou sup駻ieure et passez-lui l'option -b 2048.)

3.2 Taille d'un disque

faut sp馗ifier une position sur ce disque, en donnant par exemple un num駻o de secteur ou de bloc. Si le disque dur est de type SCSI, alors ce num駻o de secteur va directement au moteur de commande SCSI et est compris par le disque. Si le disque dur est de type IDE et qu'il utilise le mode LBA, alors il se passe exactement la m麥e chose. Mais si le disque dur est vieux, RLL, MFM ou IDE avant l'apparition du LBA, alors l'駘ectronique qui lui est attach馥 attend un triplet (cylindre, t黎e, secteur) pour d駸igner l'endroit voulu.

La correspondance entre la num駻otation lin饌ire et cette notation tridimensionnelle est la suivante : pour un disque dur avec C cylindres, H t黎es et S secteurs/pistes, la position (c,h,s) en www.thetechpage.com.)

4.1 Acc鑚 disques du BIOS et la limite des 1024 cylindres

Linux ne se sert pas du BIOS, mais d'autres syst鑪es d'exploitation le font. Le CL a dans ses bits 7-6 les deux bits de poids fort de ce m麥e num駻o et dans ses bits 5-0 le num駻o du secteur, DH est le num駻o de la t黎e et DL est le num駻o du lecteur (80h ou 81h). Cela explique en partie

La limite des 528 Mo

Si les m麥es valeurs c,h,s sont utilis馥s pour les appels aux fonctions Int13 du BIOS et pour les op駻ations d'ノntr馥s/Sorties du disque dur, alors les deux limitations s'ajoutent et l'on ne peut utiliser au plus que 1024 cylindres, 16 t黎es, 63 secteurs par piste, ce qui donne une plus de 3 Go.

La limite des 4,2 Go (f騅rier 1997)

Une conversion simple du BIOS (ECHS=CHS ノtendu, parfois appel馥 'Large disk fausse g駮m騁rie de 1024 cylindres, 128 t黎es et 63 secteurs par piste). Remarquez que ECHS ne modifie pas le nombre de secteurs par piste, donc si ce n'est pas 63, la limite sera encore plus basse. Voyez la page En d馭initive, si le BIOS fait tout ce qu'il peut pour r騏ssir la conversion et utilise 255 t黎es et 63 secteurs par piste ('assisted LBA' ou simplement 'LBA') il peut atteindre 1024×255×63×512=8422686720 octets, soit d'adresser 2^48 secteurs, soit un million de fois plus. Les noyaux tr鑚 r馗ents incluent un support pour cette extension.

Pour une autre discussion sur ce sujet, vous pouvez consulter la page Breaking the Barriers et pour encore plus de d騁ails, IDE Hard Drive Capacity Barriers.

Quand le syst鑪e est mis en route, le BIOS lit le secteur 0 (connu sous le nom de MBR : le "Master Boot Record", la donn馥 principale d'amor軋ge) du chargeur de d'amorce moderne : un BIOS qui supporte les fonctions INT13 ノtendues et un chargeur de d'amorce qui sache les utiliser.

Ce probl鑪e (s'il existe) est r駸olu de mani鑽e tr鑚 simple : assurez-vous que le noyau (et peut-黎re d'autres fichiers utilis駸 pendant la phase de

Ainsi, cr馥z une petite partition, disons d'une taille de 10 Mo, de telle mani鑽e qu'il y ait de la place pour une poign馥 de noyaux, en vous assurant qu'elle soit contenue enti鑽ement dans les 1024 premiers cylindres du premier ou du second disque dur. Montez-le en tant que r駱ertoire /boot ; ainsi, LILO pourra y mettre ses propres fichiers.

La plupart des syst鑪es depuis 1998 utilisent un BIOS moderne.

5.1 LILO et les options 'lba32' et 'linear'

adresses lin饌ires sont stock馥s. Avec l'option lba32 les adresses lin饌ires sont 馮alement utilis馥s au moment du d駑arrage si le BIOS supporte les extensions INT13 騁endues. Avec l'option linear, ou avec un vieux BIOS, ces adresses lin饌ires sont reconverties sous une forme (c,h,s) et au moment du d駑arrage des appels INT13 ordinaires sont utilis駸.

De ce fait, avec l'option lba32 il n'y a pas de probl鑪e de g駮m騁rie premiers cylindres et 軋 ne d駑arrait quand m麥e pas. Au d饕ut quand je l'ai d駱lac馥 en dessous de 1 Go, les choses fonctionnaient." Comment cela est-il possible ? En fait, c'騁ait un disque dur SCSI avec un contr?eur

6. G駮m騁rie du disque dur, partitions et 'overlap'

Si vous avez plusieurs syst鑪es d'exploitation sur vos disques durs, alors char type; char end[3]; /* CHS pour le dernier secteur */ int start; /* numero de secteur sur 32 bits (en commencant a 0) */ int length; /* nombre de secteurs sur 32 bits */ }; par les champs start et length cod駸 sur 32 bits.

Linux ne se sert que des champs start et length et ne peut de ce fait que prendre en compte des partitions qui ne comportent pas plus de

DOS utilise les champs begin et end et se sert des appels INT13 du BIOS pour acc馘er aux disques durs ; il ne peut g駻er de ce fait que des disques dont la taille ne d駱asse pas 8,4 Go, m麥e avec un BIOS qui sont utilis駸, les champs begin et end contiennent des informations factices (1023/255/63). Windows 95 OSR2 introduit le syst鑪e de fichier FAT32 (types de partition b ou c), qui permet d'avoir des partitions d'au plus 2 Tio.

cylindres). Cependant, si vous voyez les champs start et length, comme les voit Linux et 馮alement Windows 95 dans le cas de partitions typ馥s c, e ou f, alors tout appara? comme 騁ant en ordre. cfdisk -Ps /dev/hdx et cfdisk -Pt /dev/hdx pour voir la table des partitions du disque /dev/hdx.

6.1 Le dernier cylindre

Un nombre important de vieux IBM PS/2 utilisent des disques durs avec une De ce fait, FDISK n'utilisera pas le dernier cylindre. Pour se pr駑unir d'騅entuel probl鑪e le BIOS donne souvent un taille inf駻ieure d'un cylindre par rapport celle r馥lle du disque, ce qui peut faire en tout, deux cylindres de De nos jours tout ceci n'a plus de sens mais peut fournir une explication quand on utilise diff駻ents utilitaires qui donnent des valeurs diff駻entes pour la taille du disque dur.

6.2 Limites du cylindre

La croyance populaire racconte que les partitions doivent commencer et finir aux fronti鑽es des cylindres.

Puisque la g駮m騁rie des disques est quelque chose qui n'a pas de r馥lle existence, des syst鑪es d'exploitation diff駻ents inventeront des g駮m騁ries diff駻entes pour le m麥e disque. On voit souvent un syst鑪e d'exploitation utiliser une g駮m騁rie apr鑚 conversion de */255/63 et un autre utiliser une g駮m騁rie avant conversion de */16/63. Du coup, il devrait 黎re impossible d'aligner les partitions sur les limites des cylilndres, si l'on se

Par chance, pour Linux les alignements ne sont pas n馗essaires (sauf pour quelques logiciels d'installation boiteux qui aiment bien 黎re s? que tout est d'aplomb ; ce qui peut emp馗her d'installer une RedHat 7.1 sur un disque aux partitions non align馥s, DiskDruid n'騁ant pas content).

Des personnes rapportent qu'il est facile de cr馥r des partitions non align馥s sous Windows NT, sans qu'il n'y ait de probl鑪e apparent.

MSDOS 6.22 par contre, n馗essite un alignement. Les secteurs sur partitions prochaine piste. Ceci s'applique au secteur 0 (le MBR) et aux secteurs de table de partition pr馗馘ant les partitions logiques. 2. Sinon la partition commence sur le premier secteur du cylindre. De plus, les partitions 騁endues commencent sur une fronti鑽e de cylindre. La page de manuel de cfdisk explique que les vieilles versions de DOS n'alignaient pas les partitions.

L'utilisation de partitions de type 85 pour les partitions 騁endues les rend

Remarquez qu'il y a une l馮鑽e confusion dans l'utilisation de l'expression 'LBA' : en tant que terme d馗rivant les possibilit駸 d'un disque dur, cela signifie 'Linear Block Adressing' -- Adressage de blocs de mani鑽e lin饌ire -- (par suppl駑entaires sont donn駸 dans ce qui suit.

8. Conversions du noyau pour les disques durs IDE

Si le noyau de Linux d騁ecte la pr駸ence d'un gestionnaire de disque sur un

Ci-dessous les d騁ails -- les titres des sous-sections sont les messages qui apparaissent dans les diff駻ents messages de d駑arrage. Ici et partout ailleurs dans ce texte, les types des partitions sont donn駸 en hexad馗imal.

8.1 EZD

(avec une table des partitions) est lu depuis le nouveau secteur 0. Bien s? ce d馗alage a pour but de lib駻er de la place pour le DD0 -- c'est pourquoi il n'y a pas de d馗alage sur les autres disques durs.

8.3 DM6 : AUX

Quand Linux d騁ecte le gestionnaire de disque Ontrack Disk Manager il d馗ale tous les acc鑚 disques de 63 secteurs. De la m麥e mani鑽e, si Linux d騁ecte EZ-Drive, tous les acc鑚 au secteur 0 seront d馗al駸 au secteur 1. Cela signifie qu'il peut s'av駻er difficile de se d饕arasse de ces gestionnaires de disque. La plupart de ces gestionnaires ont une option de d駸installation, mais si vous avez besoin de supprimer un gestionnaire de disque, une approche peut 黎re de donner explicitement une g駮m騁rie de disque sur la ligne de commande. De ce fait Linux saute la routine ide_xlate_1024() et il est du coup possible de supprimer la table des partitions ainsi que le gestionnaire dur et pour LILO comme la g駮m騁rie qui va permettre des 馗hanges valides avec le BIOS au moment du d駑arrage (en g駭駻al les deux vont de pair).

Comment fdisk conna?-il la g駮m騁rie ? Il demande au noyau en utilisant l'ioctl HDIO_GETGEO. Mais l'utilisateur peut passer outre cela en pr馗isant la g駮m騁rie de mani鑽e interactive, ou sur la ligne de commande.

Comment LILO conna?-il la g駮m騁rie ? Il demande au noyau en utilisant l'ioctl HDIO_GETGEO.

Il est possible (depuis Linux 2.1.79) de changer l'id馥 qu'a le noyau de la g駮m騁rie en utilisant le syst鑪e de fichiers /proc. Par exemple :

# sfdisk -g /dev/hdc
/dev/hdc: 4441 cylinders, 255 heads, 63 sectors/track
# cd /proc/ide/ide1/hdc
# echo bios_cyl:17418 bios_head:128 bios_sect:32 > settings
# sfdisk -g /dev/hdc
/dev/hdc: 17418 cylinders, 128 heads, 32 sectors/track
#
Ceci est particuli鑽ement utile si vous avez besoin d'un nombre tel de l'hypoth鑚e qu'une table des partitions valide est pr駸ente quand il y a une signature 55aa. Ceci est plut? positif puisque il est alors possible de d駱lacer les disques de machine en machine. Mais le fait que le comportement du faire croire que le disque est plus petit que 2,1 Go ou 33,8 Go. Vous pouvez 馮alement lire la partie sur les cavaliers plus bas. Parfois, certains utilitaires permettent de changer le micro-code du disque dur.

CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=71346240 donne deux mani鑽es de trouver le nombre total de secteurs 71346240. Les noyaux r馗ent donnent 馮alement la taille pr馗ise dans les messages de d駑ararge :
# dmesg | grep hde
hde: Maxtor 93652U8, ATA DISK drive
hde: 71346240 sectors (36529 MB) w/2048KiB Cache, CHS=70780/16/63
 hde: hde1 hde2 hde3 < hde5 > hde4
 hde2: <bsd: hde6 hde7 hde8 hde9 >
exemple, il se trouve que ce sont les valeurs pr馗ises. La valeur en Mo peut 黎re arrondie au lieu d'黎re tronqu馥 et peut, dans les vieux noyaux, 黎re en unit駸 'binaire' (Mio) plut? que d馗imale. Remarquez la correspondance entre la taille en Mo donn馥 par le noyau et le num駻o de mod鑞e du Maxtor.

10. D騁ails

10.1 D騁ails de l'IDE - les sept g駮m騁ries

Le gestionnaire IDE a cinq sources d'information concernant la g駮m騁rie. La premi鑽e (G_user) est celle donn馥 par l'utilisateur sur la ligne de commande. La deuxi鑪e (G_bios) est la 'BIOS Fixed Disk Parameter Table' -- table des param鑼res de disque fixe du BIOS -- (pour le premier et second disque dur l'黎re, alors G_used prend la valeur de G_phys. Ici, 'vraisemblable' signifie que le nombre de t黎es est compris dans l'intervalle 1-16.

En d'autres termes : la ligne de commande prend le pas sur le BIOS et va d騁erminer ce que va voir fdisk, mais si elle donne une g駮m騁rie convertie (avec plus de 16 t黎es), alors pour les ノntr馥s/Sorties qu'effectuera le noyau elle sera elle-m麥e remplac馥 par les valeurs que fournira la commande IDENTIFY.

(mots 54-58) et LBAcapacity (mots 60-61).


Description Exemple
0 Champ de bits : bit 6 : disque fixe, bit 7 : media amovible 0x0040
1 Nombre par d馭aut de cylindres 16383
3 Nombre par d馭aut de t黎es 16
6 Nombre par d馭autl de secteurs par piste 63
10-19 Num駻o de s駻ie (en ASCII) K8033FEC
23-26 R騅ision du micro-code (en ASCII) DA620CQ0
27-46 Nom du mod鑞e (en ASCII) Maxtor 54098U8
49 Champ de bits : bit 9 : supporte le LBA 0x2f00
53 Champ de bits : bit 0 : les mots 54-58 sont valides 0x0007
54 Nombre actuel de cylindres 16383
55 Nombre actuel t黎es 16
56 Nombre actuel de secteurs par piste 63
57-58 Nombre total actuel de secteurs 16514064
60-61 Nombre par d馭aut de secteurs 80041248
255 Checksum et signature (0xa5) 0xf9a5

Les cha?es ASCII sont compos馥s de mots contenant chacun deux caract鑽es, le premier 騁ant l'octet de poids fort et le second l'octet de poids faible. Les rester en dessous de la valeur limite de 33,8 Go), il faut disposer d'une quatri鑪e information pour trouver la taille r馥lle du disque : le r駸ultat de la commande READ NATIVE MAX ADDRESS (0xf8).

gestionnaire de disques s'invente une g駮m騁rie diff駻ente. Un gros foutoir en fait.

Si vous n'utilisez pas DOS ou un 駲uivalent, alors 騅itez toute configuration qui met en jeu des conversions 騁endues et utilisez de t黎es (c'est une donn馥 qui ne peut pas 黎re chang馥) et dans la Format Page (page 03) donne le nombre d'octets par secteur et de secteurs par piste. Ce dernier nombre est typiquement d駱endant du rang et le nombre de secteurs par piste varie -- les pistes ext駻ieures ont plus de secteurs que les pistes int駻ieures. Le programme Linux scsiinfo donnera cette information. Il y a de nombreux d騁ails et complications et il est clair que

Remarquez que le fdisk de linux a besoin des nombres H et S de t黎es et de secteurs par piste pour convertir les nombres de secteurs LBA en adresses c/h/s, mais le nombre de cylindres C ne joue aucun r?e. Quelques gestionnaires de disque utilisent (C,H,S)=(1023,255,63) pour Il suffit de donner H, S si l'on voit C comme 騁ant d馭ini par M/(H×S).

Par d馭aut, H=64 et S=32.

aha1740, dtc, g_NCR5380, t128, wd7000 :

H=64, S=32.

avoir fait ce choix pour (C,H,S), la table des partitions est lue et si pour l'une des trois possibilit駸 (H,S)=(64,32),(128,32),(255,63) la valeur endH=H-1 est vue quelque part, alors cette paire est utilis馥 et le message lba_capacity_is_ok dans /usr/src/linux/drivers/block/ide.c par quelque chose du genre
static int lba_capacity_is_ok (struct hd_driveid *id) {
        id->cyls = id->lba_capacity / (id->heads * id->sectors);
        return 1;
}
Pour une modification plus s?e, voyez le noyau 2.1.90.

11.1 Complications du BIOS

Comme nous venons de le dire, les gros disques durs donnent la g駮m騁rie C=16383, H=16, S=63 ind駱endamment de leur vraie taille, alors que cette derni鑽e est visible par la valeur de LBAcapacity. Certains BIOS ne savent pas cela et convertissent ce 16383/16/63 en quelque chose qui a moins de cylindres et plus de t黎es, par exemple 1024/255/63 ou 1027/255/63. Donc, le noyau ne doit pas seulement reconna?re la g駮m騁rie particuli鑽e 16383/16/63, mais 馮alement toutes ses versions mutil馥s par le BIOS. Depuis le noyau 2.2.2 cela est fait correctement (en prenant la vision du La g駮m騁rie 16383/15/63 n'est pas encore reconnue par le noyau, donc des param鑼res de d駑arrage explicites sont ici n馗essaires. Pour le positionnement des cavaliers voyez 63 secteurs par piste, 2,11 Go). Par exemple un disque dur Fujitsu MPB3032ATU de 3,24 Go a une g駮m騁rie par d馭aut de 6704/15/63, mais ses cavaliers peuvent 黎re positionn駸 pour qu'elle /dev/hdX. "Comment ?" me direz-vous -- "Je ne peux pas d駑arrer !" IBM vous donne le truc : Si un syst鑪e avec un BIOS Award bloque pendant la d騁ection des disques, red駑arrez votre syst鑪e

Les disques Maxtor Diamond Max 4K080H4, 4K060H3, 4K040H2 (alias D540X-4K) sont identiques aux disques 4D080H4, 4D060H3, 4D040H2 (alias D540X-4D), si ce n'est le configuration des cavaliers qui change. Une FAQ MAxtor donne les

La convention de programmation est d'utiliser l'ioctl BLKGETSIZE pour obtenir la taille totale et HDIO_GETGEO pour conna?re le nombre de t黎es et de secteurs par piste et, si n馗essaire, il est possible d'obtenir C avec la formule C=taille/(H×S).

12.1 Probl鑪es de l'IDE avec des disques durs de 34 Go et plus

Ci-dessous se trouve une discussion sur les probl鑪es du noyau Linux. Les (0,4 Go), ce qui est quelque peu 騁onnant. Et le fait de donner les param鑼res hdc=4160,255,63 au d駑arrage n'aide en rien -- ils sont tout simplement ignor駸. Que se passe-t-il ? La routine idedisk_setup() retrouve la g駮m騁rie www.uwsg.indiana.edu (il se peut qu'il faille le modifier un peu pour se d饕arrasser des tags html). Les noyaux 2.2.14 supportent ces disques durs. (secteur 0) : code du programme d'amor軋ge suivi par 4 entr馥s de la table des partitions de 16 octets chacune, suivies par une signature AA55. Les entr馥s de la table des partitions de type 5 ou F ou 85 (en hexad馗imal) ont une signification particuli鑽e : elles d馗rivent les partitions 騁endues : espaces qui seront ult駻ieurement fractionn駸 en partitions logiques. (Donc, une partition 騁endue n'est qu'une bo?e et ne peut pas 黎re utilis馥 par elle-m麥e ; on utilise alors les partitions logiques qu'elle contient.) Ce n'est que la position du premier secteur de la partition 騁endue qui est important. Ce premier secteur contient une table des partitions avec quatre partitions primaires et la partition 騁endue et chaque secteur de table des partitions qui suit d馗rit une partition logique et la position du prochain secteur de table des partitions.

Il est important de comprendre cela : quand les gens font des b黎ises en Disk /dev/hda: 16 heads, 63 sectors, 33483 cylinders Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/hda1 0+ 101 102- 51376+ 83 Linux /dev/hda2 102 2133 2032 1024128 83 Linux /dev/hda3 2134 33482 31349 15799896 5 Extended /dev/hda4 0 - 0 0 0 Empty /dev/hda5 2134+ 6197 4064- 2048224+ 83 Linux - 6198 10261 4064 2048256 5 Extended - 2134 2133 0 0 0 Empty - 2134 2133 0 0 0 Empty /dev/hda6 6198+ 10261 4064- 2048224+ 83 Linux - 10262 16357 6096 3072384 5 Extended - 6198 6197 0 0 0 Empty - 6198 6197 0 0 0 Empty ... /dev/hda10 30581+ 33482 2902- 1462576+ 83 Linux - 30581 30580 0 0 0 Empty - 30581 30580 0 0 0 Empty - 30581 30580 0 0 0 Empty #

Il est possible de construire une mauvaise table des partitions. Beaucoup de noyaux entrent dans une boucle s'il y a des partitions 騁endues qui pointent sur elles-m麥es ou sur une partition plac馥 avant dans la cha?e. Il est possible d'avoir deux partitions 騁endues dans un de ces secteurs de table des partitions, de sorte que la cha?e de la table de partitions se divise. (Cela telles situations et quelques manipulations sont n馗essaires pour les r駱arer. Le noyau de Linux acceptera une division au niveau le plus ext駻ieur. Ainsi, vous pouvez avoir deux cha?es de partitions logiques. C'est parfois utile fdisk et en les passant comme argument au noyau), moins cela aura de chances de fonctionner. En gros, les valeurs par d馭aut sont les bonnes.

Et souvenez-vous : la g駮m騁rie des disques durs n'est utilis馥 nulle part peut 黎re un probl鑪e de g駮m騁rie. Si d'autres syst鑪es d'exploitation ne comprennent pas la table des partitions, ce peut 黎re un probl鑪e de g駮m騁rie. Rien d'autre. En particulier, si mount ne semble pas vouloir fonctionner, ne vous posez jamais de question sur la g駮m騁rie -- le probl鑪e est ailleurs.

14.1 Probl鑪e : La g駮m騁rie de mon disque dur IDE est fausse quand je d駑arre depuis du SCSI.

Il est assez possible qu'un disque dur obtienne une mauvaise g駮m騁rie. Le noyau de Linux questionne le BIOS au sujet de hd0 et hd1 (les disques du BIOS num駻ot駸 80H et 81H) et suppose que ces donn馥s sont pour hda et hdb. Mais, sur un syst鑪e qui d駑arre depuis du SCSI, les deux premiers disques peuvent 'hda=C,H,S' avec les valeurs appropri馥s pour C, H et S.

14.2 Faux probl鑪e : des disques identiques ont des g駮m騁ries diff駻entes ?

"Je poss鐡e deux disques durs IBM identiques de 10 Go. Cependant, fdisk donne des tailles diff駻entes pour les deux. Voyez :

# fdisk -l /dev/hdb
Disk /dev/hdb: 255 heads, 63 sectors, 1232 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot  Start      End   Blocks   Id  System
/dev/hdb1           1     1232  9896008+  83  Linux native
# fdisk -l /dev/hdd
Disk /dev/hdd: 16 heads, 63 sectors, 19650 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot  Start      End   Blocks   Id  System
/dev/hdd1           1    19650  9903568+  83  Linux native
Comment cela est-il possible ?"

Que se passe-t-il ici ? Eh bien, avant tout ces disques sont r馥llement de 10 Giga : hdb a comme taille 255×63×1232×512=10133544960 et hdd a pour taille 16×63×19650×512=10141286400, donc tout va bien et le noyau voit les deux comme des 10 Go. Pourquoi y a-t-il cette diff駻ence de taille ? C'est parce que le noyau

Si vous voulez recartographier hdd de la m麥e mani鑽e, donnez au noyau l'option de d駑arrage 'hdd=1232,255,63'.

14.3 Faux probl鑪e : fdisk voit beaucoup plus d'espace que df ?

204798 blocks (5.00%) reserved for the super user ... # mount /dev/hda9 /quelque/part # df /quelque/part Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda9 3574475 13 3369664 0% /mnt # df -i /quelque/part Filesystem Inodes IUsed IFree %IUsed Mounted on /dev/hda9 4096000 11 4095989 0% /mnt # Nous avons une partition de 4095976 blocs, cr馥z sur cette derni鑽e un syst鑪e de fichiers ext2, montez-la quelque part et remarquez qu'elle n'a que chose du m麥e style, avec 駭orm駑ent de petits fichiers. Par d馭aut on mettrait :
# mke2fs /dev/hda9
# mount /dev/hda9 /quelque/part
# df /quelque/part
Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/hda9            3958475      13  3753664      0%   /mnt
# df -i /quelque/part
Filesystem           Inodes   IUsed   IFree  %IUsed Mounted on
/dev/hda9            1024000      11 1023989     0%  /mnt
#
タ pr駸ent, seulement 137501 blocs (3,3%) sont utilis駸 pour les inodes,