Le chargeur de démarrage de Windows 2000/XP

Depuis Windows NT 4 déjà, le chargeur de démarrage fait partie de la livraison des « grandes » versions de Windows. Le chargeur de démarrage démarre les versions de Windows installées et déjà existantes. Si l’on installe …

Le chargeur de démarrage de Windows 2000/XP

Festplatte Dualboot
  1. Magazine
  2. »
  3. Article
  4. »
  5. Windows
  6. »
  7. Le chargeur de démarrage de Windows 2000/XP

Depuis Windows NT 4 déjà, le chargeur de démarrage fait partie de la livraison des « grandes » versions de Windows. Le chargeur de démarrage démarre les versions de Windows installées et déjà existantes. Si l’on installe ultérieurement un ancien Windows ou un autre système d’exploitation sans y être préparé, on peut avoir une mauvaise surprise, car le chargeur de démarrage peut être très facilement endommagé. Nous vous expliquons dans cet article la structure, la réparation et l’extension du chargeur de démarrage.

1. structure et fonctionnement du chargeur de démarrage

Le chargeur de démarrage s’écrit sur la première partition primaire (visible) du système – généralement le lecteur C :, même si Windows NT/2000/XP a été installé sur une autre partition. Ceux qui utilisent un « vrai » gestionnaire de démarrage avant le chargeur de démarrage NT trouveront le chargeur de démarrage sur la première partition visible pour NT.

C’est dans cette première partition système que l’installation écrit le code de démarrage dans le secteur d’amorçage.

Au démarrage, le code de démarrage appelle automatiquement le programme ntldr, qui lance ensuite ntdetect.com et évalue ensuite le fichier boot.ini. Pour certains contrôleurs, le pilote ntboodd.sys est encore chargé.

1.1 Attribution des partitions dans le boot.ini

Le boot.ini contient une liste des systèmes d’exploitation que le chargeur de démarrage doit/peut démarrer et à partir de quel endroit :
Un boot.ini « normal » se présente comme suit :

[boot loader]
timeout=2
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[systèmes d’exploitation]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS= »Microsoft Windows XP Professional » /fastdetect

L’entrée « default » indique le système d’exploitation qui sera démarré automatiquement après l’expiration du compteur (=timeout). S’il y a plusieurs entrées sous « operating systems », l’entrée « default » est logique.

L’entrée « operating systems » contient tous les systèmes d’exploitation trouvés dans le système au moment de la configuration du chargeur de démarrage. Il est toutefois possible de compléter les entrées ultérieurement.

L’indication des partitions s’effectue selon les spécifications dites Advanced RISC Computing (ARC).
multi(X)disk(Y)rdisk(Z)partition(W)WINDOWS= »NAME

Pour la plupart des systèmes, les valeurs multi(X) et disk(Y) « 0 » sont standard.

Ce n’est que pour les appareils qui n’autorisent pas l’accès au disque de démarrage via l’INT13 du BIOS que l’entrée dans le Boot.ini doit être spécialement adaptée.

L’entrée rdisk(Z) indique le lecteur. Le comptage se fait à « 0 ».

L’entrée partition(W) indique la partition. Il n’est cependant pas facile de comprendre la méthode de comptage. Windows numérote les partitions d’un disque dur par type et non de manière continue. En commençant par « 1 », les disques primaires sont comptés en premier, puis les disques logiques.

Exemple:
Windows est installé sur un disque dur avec une partition primaire et une partition étendue, dans lequel se trouvent 2 lecteurs logiques, sur le premier lecteur logique. -> W=2 ; multi(0)disk(0)rdisk(0)partition(2)WINNT= »Windows » /fastdetect

Si l’ordre des partitions est modifié ultérieurement, par exemple si une 2e partition primaire est créée avant le lecteur étendu, l’emplacement de l’installation susmentionnée se déplace également sur W=3. Si le Boot.ini n’est alors pas adapté, le bootloader ne peut plus démarrer le système.

2. restaurer le chargeur de démarrage

2.1 Windows 2000 endommagé XP

Si l’on installe Windows 2000 ou NT après un Windows XP existant, le bootloader est endommagé par endroits. Concrètement, Windows 2000 écrase par exemple le fichier ntldr par une version avec laquelle Windows XP ne peut plus démarrer.

Ce problème peut être facilement résolu en copiant les fichiers endommagés sur le disque de démarrage à partir de n’importe quel Windows ou de la console de récupération :

COPY x:I386NTLDR C :

2.1 Reconstruction du chargeur de démarrage

Si le bootloader NT est encore endommagé, un peu plus de travail manuel est nécessaire.

Pour cela, il faut démarrer l’ordinateur à partir du CD Windows XP (le cas échéant, modifier l’ordre de démarrage dans le BIOS), puis passer en mode réparation à l’aide de la console de récupération en appuyant sur la touche « R ». Si l’on ne dispose que d’un CD de récupération, on peut également utiliser les disquettes d’installation de Windows 2000 ou XP, disponibles en téléchargement chez Microsoft.

