SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

Options du boot.ini et des chemin ARC
Accueil > Articles > Système
Auteurs 
Loïc THOBOIS
LABORATOIRE SUPINFO DES TECHNOLOGIES MICROSOFT


 Tous les articles de cet auteur

2,3/5

Moyen


81118
126/291

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.


En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft