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


73605
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)