On se trouve alors dans la console de récupération.

Ici, on crée un nouveau secteur de démarrage avec fixboot C :.

Si d’autres fichiers ont été écrasés sur le disque de démarrage (disque formaté, fichiers effacés), d’autres fichiers doivent être créés.

On copie d’abord

COPY x:I386NTLDR C :
COPY x:I386NTDETECT.COM C :

sur le disque dur (respecter les indications de chemin X et C).

Ensuite, on saisit la commande bootcfg /rebuild. Le programme recherche alors les installations Windows et demande le nom d’affichage pour les « trouvailles ». Le résultat est un nouveau boot.ini. D’autres paramètres de bootcfg sont expliqués dans l’article 291980 de la KB.

Pour redémarrer l’ordinateur et quitter la console de récupération, il suffit de taper exit.

2.2 Code de démarrage écrasé par Win9x/ME – Sauvegarder pour l’inclure dans le chargeur de démarrage NT

Une installation ultérieure de Windows 9x/ME endommage le code dans le secteur de démarrage et l’écrase par son propre code. Cela a pour conséquence que le fichier ntdlr n’est plus chargé.

L’astuce consiste alors à extraire le code Win9x du secteur d’amorçage et à le reconnecter au bootloader Windows 2000/XP.

Pour cela, il faut d’abord extraire le secteur d’amorçage de la partition d’amorçage dans un fichier à l’aide de l’outil gratuit BootPart pour DOS. Dans notre cas, la commande bootpart 0serait C:WIN.98

Bootpart, notez les paramètres
Cliquez sur l’image pour l’agrandir

Ensuite, on restaure le bootloader comme décrit précédemment en 2.1 et on passe ensuite à 3.2.

3. ajouter ultérieurement un nouveau système d’exploitation dans le Boot.ini

3.1 Ajouter Windows NT, 2000 ou XP

D’autres systèmes NT/2000/XP peuvent être ajoutés au Boot.ini simplement en indiquant la partition cible. Le Boot.ini est un fichier caché et en lecture seule à la racine de la première partition visible.

Pour l’éditer, il faudrait d’abord le protéger en écriture et supprimer « caché » à court terme. Pour ce faire, il suffit d’aller dans le Panneau de configuration -> Système -> Onglet « Avancé » et là, sous Démarrage et restauration -> Paramètres et dans la fenêtre suivante « Editer ».

Simplement dans le Boot.ini
Cliquez sur l’image pour l’agrandir

Simplement dans le Boot.ini
Cliquez sur l’image pour l’agrandir

Dans la section « operating systems », on indique la destination du nouveau Windows NT/2000/XP selon les explications données précédemment en 1.1 :

multi(X)disk(Y)rdisk(Z)partition(W)WINDOWS= »NAME »

Exemple:
multi(0)disk(0)rdisk(0)partition(2)WINNT= »Windows » /fastdetect
Ici, Windows se trouve sur un disque dur avec une partition primaire et une partition étendue, dans laquelle se trouvent 2 lecteurs logiques, installés sur le premier lecteur logique.

3.2 Enregistrer Windows 9x ou d’autres systèmes d’exploitation

Les systèmes d’exploitation « étrangers » peuvent être inclus dans le boot.ini en 2 étapes.

D’une part, on a besoin du secteur d’amorçage du système d’exploitation, comme nous l’avons écrit dans le fichier WIN.98 au point 2.2. Peu importe que le secteur de démarrage sauvegardé soit Windows 98, Windows 95, Windows ME ou DOS (ou un autre système d’exploitation).

On crée une nouvelle entrée dans la section « operating systems » du boot.ini pour chaque système d’exploitation dont on a sauvegardé le secteur de démarrage. Pour notre Windows 98, ce serait

C:win.98= »Windows 98″.

4. sûr est sûr – copie des fichiers de démarrage

Si l’on manipule souvent d’autres systèmes ou des partitions modifiées, il est conseillé de faire une copie des fichiers de démarrage. Pour cela, on formate une disquette sous Windows 2000/XP – mais sans la fonction « Créer une disquette de démarrage MS-DOS ». Le secteur d’amorçage de la disquette peut ainsi démarrer ntldr. Les autres fichiers ntldr, ntdetect.com et boot.ini sont copiés manuellement sur la disquette. Cette disquette permet de démarrer le système même si le chargeur de démarrage de la partition de démarrage a été endommagé.

Avec cette petite aide, l’utilisation simultanée de deux systèmes différents devrait fonctionner sans problème. Nous souhaitons toutefois préciser ici que pour les tâches plus complexes, le meilleur choix est un gestionnaire de démarrage séparé. Le choix est ici très vaste et va du freeware spartiate au produit coûteux à prix plein.

Articles similaires