|
- Organisation d'un disque dur et de ses partitions
Les catégories de partition ("primaire", "étendue", "logique") sont des notions INDÉPENDANTES
de tout système d'exploitation. C'est lié UNIQUEMENT à la plate-forme matérielle, à savoir INTEL (et compatibles)
Le partitionnement permet de découper un disque PHYSIQUE
en plusieurs "morceaux" (partitions), cela étant d'ailleurs totalement indépendant des systèmes d'exploitation que l'on va y mettre (DOS, Win98, WinNT, W2k, Linux, Novell, Solaris, ...). Les raisons qui motivent ce partage sont multiples :
- Coexistence de différents systèmes d'exploitation (DOS, Windows NT, LINUX, OS/2,...)
- Taille physique d'un disque trop grande par rapport à ce que peut gérer le système d'exploitation utilisé (p.ex. les premiers DOS ne pouvaient pas "adresser" des partitions de plus de 32 Moctets, les suivants plus de 2 Goctets,...)
- Séparation physique, pour des questions de sécurité, du système, des applications, des données,...
On peut comparer un disque (physique) à une armoire, dans laquelle on va mettre des rayonnages (= les partitions), qui vont servir à
accueillir aussi bien de la vaisselle, du linge, des bouteilles,...et permettre ainsi de faire un peu d'ordre dans tout ce bazar hétéroclite!
Le problème (historique) est qu'au départ (et il est quasi impossible de revenir dessus, pour des questions de compatibilité avec l'existant) seulement 4
"rayonnages" au maximum ont été prévus. (De plus, DOS et Windows 95/98 ne permettent pas de créer plus d'une partition primaire - je me suis toujours demandé pourquoi! - mais ils acceptent des disques ayant plus d'une partition primaire, les partitions primaires supplémentaires ayant été créées en utilisant p.ex. "Partition Magic", "FDISK" de LINUX ou "WINDISK"
de WinNT).
Un tel rayonnage constitue une partition "PRIMAIRE" (ou "PRINCIPALE", les deux appellations sont équivalentes) Comme on peut être amené à avoir
plus de 4 rangements différents, et bien l'un de ces rayonnages va contenir un "gros" tiroircompartimenté. Ce tiroir s'appelle partition "
ÉTENDUE", et chaque compartiment du tiroir sera une partition "LOGIQUE".
Toujours pour des questions historiques (au départ, les disques étaient tout petits, comparés à ceux de maintenant), on ne peut créer que un ou deuxcompartiments, le 2ème
étant alors un nouveau tiroir, "emboîté" dans un compartiment. Et ce "petit" tiroir peut à nouveau
contenir 2 compartiments, un pour du rangement (=partition LOGIQUE), et un autre pour un nouveau tiroir, et ainsi de suite, à l'infini (jusqu'à ce qu'il n'y ait plus de place du tout)
L'opération de "partage", ou partitionnement, est effectuée par :
- Fdisk (aussi bien sous DOS, Win98 que Linux)
- Windisk (sous Windows NT)
- Diskmgmt.msc (MMC sous Windows 2000)
- des outils dédiés tels que "Partition Magic" , "Ranish Partition Manager", ...
Le partitionnement n'existe QUE POUR LES
DISQUES DURS (et non pour les disquettes)
Ensuite, la "préparation" des zones de rangements (=des cloisons dans les compartiments créés) est effectuée par l'outil Format (sous DOS/Windows).
Donc un disque pourra avoir la structure suivante :
DISQUE PHYSIQUE
|
Partition primaire
|
Partition étendue
|
|
Partition logique
|
Partition étendue
|
|
|
Partition logique
|
Partition étendue
|
|
|
|
Partition logique
|
Ce disque possède 1 partition PRIMAIRE (celle où on va stocker le système d'exploitation généralement), et 3 partitions LOGIQUES
(ce sont les seules qui nous intéressent : les "contenus", les partitions ÉTENDUES n'étant que des "contenants")
Voici un autre exemple, plus détaillé :
MBR
|
Partition 1 (primaire) (FAT)
|
Partition 2 (primaire) (FAT)
|
Partition 3 (étendue)
|
Partition 4 (primaire) (NTFS)
|
BS
|
FAT
|
Root
|
Files
|
BS
|
FAT
|
Root
|
Files
|
EBR
|
Partition logique 3.1
|
Partition étendue 3.2
|
BS
|
MFT
|
Files
|
MFT bis
|
Files
|
BS bis
|
BS
|
|
|
|
EBR
|
Partition logique 3. 2.1
|
Partition étendue 3.2.2
|
BS
|
|
|
|
EBR
|
Partition logique 3. 2.2.1
|
...
|
BS
|
|
|
|
Abréviation
|
Signification
|
Commentaire
|
MBR
|
Master Boot Record
|
secteur de partition principal
|
EBR
|
Extended Boot Record
|
secteur de partition secondaire : contient la table des partitions d'une partition étendue
|
BS
|
Boot Sector
|
secteur de boot
|
Root
|
répertoire racine
|
Limité en taille sous FAT12 ou FAT16
|
FAT
|
File Allocation Table
|
table de chaînage de clusters (agrégats de secteurs) permettant l'adressage et la reconstitution des fichiers a donné son nom au type de partition du même
nom, utilisé par DOS, Windows 95/98, Windows NT
|
NTFS
|
NT File Sytem
|
système de fichiers utilisé par Windows NT/W2K/XP
|
MFT
|
Master File Table
|
composant important d'une partition NTFS. Contient la table des fichiers, index, droits,...
|
Ce disque (physique) est composé de :
- 3 partitions "PRIMAIRES" (dont la 1ère est celle où on va mettre le système d'exploitation généralement)
- 3 partitions LOGIQUES (ce sont les seules qui nous intéressent : les "contenus", les partitions ÉTENDUES
n'étant que des "contenants")
On pourra attribuer p.ex. :
- la 1ère logique aux applications de bureautique
- la 2ème aux documents (bitmaps, documents Word, Excel, texte,..),
- la 3ème aux applications Internet (navigateurs, zones de téléchargement, FTP, ...).
Tout dépend de "l'humeur" de l'utilisateur (en ce qui me concerne, j'ai une partition "outils de
développement", une "gravure de CD", une "outils de dessin", une "utilitaires", une "backup vitaux", une pour la mémoire virtuelle...)
Le secteur de partition principal (MBR) est situé au début du disque (tête 0, cylindre 0, secteur 1), comme tout secteur il a une taille de 512
octets. Il est chargé par le BIOS à l'adresse mémoire 0000:7C00 (si une disquette n'a pas "pris la main"). Ensuite, le BIOS teste si le dernier
mot (de 16 bits) de ce secteur est égal à 0xAA55, qui indique que le disque a bien été partitionné (sinon, un message d'erreur est affiché par le BIOS). Si c'est effectivement le cas, le programme de partition qui réside au début de ce secteur est lancé.
Structure du secteur de partition
Adresse (hexa)
|
Contenu
|
Taille (octets)
|
000
|
Programme de partition
|
442
|
1B8
|
Signature (sous Windows NT/2000)
|
4
|
1BE
|
1ère entrée dans la table de partition
|
16
|
1CE
|
2ème entrée dans la table de partition
|
16
|
1DE
|
3ème entrée dans la table de partition
|
16
|
1EE
|
4ème entrée dans la table de partition
|
16
|
1FE
|
AA55(code d'identification)
|
2
|
Remarques :
- On constate qu'il ne peut pas y avoir plus de 4 partitions dites primaires (cette limite peut être contournée à l'aide des partitions
étendues)
- L'information de 4 octets située à l'offset 1B8 est utilisée seulement par Windows NT/2000 pour "signer" le disque physique. Cette opération est exécutée par le gestionnaire de disques (Windisk
) la première fois qu'il est lancé (ou après ajout ou remplacement du disque). Cette valeur est recopiée dans la base de registres, dans la clef HKEY_LOCAL_MACHINE\SYSTEM\DISK
, entrée "Information" (et éventuellement dupliquée dans l'entrée
"VirtualInfo"), et se situe entre l'offset 0034 et 0037 pour le 1er disque. Les emplacements des signatures des
autres disques éventuels dépendent du nombre de partitions de chaque disque).
NB : Un disque doit être signé pour qu'il puisse être géré par Windisk.
Structure d'une entrée dans la table de partition
Adresse (hexa)
|
Offset dans le MBR (ou EBR) (hexa) Entrées :
|
Contenu
|
Taille (octets)
|
1
|
2
|
3
|
4
|
00
|
1BE
|
1CE
|
1DE
|
1EE
|
Etat de la partition : - 00 : partition non active - 80 : partition active
|
1
|
01
|
1BF
|
1CF
|
1DF
|
1EF
|
N° de tête où commence la partition
|
1
|
02
|
1C0
|
1D0
|
1E0
|
1F0
|
N° de secteur et cylindre où commence la partition
|
2
|
04
|
1C2
|
1D2
|
1E2
|
1F2
|
Type de partition :
|
1
|
05
|
1C3
|
1D3
|
1E3
|
1F3
|
N° de tête où finit la partition
|
1
|
06
|
1C4
|
1D4
|
1E4
|
1F4
|
N° de secteur et cylindre où finit la partition
|
2
|
08
|
1C6
|
1D6
|
1E6
|
1F6
|
Distance en secteurs entre secteur de partition et secteur de boot de la partition
|
4
|
0C
|
1CA
|
1DA
|
1EA
|
1FA
|
Taille de la partition en nombre de secteurs de 512 octets
|
4
|
Une partition étendue se compose d'une nouvelle table de partition, de structure identique à celle de la table principale,
permettant ainsi un chaînage vers des partitions supplémentaires "encapsulées" à la suite.
Tableau des types de partition
Les partitions peuvent être de différents types (méthode de "rangement"). Chaque type définit ce qu'on appelle un "système de fichiers
" ("FS" ou FileSystem en anglais), lequel est, la plupart du temps, fonction du système d'exploitation ("OS" ou OperatingSystem en anglais), mais la correspondance n'est pas
forcément biunivoque. Certains systèmes d'exploitation sont très "fermés", n'acceptant qu'un seul système de fichiers (DOS p.ex.), d'autres au contraire sont très "
ouverts", acceptant à la fois leur propre système de fichiers et celui d'autres systèmes d'exploitation (Linux et BeOS p.ex.). Cette ouverture peut toutefois se limiter à des accès en
lecture seule.
Il est néanmoins possible
d'accéder - dans certains cas - à un type de FS non reconnu par un OS à l'aide de produits spécifiques, (commerciaux ou freewares). Par exemple le logiciel Explore2Fsest un
freeware qui permet la lecture (et même l'écriture) de partitions EXT2 (Linux) sous Windows.
Le nom des FS est généralement un acronyme ("FAT" = File Allocation Table, "NTFS" = New Technology File System, ...)
Voici un tableau succinct donnant les correspondances entre OS et FS :
OS / FS
|
ISO9660
|
FAT12
|
FAT16
|
FAT32
|
NTFS
|
EXT2
|
BeFS
|
DOS 6.x
|

|

|

|

|

|

|

|
Windows 95 <OSR2
|

|

|

|

|

|

|

|
Windows 95 OSR2 et >
|

|

|

|

|

|

|

|
Windows NTx
|

|

|

|

|

|

|

|
Windows 2000
|

|

|

|

|

|

|

|
Linux
|

|

|

|

|
R
|

|

|
Be OS
|

|

|

|

|
R
|
R
|

|

|
= supporté
|

|
= non supporté
|

|
= supporté mais à l'aide de produit tiers (driver, logiciel, ..)
- le driver FAT32.SYS permet l'accès à des partitions
FAT32 sous Windows NT4
- l'outil NTFS98 permet l'accès à des partitions
NTFS et NTFS5 sous Windows 9x
- l’outil NTFSDOS Pro permet l'accès à des partitions
NTFS et NTFS5 sous DOS
|
R
|
= ReadOnly (Lecture seule)
|
ISO9660
|
= format standard des CDROM
|
Le type d'une partition étant défini par un octet, il existe théoriquement 255 systèmes de fichiers possibles.
Dans le tableau ci-dessous, les codes des partitions sont en hexadécimal. Plusieurs types de partition peuvent être désignés par le même code (p.ex. HPFS d'OS/2 et NTFS de
NT).
code
|
type
|
code
|
type
|
code
|
type
|
code
|
type
|
00
|
partition non définie
|
40
|
VENIX
|
80
|
MINIX (-> 1.4a)
|
C0
|
CTOS REAL/32 secure NTFT
|
01
|
FAT12 (< 10 M)
|
41
|
MINIX + DRDOS Personal RISC Boot Power PC Reference Platform
|
81
|
MINIX (1.4b ->) Mitac Disk Manager
|
C1
|
FAT-12 DRDOS
|
02
|
XENIX root
|
42
|
Linux swap + DRDOS SFS Windows 2000
|
82
|
Solaris X86 LINUX swap Prime
|
C2
|
Linux swap cachée
|
03
|
XENIX /usr
|
43
|
Linux native + DRDOS
|
83
|
LINUX native (ext2fs)
|
C3
|
Linux cachée
|
04
|
FAT16 (< 32 M)
|
44
|
non attribué
|
84
|
OS/2 cachée Hibernation
|
C4
|
FAT16 < 32M DRDOS
|
05
|
étendue
|
45
|
Boot-US boot manager EUMEL/Elan
|
85
|
Linux étendue
|
C5
|
non attribué
|
06
|
FAT16 (> 32 M et <2 G)
|
46
|
EUMEL/Elan
|
86
|
agrégat FAT (NT)
|
C6
|
FAT16 >= 32M DRDOS FAT16 corrompue (NT)
|
07
|
OS/2 HPFS NT NTFS Advanced UNIX QNX2.x
|
47
|
EUMEL/Elan
|
87
|
agrégat NTFS (NT)
|
C7
|
NTFS corrompue (NT) Syrinx boot
|
08
|
AIX boot SplitDrive Commodore DOS DELL spanning QNX 1.x et 2.x
|
48
|
EUMEL/Elan
|
88
|
non attribué
|
C8
|
non attribué
|
09
|
AIX data Coherent FileSystem
|
49
|
non attribué
|
89
|
non attribué
|
C9
|
non attribué
|
0A
|
OS/2 boot manager Coherent swap OPUS
|
4A
|
non attribué
|
8A
|
Linux Kernel
|
CA
|
non attribué
|
0B
|
FAT32 (>2 G et <2047 G)
|
4B
|
non attribué
|
8B
|
FAT32 miroir
|
CB
|
FAT32 DRDOS
|
0C
|
FAT32x = idem 0B + LBA
|
4C
|
non attribué
|
8C
|
FAT32x miroir
|
CC
|
FAT32x DRDOS
|
0D
|
non attribué
|
4D
|
QNX4.x
|
8D
|
FAT12 cachée (FreeFDISK)
|
CD
|
CTOS
|
0E
|
FAT16x = idem 06 + LBA
|
4E
|
QNX4.x 2ème part.
|
8E
|
Linux Logical Volume Manager
|
CE
|
FAT16x DRDOS
|
0F
|
étendue"x" = idem 05 + LBA
|
4F
|
QNX4.x 3ème part. Oberon
|
8F
|
non attribué
|
CF
|
non attribué
|
10
|
OPUS
|
50
|
OnTrack Disk Manager Lynx RTOS Oberon native
|
90
|
FAT16 cachée (FreeFDISK)
|
D0
|
REAL32
|
11
|
FAT12 cachée
|
51
|
OnTrack Disk Manager RW Novell
|
91
|
étendue cachée (FreeFDISK)
|
D1
|
Multiuser DOS secured FAT12
|
12
|
Diagnostics COMPAQ
|
52
|
Microport CP/M
|
92
|
FAT16 large cachée (FreeFDISK)
|
D2
|
non attribué
|
13
|
non attribué
|
53
|
Disk Manager 6.0 Aux3
|
93
|
Amoeba Linux native cachée
|
D3
|
non attribué
|
14
|
FAT16 (< 32 M) cachée
|
54
|
Disk Manager 6.0 Dynamic Drive Overlay
|
94
|
Amoeba bad block table
|
D4
|
Multiuser DOS secured FAT16 <32M
|
15
|
non attribué
|
55
|
EZ-Drive
|
95
|
MIT EXOPC native
|
D5
|
Multiuser DOS secured étendue
|
16
|
FAT16 (> 32 M) cachée
|
56
|
Golden Bow EZ-BIOS
|
96
|
non attribué
|
D6
|
Multiuser DOS secured FAT16 >=32M
|
17
|
HPFS - NTFS cachée
|
57
|
DrivePro VNDI
|
97
|
FAT32 cachée (FreeFDISK)
|
D7
|
non attribué
|
18
|
AST Windows swapfile
|
58
|
non attribué
|
98
|
FAT32x cachée (FreeFDISK)
|
D8
|
CP/M-86
|
19
|
Willowtech Photon coS
|
59
|
non attribué
|
99
|
DCE376 logical drive
|
D9
|
non attribué
|
1A
|
non attribué
|
5A
|
non attribué
|
9A
|
FAT16x cachée (FreeFDISK)
|
DA
|
Non-FS Data
|
1B
|
FAT32 cachée
|
5B
|
non attribué
|
9B
|
étendue X cachée (FreeFDISK)
|
DB
|
Digital Research CP/M Concurrent CP/M Concurrent DOS CTOS KDG Telemetry SCPU boot
|
1C
|
FAT32x cachée
|
5C
|
Priam EDisk
|
9C
|
non attribué
|
DC
|
CTOS
|
1D
|
non attribué
|
5D
|
non attribué
|
9D
|
non attribué
|
DD
|
CTOS cachée
|
1E
|
FAT16x cachée
|
5E
|
non attribué
|
9E
|
non attribué
|
DE
|
non attribué
|
1F
|
non attribué
|
5F
|
non attribué
|
9F
|
BSD/OS
|
DF
|
DG/UX virtual disk manager
|
20
|
Willowsoft OFS1
|
60
|
non attribué
|
A0
|
hibernation
|
E0
|
ST AVFS
|
21
|
Oxygen File System
|
61
|
SpeedStor
|
A1
|
réservé
|
E1
|
SpeedStor FAT12
|
22
|
Oxygen Extended
|
62
|
non attribué
|
A2
|
non attribué
|
E2
|
non attribué
|
23
|
réservé
|
63
|
Unix System V GNU HURD
|
A3
|
réservé
|
E3
|
SpeedStor
|
24
|
NEC DOS 3.x
|
64
|
Novell 286 PC-ARMOUR
|
A4
|
réservé
|
E4
|
SpeedStor étendue
|
25
|
non attribué
|
65
|
Novell 386
|
A5
|
BSD
|
E5
|
réservé
|
26
|
réservé
|
66
|
Novell Netware SMS
|
A6
|
OpenBSD
|
E6
|
réservé
|
27
|
non attribué
|
67
|
Novell
|
A7
|
NEXTSTEP
|
E7
|
non attribué
|
28
|
non attribué
|
68
|
Novell
|
A8
|
non attribué
|
E8
|
non attribué
|
29
|
non attribué
|
69
|
Novell Netware NSS
|
A9
|
NetBSD
|
E9
|
non attribué
|
2A
|
non attribué
|
6A
|
non attribué
|
AA
|
Fat 12 1.44Mb Olivetti
|
EA
|
non attribué
|
2B
|
non attribué
|
6B
|
non attribué
|
AB
|
non attribué
|
EB
|
Be FS
|
2C
|
non attribué
|
6C
|
non attribué
|
AC
|
non attribué
|
EC
|
non attribué
|
2D
|
non attribué
|
6D
|
non attribué
|
AD
|
non attribué
|
ED
|
non attribué
|
2E
|
non attribué
|
6E
|
non attribué
|
AE
|
ShagOS filesystem
|
EE
|
EFI MBR
|
2F
|
non attribué
|
6F
|
non attribué
|
AF
|
ShagOS swap partition
|
EF
|
EFI
|
30
|
non attribué
|
70
|
DiskSecure Multi-Boot
|
B0
|
non attribué
|
F0
|
Linux/PA-RISC boot loader
|
31
|
réservé
|
71
|
réservé
|
B1
|
réservé
|
F1
|
SpeedStor
|
32
|
non attribué
|
72
|
réservé
|
B2
|
non attribué
|
F2
|
DOS 3.3+ secondary partition
|
33
|
réservé
|
73
|
réservé
|
B3
|
réservé
|
F3
|
réservé
|
34
|
réservé
|
74
|
Scramdisk
|
B4
|
réservé
|
F4
|
SpeedStor large Prologue single-volume
|
35
|
Journaling FS OS/2 ou eCS
|
75
|
IBM PC/IX
|
B5
|
non attribué
|
F5
|
Prologue multi-volume
|
36
|
réservé
|
76
|
réservé
|
B6
|
réservé
|
F6
|
réservé
|
37
|
non attribué
|
77
|
VNDI
|
B7
|
BSDI BSD/386
|
F7
|
non attribué
|
38
|
THEOS ver 3.2 2 Go
|
78
|
XOSL Bootloader
|
B8
|
BSDI BSD/386 swap
|
F8
|
non attribué
|
39
|
Plan 9 THEOS ver 4 spanned
|
79
|
non attribué
|
B9
|
non attribué
|
F9
|
non attribué
|
3A
|
THEOS ver 4 4Go
|
7A
|
non attribué
|
BA
|
non attribué
|
FA
|
non attribué
|
3B
|
THEOS ver 4 étendue
|
7B
|
non attribué
|
BB
|
non attribué
|
FB
|
VMware File System
|
3C
|
PartitionMagic recovery
|
7C
|
non attribué
|
BC
|
non attribué
|
FC
|
VMware Swap
|
3D
|
non attribué
|
7D
|
non attribué
|
BD
|
non attribué
|
FD
|
Linux raid
|
3E
|
non attribué
|
7E
|
non attribué
|
BE
|
Solaris 8 boot
|
FE
|
SpeedStor > 1024 cyl IBM PS/2 IML Windows NT Disk Administrator Linux Logical Volume Manager
|
3F
|
non attribué
|
7F
|
non attribué
|
BF
|
non attribué
|
FF
|
Xenix Bad Block Table
|
Remarques :
15 14 13 12 11 10 09 08 07 06 <-------- Cylindre --------->
|
05 04 03 02 01 00 <--- Secteur --->
|
Attention : les bits 6 et 7 représentent les bits de poids fort
du cylindre (donc à faire passer a gauche du bit 15) Par exemple, si en 1D0 on trouve 4106, cela signifie (notation "little endian", donc 06 est l'octet de poids fort)
octets
|
07 06 05 04 03 02 01 00 0 0 0 0 0 1 1 0
<---------06---------->
|
07 06 05 04 03 02 01 00 0 1 0 0 0 0 0 1
<-------- 41 --------->
|
C/S bruts
|
15 14 13 12 11 10 09 08 07 06 <-------- Cylindre ---------> 0 0 0 0 0 1 1 0 0 1
|
05 04 03 02 01 00 <--- Secteur ---> 0 0 0 0 0 1
|
|
|__|
/---<------------<-----/ |--|
|
|
C/S réels
|
0 1
0 0 0 0 0 1 1 0 = cylindre 0x106 (262)
|
0 0 0 0 0 1 = secteur 0x1
|
LBA = LogicalBlock Addressing,dispositif du BIOS
permettant l'accès à des disques de plus de 1024 cylindres par utilisation d'extensions de l'interruption logicielle 13h Si le bit 4 du type de la partition est mis à 1
, cela permet de cacher la partition (xxx1xxxx) Ex.: 83 = Linux native / 93 = Linux native cachée Pour des partitions de taille <8 Go, les informations situées aux offsets 08 et 0C (distance et taille) sont redondantes par
rapport aux informations situées aux offsets 01/02 et 05/06 (Cylindre, Tête et Secteur - CHS en anglais)
Pour des partitions de taille >8 Go, seules les informations situées aux offsets 08 et 0C (distance et taille) sont valides.
En effet, pour de telles partitions le n° de cylindre dépasse 1024, et donc ne peut pas être codé sur 10 bits, donc les informations situées aux offsets 02 et 06 sont fausses
. De plus, il est nécessaire que les extensions de l'interruption 13h du BIOS soient disponibles pour gérer ces informations en mode LBA Si un agrégat de partition (sous Windows NT) vient à être défectueux, le bit 6 du type de la partition est mis à 1, donnant ainsi les valeurs
0xC6 (FAT) et 0xC7 (NTFS) La partition de Diagnostics COMPAQ
est en réalité une partition FAT de 6 à 64 Mo environ, bootable, dans laquelle COMPAQ stocke des outils de configuration et diagnostics Sous Windows 2000
, si une entrée de la table de partition possède le type 0x42, alors W2k ignore la table et utilise sa propre table ainsi qu'un schéma de partitionnement propriétaire LDM (Logical Disk Manager) Un certain nombre de PC portables (IBM Thinkpad, Toshiba, Sony VAIO,...) mettent en oeuvre une partition d'hibernation ayant le code 0xA0
Explication de la zone vide de 7.8 Mo vue parfois sur un disque
Quand on examine un disque avec un outil de partitionnement (tel que Partition Magic ®) , on constate parfois la présence d'une zone vide, non formatée, de
7.8 Moen début de disque. Cette zone est inaccessible (on ne peut pas la supprimer).
 (capture d'écran réalisée avec Server Magic ®)
Cela provient des règles et mécanismes mêmes de partitionnement d'un disque, évoqués
précédemment.
On rappelle que dans un disque PHYSIQUE :
- Le secteur 1, piste 0, cylindre 0, ("MBR") contient une table définissant 4 partitions au maximum.
- Ces partitions sont soit primaires, soit étendue, une seule d'entre elles pouvant être étendue
- Ces partitions démarrent toujours :
- au secteur n°1 d'une piste
- à la piste n°1 d'un cylindre pour la 1ère partitionprimaire
à la piste n°0 d'un cylindre pour les autres
On a donc le schéma suivant d'un disque, organisé en "c" cylindres de "p" pistes par cylindre et de "s" secteurs par piste :
|
|
|
|
pistes
|
/
|
cylindres
|
C0
|
C1
|
...
|
Ci
|
...
|
Cc-1
|
p pistes par cylindre
|
p0
|
S1/S2/.../S s
|
S1/S2/.../S s
|
...
|
S1/S2/.../S s
|
...
|
S1/S2/.../S s
|
p1
|
S1/S2/.../S s
|
S1/S2/.../S s
|
...
|
S1/S2/.../S s
|
...
|
S1/S2/.../S s
|
p2
|
S1/S2/.../S s
|
S1/S2/.../S s
|
...
|
S1/S2/.../S s
|
...
|
S1/S2/.../S s
|
...
|
|
|
...
|
|
...
|
|
pp-1
|
S1/S2/.../S s
|
S1/S2/.../S s
|
...
|
S1/S2/.../S s
|
...
|
S1/S2/.../S s
|
Le plus souvent :
nombre de cylindres du disque
|
:
|
c=
|
variable (p.ex.553 pour 4.3 Go)
|
nombre de secteurs par piste
|
:
|
s=
|
63
|
nombre de pistes par cylindre
|
:
|
p=
|
255
|
Exemple 1 : cas d'un disque avec au moins une partition primaire
- 1 partitionprimaire "P"
- 1 partition quelconque "X"
(on ne s'intéresse pas ici à sa catégorie, primaire ou étendue, peu importe)
on aura les attributions de secteurs suivantes :
|
|
|
|
pistes
|
/
|
cylindres
|
C0
|
C1
|
...
|
Ci
|
...
|
Cc-1
|
p pistes par cylindre
|
p0
|
|
PPPPPPPP
|
...
|
XXXXXXXX
|
...
|
S1/S2/.../S s
|
p1
|
PPPPPPPP
|
PPPPPPPP
|
...
|
XXXXXXXX
|
...
|
S1/S2/.../S s
|
p2
|
PPPPPPPP
|
PPPPPPPP
|
...
|
XXXXXXXX
|
...
|
S1/S2/.../S s
|
...
|
|
|
...
|
|
...
|
|
pp-1
|
PPPPPPPP
|
PPPPPPPP
|
...
|
XXXXXXXX
|
...
|
S1/S2/.../S s
|
|
|
|
|
|
|
|
Commentaires :
- La partitionprimaire démarre presque au début du disque, au cylindre 0, piste 1.
Il n'y a que "s" secteurs devant :
- Dans le cas habituel de disque de 63 secteurs par piste, cela représente :
512 x 63 = 32256 octets, soit moins de 32 ko
Exemple 2 : disque sans partition primaire
- 1 partitionétendue "E"
- 1 partition logique "L"
on aura les attributions de secteurs suivantes :
|
|
|
|
pistes
|
/
|
cylindres
|
C0
|
C1
|
...
|
Ci
|
...
|
Cc-1
|
p pistes par cylindre
|
p0
|
|
EBR-------
|
...
|
LLLLLLLLL
|
...
|
S1/S2/.../S s
|
p1
|
-----------
|
LLLLLLLLL
|
...
|
LLLLLLLLL
|
...
|
S1/S2/.../S s
|
p2
|
-----------
|
LLLLLLLLL
|
...
|
LLLLLLLLL
|
...
|
S1/S2/.../S s
|
...
|
|
|
...
|
|
...
|
|
pp-1
|
-----------
|
LLLLLLLLL
|
...
|
LLLLLLLLL
|
...
|
S1/S2/.../S s
|
|
|
|
EBR + partition L
|
|
|
|
|
Commentaires :
- Le cylindre 0 n'est occupé que par le MBR (piste 0)
- Comme la 1ère partition rencontrée est une partition non primaire, elle commence toujours sur la piste 0
d'un cylindre (seule la 1ère partition primaire d'un disque commence à la piste 1 du cylindre 0).
- Vu que le cylindre 0 est occupé par le MBR, cette partition commence donc au premier cylindre libre, à savoir le cylindre 1.
- La partition étendue est constituée uniquement d'un EBR (Extended Boot Record), qui contient une table définissant 2
partitions au maximum. Ces partitions sont :
- soit 1 partition logique seule
- soit 1 partition logique + 1 partition étendue
- Ces partitions démarrent toujours :
- au secteur n°1 d'une piste
- à la piste n°1 d'un cylindre pour la partition logique
à la piste n°0 d'un cylindre pour la partition étendue
- On voit donc que devant la partitionlogique ("L") il y a :
- 1 cylindre complet occupé uniquement par le MBR
- 1 piste complète occupée par le EBR
Dans le cas de la plupart des disques, qui ont 63 secteurs par piste, 255 pistes par cylindre, cela donne :
cylindre 0 complet :
|
255 x 512 x 63 =
|
8225280 octets
|
piste 0 du cylindre 1 :
|
512 x 63 =
|
32256 octets
|
|
=
|
8257536 octets
|
|
|
soit 7,8 Mo
|
Voilà l'explication de cette zone de 7.8 Mo, apparemment mystérieuse et que l'on ne peut pas supprimer!
|