|
Structure d'un disque et de ses partitions
Description des structures de partition
Les chemins ARC
Les commutateurs du boot.ini
Structure
d'un disque et de ses partitions
Un disque dur peut être partagé en plusieurs
"morceaux", appelés "partitions",
pour différentes raisons, par exemple:
- 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 Mo, les suivants plus de 2
Go,...)
- Séparation
physique, pour des questions de sécurité, du système,
des applications, des données,...
Un disque (physique) est donc ainsi structuré (exemple)
:
|
Secteur de partition principal
(MBR = Master Boot Record) |
Partition
1 (FAT)
(Primaire) |
Partition
2(FAT)
(Primaire) |
Partition
3
(Etendue) |
Partition
4 (NTFS)
(Primaire) |
| Secteur
de boot |
FAT |
Root |
Files |
Secteur
de boot |
FAT |
Root |
Files |
Secteur de
partition secondaire |
Partition
logique 3.1 (xxxx) |
Partition
logique 3.2 (xxxx) |
Secteur
de boot |
MFT |
System Files |
Files |
| Secteur de
boot |
|
|
|
Secteur de
boot |
|
|
|
FAT
: File Allocation Table, a donné son nom au type de
partition du même nom, utilisé par DOS, Windows 95/98,
Windows NT la FAT est une table de chaînage de clusters (agrégats
de secteurs) permettant l'adressage et la reconstitution des
fichiers
NTFS : NT File Sytem, utilisé par
Windows NT
MFT : Master File Table, un
composant de NTFS
Description des structure de partition
1. Structure du secteur de partition principal
|
Adresse
(hexa)
|
Contenu
|
Type
|
|
000
|
Programme de partition
|
Code (446 octets au maximum)
|
|
1BE
|
1ère entrée
dans la table de partition
|
16 octets
|
|
1CE
|
2ème entrée
dans la table de partition
|
16 octets
|
|
1DE
|
3ème entrée
dans la table de partition
|
16 octets
|
|
1EE
|
4ème entrée
dans la table de partition
|
16 octets
|
|
1FE
|
AA55
(code d'identification)
|
2 octets
|
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)
2. Structure d'une entrée dans la table de
partition
|
Adresse
(hexa)
|
Contenu
|
Type
|
|
00
|
Etat de la partition :
- -
00 : partition non active
- -
80 : partition active
|
1 octet
|
|
01
|
Tête où
commence la partition
|
1 octet
|
|
02
|
Secteur et cylindre
où commence la partition
|
2 octets
|
|
04
|
Type de partition
:
- 00
: non utilisée
- 01
: FAT12 (< 10 M)
- 02
: XENIX root
- 03
: XENIX usr
- 04
: FAT16 (< 32 M)
- 05
: FAT, HPS, NTFS étendue
- 06
: FAT16 (> 32 M et <2 G)
- 07
: HPFS/NTFS
- 08
: AIX
- 09
: AIX boot
- 0A
: OS/2 boot
- 0B
: FAT32 (>2 G et <2047 G)
- 0C
: FAT32X (idem 0B + LBA)
- 0E
: FAT16X (idem 06 + LBA)
- 0F
: étendue X (idem 05 + LBA)
- 40
: VENIX
- 51
: Novell
- 52
: Microport
- 63
: GNU HURD
- 64
: Novell
- 65
: Novell
- 75
: PC/IX
- 80
: MINIX (old)
- 81
: MINIX
- 82
: LINUX (swap)
- 83
: LINUX (native)
- EB:
BeOS
- ....
LBA
= Large
Block Addressing, dispositif du BIOS permettant l'accès à des disques de plus de 1024
cylindres
NB: Si le bit 4
du numéro de la partition est à 1, cela permet de cacher la
partition (xxx1xxxx)
Ex.:
- 83 = Linux native
-
93 = Linux native cachée
|
1 octet
|
|
05
|
Tête où finit
la partition
|
1 octet
|
|
06
|
Secteur et cylindre
où finit la partition
|
2 octets
|
|
08
|
Distance en
secteurs entre secteur de partition et secteur de boot de la partition
|
4 octets
|
|
0C
|
Nombre de
secteurs de la partition
|
4 octets
|
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.
3. Structures
de boot
Secteur
de boot de partition FAT12 ou FAT16 (DOS,
Windows 3.x, Windows 9x, Windows NT)
|
Adresse
(hexa)
|
Contenu
|
Taille
(octets)
|
|
000
|
Instruction
de saut à la routine
de boot
|
3
|
|
003
|
Nom
du fabricant et n° version(p.ex.MSWIN4.0)
|
8
|
|
00B
|
Octets
par secteur (0x200 = 512)
|
2
|
|
00D
|
Secteurs
par cluster (variable)
|
1
|
|
00E
|
Nbre
secteurs réservés (1)
|
2
|
|
010
|
Nbre
de FAT (2)
|
1
|
|
011
|
Nbre
d'entrées répertoire racine (0x200 = 512)
|
2
|
|
013
|
Nbre
de secteurs dans le volume (variable) ou 0 si la partition est trop grande
|
2
|
|
015
|
Descripteur
de support (0xF8 pour un disque dur)
|
1
|
|
016
|
Nbre
de secteurs par FAT
|
2
|
|
018
|
Nbre
de secteurs par piste (variable)
|
2
|
|
01A
|
Nbre
de têtes (variable)
|
2
|
|
01C
|
Distance
entre 1er secteur du volume et 1er secteur du support
|
4
|
|
020
|
Nbre
de secteurs dans le volume (variable) si la valeur contenue à l'offset
013 est nulle
|
4
|
|
024
|
N°
BIOS du disque physique (commence à 0x00 pour
les disquettes, et 0x80 pour les disques durs)
|
1
|
|
025
|
A
l'origine, n° de tête du secteur de boot. Inutilisé
sauf par Windows NT
|
1
|
|
026
|
Signature.
Inutilisé sauf par Windows NT
|
1
|
|
027
|
N°
de série du disque (créé au formatage à partir de
la date)
|
4
|
|
02B
|
Nom
de volume (identique à celui figurant dans le répertoire
racine)
|
11
|
|
036
|
Chaîne
décrivant l e système de fichiers
("FAT12", "FAT16")
|
8
|
|
03E
à 1FD
|
Routine
de boot
|
448
|
|
1FE
|
AA55
(code
d'identification, id.secteur de partition)
|
2
|
Structure
d'un secteur de boot de partition FAT32 (Windows
9x, Windows 2000)
|
Adresse
(hexa)
|
Contenu
|
Taille
(octets)
|
|
000
|
Instruction
de saut à la routine
de boot
|
3
|
|
003
|
Nom
du fabricant et n° version(p.ex.MSWIN4.0)
|
8
|
|
00B
|
Octets
par secteur (0x200 = 512)
|
2
|
|
00D
|
Secteurs
par cluster (variable)
|
1
|
|
00E
|
Nbre
secteurs réservés (1)
|
2
|
|
010
|
Nbre
de FAT (2)
|
1
|
|
011
|
Nbre
d'entrées répertoire racine : inutilisé
|
2
|
|
013
|
Nbre
de secteurs dans le volume (variable) ou 0 si la partition est trop grande
|
2
|
|
015
|
Descripteur
de support (0xF8 pour un disque dur)
|
1
|
|
016
|
Nbre
de secteurs par FAT. Toujours à 0x0000 en FAT32 (cf
offset 024)
|
2
|
|
018
|
Nbre
de secteurs par piste (variable)
|
2
|
|
01A
|
Nbre
de têtes (variable)
|
2
|
|
01C
|
Distance
entre 1er secteur du volume et 1er secteur du support
|
4
|
|
020
|
Nbre
de secteurs dans le volume (variable) si la valeur contenue à l'offset
013 est nulle
|
4
|
|
024
|
Nbre
de secteurs par FAT32 (remplace l'information à
l'offset 016)
|
4
|
|
028
|
Indicateurs
servant au "mirroring" de la FAT.
|
2
|
|
02A
|
N°
de version du système de fichiers
|
2
|
|
02C
|
N°
du 1er cluster du répertoire racine
|
4
|
|
030
|
N°
du secteur du fichier d'information système (0xFFFF
s'il n'existe pas)
|
2
|
|
032
|
N°
du secteur de sauvegarde de boot (0xFFFF s'il
n'existe pas)
|
2
|
|
034
|
réservés
|
12
|
|
040
à 1FD
|
Routine
de boot
|
446
|
|
1FE
|
AA55
(code
d'identification, id.secteur de partition)
|
2
|
Structure
d'un secteur de boot de partition NTFS (Windows
NT)
|
Adresse
(hexa)
|
Contenu
|
Taille
(octets)
|
|
000
|
Instruction
de saut à la routine
de boot
|
3
|
|
003
|
Nom
du fabricant et n° version(p.ex.NTFS)
|
8
|
|
00B
|
Octets
par secteur (0x200 = 512)
|
2
|
|
00D
|
Secteurs
par cluster (variable)
|
1
|
|
00E
|
Nbre
secteurs réservés (0x00)
|
2
|
|
010
|
inutilisé
(0x00)
|
1
|
|
011
|
inutilisé
(0x0000)
|
2
|
|
013
|
inutilisé
(0x0000)
|
2
|
|
015
|
Descripteur
de support (0xF8 pour un disque dur)
|
1
|
|
016
|
inutilisé
(0x0000)
|
2
|
|
018
|
Nbre
de secteurs par piste (variable)
|
2
|
|
01A
|
Nbre
de têtes (variable)
|
2
|
|
01C
|
Distance
entre 1er secteur du volume et 1er secteur du support
|
4
|
|
020
|
inutilisé
(0x0000)
|
4
|
|
024
|
inutilisé
(0x0000)
|
4
|
|
028
|
Nombre
total de secteur
|
8
|
|
030
|
N°logique
de cluster de $MFT (Master File Table)
|
8
|
|
038
|
N°logique
de cluster de $MFTMirr (Miroir de Master File Table)
|
8
|
|
040
|
Nombre
de cluster par segment de fichier
|
4
|
|
044
|
Nombre
de clusters par block d'index
|
4
|
|
048
|
N°
de série du disque (créé au formatage à partir de
la date)
|
8
|
|
050
|
Checksum
|
4
|
|
054
à 1FD
|
Routine
de boot
|
426
|
|
1FE
|
AA55
(code
d'identification, id.secteur de partition)
|
2
|
Les chemins ARC Le chemin
ARC (Advanced RISC Computing) est une convention qui permet de
définir le chemin d'une installation NT (ou 2000) sur un
disque durs. Le chemin de chaque installations de Windows NT
fait l'objet d'une ligne dans le fichier Boot.ini de la
partition système.
Ces lignes se présentent sous la forme suivante:
|
IDE:
|
multi(n°)disk(0)rdisk(n°)partition(n°)
|
| SCSI
avec BIOS actif: |
multi(n°)disk(0)rdisk(n°)partition(n°) |
|
SCSI
sans BIOS inactif:
|
scsi(n°)disk(n°)rdisk(0)partition(n°)
|
multi :
Identifie le contrôleur de carte matérielle (la numérotation commence à 0).
scsi : Identifie un contrôleur scsi sur lequel le bios
scsi n'est pas actif (la numérotation commence à
0).
disk : Numéro de bus SCSI (la numérotation commence à 0).
rdisk
: Nombre ordinal du disque (la numérotation commence à 0).
partition : Nombre ordinal de la partition (la numérotation commence à 1).
Les
ordinateurs de type RISC utilisent la convention d'affectation
de noms SCSI.
La
convention de noms ARC pour le SCSI fait varier le paramètre
disk() en fonction des disques successifs sur le controleur.
Le format multi fait varier rdisk().
Exemple 1 Le disque qui contient le système
d'exploitation fonctionne sur un serveur en mode IDE. Quelle
entrée faut-il modifier dans le boot.ini de la disquette
d'amorçage pour pouvoir booter sur le membre du miroir valide
?
FAT
500 Mo
Windows 2000
C: |
Données
1 Go
D: |
Public
1 Go
E: |
| |
|
FAT
500 Mo
Windows 2000
C' : |
Réponse : multi(0)disk(0)rdisk(2)partition(3) Exemple 2 Le
disque qui contient le système d'exploitation fonctionne sur
un serveur en mode SCSI (Bios actif). Quelle entrée faut-il
modifier dans le boot.ini de la disquette d'amorçage pour
pouvoir booter sur le membre du miroir valide ?
FAT
500 Mo
Windows 2000
C: |
Données
1 Go
D: |
Public
1Go
E: |
FAT
500 Mo
Windows 2000
C' : |
|
Données
1 Go
D' : |
Réponse : multi(0)disk(1)rdisk(1)partition(2) Exemple 3 Le
disque qui contient le système d'exploitation fonctionne sur
un serveur en mode SCSI (Bios inactif). Quelle entrée faut-il
modifier dans le boot.ini de la disquette d'amorçage pour
pouvoir booter sur le membre du miroir valide ?
FAT
500 Mo
Windows 2000
C: |
Données
1 Go
D: |
Public
1Go
E: |
FAT
500 Mo
Windows 2000
C' : |
|
Données
1 Go
D' : |
Réponse : scsi(0)disk(1)rdisk(1)partition(2) Les
commutateur du boot.ini
Ces commutateurs sont à placer à la suite du chemin ARC
dans le fichier boot.ini.
ex : multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Pro" /fastdetect /SOS /BOOTLOG Déboguage system :
| /SOS |
Affiche le chargement des drivers au démarrage. |
| /BOOTLOG |
Crée un fichier de log du démarrage (%SYSTEMROOT%\ntbtlog.txt) |
| /SAFEBOOT : MINIMAL |
Charge uniquement les drivers spécifié
dans:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SafeBoot\Minimal
Par default le mode de compatibilité maximal. |
| /SAFEBOOT : NETWORK |
Charge uniquement les drivers spécifié
dans:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SafeBoot\Network
Par default le mode de compatibilité maximal avec
support réseau. |
| /SAFEBOOT : MINIMAL(ALTERNATESHELL) |
L'option additionnel (ALTERNATESHELL)
charge à la place de "explorer.exe" le programme
spécifié par
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SafeBoot\AlternateShell
Par default le programme est : "cmd.exe". |
| /SAFEBOOT:DSREPAIR |
Uniquement sur un contrôleur de domaine,
l'option DSREPAIR (Directory Services Repair) fait démarrer
W2k dans un mode qui permet la restauration d'Active
Directory à partir d'une sauvegarde. |
| /NOGUIBOOT |
Désactive le splashscreen du démarrage
ainsi que les écrans bleu (peu recommandé) |
| /BASEVIDEO |
Active le mode VGA (mode compatible :
640x480 16 couleurs) |
| /WIN95 |
Charge le fichier bootsec.dos |
| /WIN95DOS |
Charge le fichier bootsec.w40 |
| /FASTDETECT |
Utile dans le cas d'un double boot
NT4/2000. Permet lors du démarrage de Windows 2000
d'éviter la détection des périphérique série et
parallèles pour NT 4. |
| /USE8254 |
Précise que le composant gérant
l'horloge est de type 8254. |
Déboguage drivers :
| /DEBUG |
Mode déboguage |
| /CRASHDEBUG |
Même effet que /DEBUG excepter que les
informations de déboguage seront transmise uniquement
si un crash arrive. |
| /CRASHPORT= |
Même effet que /DEBUG excepter que l'on
spécifie le port sur lequel seront envoyer les
informations de déboguage (Default : COM1). |
| /BAUDRATE= |
Active le mode déboguage et spécifie la
vitesse de transmission des données sur le port COM (Default
: 19200). |
| /NODEBUG |
Annule les paramètres de débogueur
définit par les commutateurs /DEBUG, /DEBUGPORT and /BAUDRATE. |
| /NOSERIALMICE= |
Désactive la procédure de détection de
la souris sur le port spécifié (problème de conflit).
If le commutateur est utilisé sans paramètre, tout les
ports seront ignorés. |
| /PCILOCK |
Stop l'allocation dynamique des ressources
I/O et IRQ de W2k pour laisser la configuration du BIOS. |
| /KERNEL= |
Spécifie un noyau alternatif à
ntoskrnl.exe (uniquement en phase de test) |
| /HAL= |
Spécifie un driver HAL alternatif à
hal.dll (uniquement en phase de test) |
| /YEAR |
Permet d'ignorer l'horloge du BIOS de la
machine. (Permet de rendre dans certain cas le BIOS
compatible An 2000) |
Gestion des processeurs :
| /ONECPU |
Win2k n'utilisera qu'un seul processeur. |
| /NUMPROC= |
Définit le nombre de processeur à
utiliser (ex: /NUMPROC=2 sur un quadri-processeur
n'activera que 2 processeurs). |
| /INTAFFINITY |
Indique à la HAL spécifique au
multiprocesseur (halmps.dll) que seul le processeur numéroté
le plus haut doit recevoir les interruptions. |
| /MAXPROCSCLUSTER= |
Permet à la HAL spécifique au
multiprocesseur (halmps.dll) de construire un système
multiprocesseurs puissant à partir d'un cluster de
machine ayant moins de processeur. Par exemple un système
octo-processeur peut être créer avec un cluster de 2 nœuds
de quadri-processeur, il est alors nécessaire
d'indiquer l'ID de chaque processeur de façon orienté
cluster. La taille d'un cluster variant de 0 à 4 |
Gestion de la mémoire :
| /PAE |
Charge ntkrnlpae.exe qui active le support
de 8 Go de mémoire sous Advanced Server et 32 Go sous
DataCenter Server. |
| /NOPAE |
Charge la version non-PAE (Physical
Address Extensions) du noyau même si le system permet
son utilisation. |
| /NOLOWMEM |
Cette option nécessite le commutateur
/PAE et permet de tester la compatibilité des logiciels
avec ce nouveau mode de gestion de la mémoire en forçant
le système et les logiciels à se charger après la
barre des 4 Go de mémoire. |
| /MAXMEM= |
Limite l'espace mémoire que va
occuper Windows 2000 sur la machine (ex: /MAXMEM=16
limite Win2k à 16Mo) |
| /BURNMEMORY= |
Permet de définir un espace mémoire à
ne pas utiliser (ex: /BURNMEMORY=16 définit 16Mo comme
inutilisable). |
| /3GB |
Permet aux applications en
mode-utilisateurs d'accéder à 3 Go de mémoire à la
place des 2 Go que Windows alloue d'habitude. |
Voir Aussi :
Article : Configurer boot.ini pour Linux et NT.
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|