Dans tout ce qui suit, Windows 9x désigne la famille composée de Windows 95, Windows 98 et Windows ME (Millenium Edition)

Suggestion d'organisation en multiboot DOS-Window 9x-Windows NT/2000/XP

Ce qui suit doit être pris seulement comme une suggestion, dans le cas où on ne dispose pas d'outils spécialisés de multiboot (tels que System Commander)

En résumé, la partition primaire de boot va contenir uniquement :

  1. les fichiers de boot de Windows NT/2000/XP :
  1. les fichiers de boot de Windows 9x :
  1. les utilitaires DOS éventuels

Le choix se fera à l'aide de NTLDR (le loader de NT), le "restant" de chaque système d'exploitation étant sur sa partition logique respective.

Sauvegarde et restauration du secteur de boot

Le secteur de boot sert essentiellement à lancer
- soit le fichier principal du système d'exploitation (DOS, Windows 9x/ME),
- soit un programme de chargement ("loader") qui va permettre de choisir un système d'exploitation (NT, Linux,OS/2,...)
Ce secteur est donc primordial, et il peut être utile de le restaurer (donc il doit avoir été sauvegardé au préalable) dans le cas par exemple d'erreurs de manipulation, ou si l'on désire changer de système d'exploitation sans devoir tout réinstaller.

La méthode décrite ci-dessous fonctionne aussi bien pour DOS, Windows 9x que pour NT (toute version).

En ce qui concerne Windows NT, elle n'est applicable que si la partition est de type FAT16 ou FAT32
(ce qui est toujours le cas dans le cas d'un multiboot "NT")

Elle ne nécessite aucun outil particulier, autres que ceux fournis en standard (essentiellement "debug").

Dans tous les cas elle doit être effectuée :


Pour cela, éditer (ou télécharger) les fichiers batchs suivants :

Fichier saveboot.bat Fichier restboot.bat
@echo off
if %1.==. goto syntaxe
echo Sauvegarde du secteur de boot dans %1
c:
cd \
REM creation du fichier de commandes debug
echo l 100 2 0 1 >cmddbg.txt
echo n %1 >>cmddbg.txt
echo r cx >>cmddbg.txt
echo 200 >>cmddbg.txt
echo w >>cmddbg.txt
echo q >>cmddbg.txt
debug <cmddbg.txt
echo Sauvegarde effectuee
goto fin
:syntaxe
echo syntaxe : saveboot nom_de_fichier
echo p.ex. : saveboot bootsect.622
:fin



@echo off
if %1.==. goto syntaxe
if NOT EXIST %1 goto erreur
echo Restauration du secteur de boot depuis %1
pause
c:
cd \
REM creation du fichier de commandes debug
echo n %1 >cmddbg.txt
echo l >>cmddbg.txt
echo w 100 2 0 1 >>cmddbg.txt
echo q >>cmddbg.txt
debug <cmddbg.txt
echo Restauration effectuee
goto fin
:erreur
echo *** le fichier %1 n'existe pas ***
goto fin
:syntaxe
echo syntaxe : restboot nom_de_fichier
echo p.ex. : restboot bootsect.622
:fin
Téléchargement de saveboot.bat Téléchargement de restboot.bat

Explication : tout réside dans la ligne de commande de debug "l 100 2 0 1" (ou "w 100 2 0 1"), qui signifie "lecture" (ou "écriture") à l'adresse 100 du disque C (n°2), secteur n°0 , 1 secteur (correspondant au secteur de boot du disque C)

Triple boot DOS (6.x) - Windows 9x - Windows NT/2000/XP

Le but à atteindre est d'obtenir un menu de boot unique (généré par NT) permettant le choix direct (sans devoir appuyer sur une touche de fonction telle que F4, F8, ...) entre :

En effet, si l'on procède à l'installation des différents systèmes dans l'ordre (logique) suivant :

  1. Installation de DOS
  2. Installation de Windows 9x (en demandant de conserver la précédente version d'OS)
  3. Installation de Windows NT (en demandant de conserver la précédente version d'OS)

le boot de la machine se fera au départ sous NT, avec menu d'options NT / Windows 9x. Si on désire alors accéder au DOS initial, il faudra d'abord choisir Windows 9x, puis appuyer sur F8, pour enfin sélectionner "Précédente version...". ce qui n'est pas très contraignant, mais n'est pas très pratique non plus !
On préférerait certainement avoir un menu unique, lors du démarrage de NT.
Cela est rendu possible si le fichier "boot.ini" contient les 2 lignes suivantes :

..............
c:\bootsect.622="L'ancetre (Dos 6.22)" /win95dos
c:\bootsect.w95="La glute a Billou" /win95
multi(0)........
........

Pour plus de détails, consulter l'article Structure et paramètres d'une ligne du fichier "boot.ini"
Les 2 fichiers :
- c:\bootsect.622 et
- c:\bootsect.w95
sont les images des secteurs de boot, respectivement sous DOS et sous Windows 9x. Leurs noms sont arbitraires.
Les commutateurs /win95dos et /win95 sont à préciser pour que NT émule le processus de multi-boot de Windows 9x

Pour obtenir (ou recréer) les fichiers secteurs de boot :
utiliser saveboot.bat décrit précédemment.

Mais pour que tout cela "fonctionne", il faut que dans la racine du disque C: figurent les fichiers suivants :

Fichiers DOS renommés Fichiers Windows 95/98
- MSDOS.DOS
- IO.DOS
- COMMAND.DOS
- AUTOEXEC.DOS
- CONFIG.DOS
- MSDOS.SYS
- IO.SYS
- COMMAND.COM
- AUTOEXEC.BAT
- CONFIG.SYS

Si les fichiers "DOS" n'existent pas (détruits, ou simplement parce DOS n'a jamais été installé) :

  1. Rebooter le PC avec une disquette DOS 6.22 (par exemple)
  2. Si les fichiers Windows 9x existent, les renommer car la phase suivante va les écraser.
  3. Exécuter la commande a:sys c: qui va transférer IO.SYS, MSDOS.SYS et COMMAND.COM de DOS sur le disque
  4. Installer (éventuellement) les autres fichiers du DOS (debug,en particulier, est obligatoire pour la phase suivante)
  5. Restaurer le secteur de boot de NT (qui vient d'être écrasé par la commande sys de DOS) par la commande :

    c:\>restboot.bat bootsect.nt4
    (=> restauration du secteur de boot NT)

Si les fichiers "Windows 9x" n'existent pas (détruits) (NB: si Windows 9x n'a jamais été installé, procéder à son installation) :

  1. Rebooter le PC avec une disquette DOS formatée avec Windows 9x
  2. Si les fichiers DOS existent, les renommer car la phase suivante va les écraser.
  3. Exécuter la commande a:sys c: qui va transférer IO.SYS, MSDOS.SYS et COMMAND.COM de Windows 9x sur le disque
  4. Installer (éventuellement) les autres fichiers du répertoire COMMAND de Windows 95 (debug,en particulier, est obligatoire pour la phase suivante)
  5. Restaurer le secteur de boot de NT (qui vient d'être écrasé par la commande sys de Windows 9x) par la commande :

    c:\>restboot.bat bootsect.nt4
    (=> restauration du secteur de boot NT)

Remarque : l'installation de Windows 98 n'efface pas le secteur de boot de NT, se limitant à modifier le fichier boot.ini en ajoutant la ligne c:\="Microsoft Windows 98"

Dans tous les cas, éditer le fichier boot.ini de façon à insérer les 2 lignes relatives à DOS et à Windows 9x (cf. plus haut)

On peut alors rebooter la machine, et choisir directement entre NT, Windows 9x ou DOS.

Fichier de swap commun à Windows 9x et Windows NT/2000/XP

Dans le cas d'un PC multi-boot Windows 9x/ Windows NT, afin de gagner de la place sur disque, on peut utiliser le fichier de swap de NT (pagefile.sys) comme fichier de swap de Windows 9x !

Pour cela il suffit d'éditer le fichier SYSTEM.INI, section [386Enh] et d'ajouter ou modifier les 2 lignes suivantes

PagingFile=X:\PAGEFILE.SYS
PagingDrive=X:

"X:" étant le nom du disque sur lequel réside le (un) fichier de swap de NT.
On peut ensuite supprimer le fichier Win386.swp de swap initial de Windows 9x

En cas de malheur avec Windows NT/2000/XP...

NT ne redémarre plus, mais c'est DOS (ou Windows 9x/ME) que l'on voit à la place.
Très vraisemblablement le secteur de boot de NT a été écrasé (p.ex. par celui de DOS ou celui de Windows 9x/ME).

Plusieurs méthodes existent pour se tirer de cette situation fâcheuse, mais non catastrophique!
Il est absolument inutile de réinstaller Windows NT/2000/XP (sauf si on en a vraiment envie!). 
Il suffit de restaurer le secteur de boot de Windows NT/2000/XP, afin que ce soit NTLDR le premier programme appelé au démarrage de la machine 

  1. Méthode standard (Microsoft)
    Elle consiste à utiliser les 3 (4 sous Windows 2000, 6 sous Windows XP) disquettes d'installation de NT, ou encore le CDROM de Windows (bootable).

    Sous Windows NT4

    L'écran suivant s'affiche (résumé) :

       Pour en savoir plus... appuyez sur F1
       Pour installer Windows NT... appuyez sur ENTREE
       Pour réparer ...appuyez sur R
       Pour sortir... appuyez sur F3

    Appuyer alors sur R (Réparer).

    L'écran suivant s'affiche :(résumé) :

       [ ] Inspecter les fichiers du registre
       [ ] Inspecter l'environnement de démarrage
       [ ] Vérifier les fichiers système de Windows NT
       [X] Inspecter un secteur d'amorçage
           Continuer (effectuer les tâches choisies)

    A l'aide des touches curseur et ENTREE, décocher toutes les cases, sauf la dernière (Inspecter un secteur d'amorçage). Une fois que c'est fait, sélectionner "Continuer" et appuyer sur ENTREE. Suivre les instructions affichées (insertion de la 3ème disquette, éventuellement de la disquette de réparation si on la possède), puis redémarrer l'ordinateur.

    Sous Windows 2000 et Windows XP

    Il existe la console de récupération. Elle peut être installée à demeure sur le PC (cf.l'article qui lui est consacré), mais peut être aussi lancée depuis le CDROM de Windows 2000/XP.
    Pour cela booter sur le CDROM, et attendre l'apparition de l'écran suivant :

    Appuyer sur R ("Réparer")

    L'écran de la console de récupération va s'afficher, avec un certain nombre de questions/réponses :

    Les séquences sont les suivantes :

    1. Taper le n° de l'installation de Windows (au cas où il y en aurait plusieurs).
      Généralement, taper 1
    2. Entrer le mot de passe du compte Administrateur
    3. Taper la commande fixboot, qui sert à restaurer le secteur de boot
      si on n'indique pas de lettre de disque, c'est la partition système qui est concernée.
      Donc pour éviter toute ambiguïté (dans le cas où partition de boot et partition système sont distinctes) il est recommandé de préciser cette lettre : fixboot c:
    4. Répondre o ("oui") à la demande de confirmation d'écriture du secteur de boot
    5. Taper exit pour quitter la console de récupération et redémarrer le PC.


  2. Méthode "JCB" (uniquement si partition FAT)
  1. Rebooter la machine (si nécessaire) afin d'être sous DOS (depuis le disque dur ou depuis une disquette )
  2. Taper la commande suivante :
    restboot.bat bootsect.nt4
    => restauration du secteur de boot NT
    NB: le fichier bootsect.nt4 aura été créé lors d'une sauvegarde préalable du secteur de boot 
  1. Méthode "BOOTPART" (uniquement si partition FAT)

Elle consiste à utiliser l'outil très simple et performant à la fois "BOOTPART" conçu par Gilles VOLLANT (avec documentation en français)

  1. Démarrer  la machine sous DOS (depuis le disque dur si DOS existe ou depuis une disquette DOS système)
  2. Taper la commande suivante :
    bootpart winnt boot:c:
    => restauration du secteur de boot NT

Quelle que soit la méthode utilisée, on peut ensuite rebooter sous NT/W2K/XP,
sous réserve que les fichiers suivants figurent bien dans la racine de C: :

La suite du lancement de NT est évidemment subordonnée à la présence des fichiers de NT dans la partition désignée dans le fichier boot.ini : existence du répertoire \winnt, de fichiers comme ntoskrnl.exe dans \winnt\system32, ...

En cas de malheur avec Windows 9x...

Windows 9x ne redémarre plus, mais c'est DOS (ou un message d'erreur) que l'on voit à la place.
Vraisemblablement le secteur de boot de Windows 9x a été écrasé (p.ex. par celui de DOS) et/ou les fichiers systèmes de Windows 9x ont été détruits ou corrompus.

  1. Rebooter la machine (si nécessaire) afin d'être sous DOS (depuis le disque dur ou depuis une disquette système formatée depuis Windows 9x)
     
  2. Taper la commande suivante :
    a:\>sys c:
    restauration du secteur de boot 9x
    recopie des fichiers système de 9x :
    - IO.SYS, MSDOS.SYS, COMMAND.COM
  1. Si NT est installé, et que l'on désire encore l'utiliser, il faut restaurer le secteur de boot de NT (car il vient d'être écrasé par la commande sys de Windows 9x).
    Pour cela, se reporter au paragraphe "En cas de malheur avec NT...

Installer DOS (6.22) après Windows 9x

Cette idée peut sembler à priori étrange, mais dans certains cas on peut avoir besoin de "revenir" sous DOS (ou Windows 3.x) pour tester ou modifier des applications fonctionnant sur d'autres plates-formes n'ayant pas Windows 9x installé.

NB : Cette opération peut être réalisée sans outils particuliers, ni reformatage de la partition. La seule condition est que la partition soit au format FAT16 car DOS (6.22) ne sait reconnaitre que FAT12 et FAT16, et en aucune façon FAT32.

Le mode opératoire est le suivant :

  1. En mode DOS sous Windows 9x, sauvegarder le secteur de boot (de Windows 9x)
    Pour cela, utiliser le fichier batch saveboot.bat (il est décrit plus haut)
    puis exécuter la commande suivante :

    saveboot bootsect.w95

    (le nom du fichier, p.ex. bootsect.w95, n'a aucune importance)

  1. Toujours en mode DOS 9x, modifier (ou vérifier) MSDOS.SYS
    Dans le paragraphe [Options] doit figurer la ligne suivante :
BootMulti=1
  1. Rebooter avec une disquette DOS 6.22
  2. Renommer les fichiers système de Windows 9x
    NB : La plupart de ces fichiers ont les attributs R, H et/ou S
    Fichier rensyst.bat

    @echo off
    echo Renommage des fichiers systèmes de Windows 95
    pause
    c:
    cd \
    attrib -r -h -s *.*
    ren MSDOS.SYS MSDOS.W40
    ren IO.SYS WINBOOT.SYS
    ren COMMAND.COM COMMAND.W40
    ren
    AUTOEXEC.BAT AUTOEXEC.W40
    ren CONFIG.SYS CONFIG.W40

    Téléchargement de rensyst.bat
  1. Copier les fichiers du DOS 6.22 dans un répertoire quelconque (p.ex. c:\dos)
    puis exécuter la commande (depuis la disquette)
    sys c:

Elle place les fichiers systèmes IO.SYS et MSDOS.SYS de DOS en tête de la racine, mais elle écrase le secteur de boot, d'où l'utilité de l'avoir sauvegardé auparavant

  1. Restaurer le secteur de boot de Windows 9x
    Pour cela, utiliser le fichier batch restboot.bat (il est décrit plus haut)
    puis exécuter la commande suivante :
    restboot bootsect.w95

    (reprendre le nom du fichier que l'on a donné avec saveboot.bat)

  1. Rebooter la machine
    Windows 95 redémarre, et le menu (actionné par F8) offre la possibilité de passer sous l'ancien OS (DOS 6.22)
    Si l'on choisit Windows 95, on pourra alors constater que les fichiers du DOS (IO.SYS, MSDOS.SYS, COMMAND.COM,..) ont été renommés en IO.DOS, MSDOS.DOS, COMMAND.DOS,....

Installer Windows 9x après Windows NT/2000/XP

En principe, la règle veut que l'on commence par installer le système le "moins intelligent" pour finir par celui le plus performant, donc d'abord Windows 9x, puis Windows NT/2000/XP. Tout simplement parce que Windows NT et 2000 ont été prévus dès l'origine pour gérer le multiboot, ce qui n'est pas le cas de Windows 9x.
Cependant, la mise en place d'un multiboot Windows 9x - Windows NT/2000/XP est parfaitement réalisable, même si on a commencé par installer Windows NT/2000/XP. 

Le mode opératoire, qui dépend du type de la partition de boot, est le suivant :

  1. La partition de boot est de type FAT 
    1. Booter sur une disquette DOS/Win9x
       
    2. Si ce n'est pas déja fait, créer une partition étendue dans laquelle on créera une partition logique de type FAT destinée à recevoir le système de Win9x.
       
    3. Installer Win9x, en indiquant comme emplacement de Windows la nouvelle partition créée (p.ex. "D:\windows")
       
    4. Une fois que Win9x est installé, se procurer BOOTPART (gratuit)
      http://www.winimage.com/bootpart.htm
       
    5. Taper sous DOS successivement les 2 commandes suivantes : 
      bootpart win95 c:\bootsect.w98 "Windows 98" 
      bootpart winnt boot:c: 

      les paramètres de bootpart "win95" et "winnt" sont génériques.
      win95 désigne tout système de cette famille : 95, 95 OSR2, 98, 98SE et ME
      winnt désigne tout système de cette famille : NT4, 2000, XP

      Le nom de fichier c:\bootsect.w98 est totalement arbitraire.
      Ce fichier image de secteur de boot de Windows 9x sera créé par bootpart et son nom sera inscrit automatiquement dans la ligne de commande correspondante du fichier c:\boot.ini

      Le libellé "Windows 98" est lui aussi arbitraire. Il apparaîtra dans le menu affiché au démarrage.
       
    6. Rebooter!

  2. La partition de boot est de type NTFS 
    Comme ce type de partition n'est pas reconnu par Windows 9x, on ne peut pas utiliser le dualboot de Windows NT/2000/XP !
    1. Sous Windows NT/2000/XP, à l'aide du gestionnaire de disques (windisk sous NT, diskmgmt.msc sous 2000/XP) créer une 2ème partition PRIMAIRE de type FAT et la rendre active.
       
    2. Rebooter avec une disquette DOS 
       
    3. Installer Win9x sur cette nouvelle partition. 
       
    4. Installer sous DOS de Win9x un bootmanager
      - System Commander (payant, excellent) http://www.v-com.com/ 
      - XOSL (gratuit, excellent) http://www.xosl.org/ 
      - gAg (gratuit, excellent) http://www.rastersoft.com/gageng.htm 
      - BootMagic (fourni avec Partition Magic)
      - ... 
       
    5. Rebooter!

Supprimer le multiboot de Windows NT/2000/XP (et NT/2000/XP lui-même)

Après avoir installé Windows NT/2000/XP sur une machine où il y avait déjà DOS et/ou Windows 9x , on peut souhaiter supprimer Windows NT/2000/XP, (par exemple parce que l'ordinateur est sous-dimensionné pour ce système).

La suppression de NT/2000/XP est relativement simple :

Mais cela ne suffit pas, le menu de démarrage de NT, avec choix de système, va subsister. (ou pire, si on a déjà supprimé NTLDR, un message d'erreur va s'afficher).
Cela est dû au fait que NTLDR est toujours appelé dans le secteur de boot. Il faut donc restaurer le secteur de boot de Windows 95.

Voici une méthode très simple et qui ne nécessite aucun outil particulier :

Après avoir démarré sous DOS (à partir d'une disquette bootable de Windows 9x), taper successivement les commandes suivantes :

attrib -r -h -s c:\msdos.sys
copy c:\msdos.sys c:\msdos.bak
sys c:
copy c:\msdos.bak c:\msdos.sys
attrib +r +h +s c:\msdos.sys

Explications :
La commande sys c: a pour effet de restaurer le secteur de boot de Windows 9x, mais aussi de recopier ou réinitialiser (si on boote depuis une disquette) les fichiers systèmes IO.SYS et MSDOS.SYS. Afin de conserver les paramétrages en cours du fichier MSDOS.SYS, on doit donc effectuer au préalable une sauvegarde de ce fichier, qui est caché, d'où la commande attrib initiale.

On ne peut pas exécuter la commande sys c: si on a démarré le système depuis c:.
Si on le fait, le message d'erreur suivant va apparaître : "impossible de spécifier le lecteur par défaut". En effet, cela impliquerait la copie des fichiers systèmes sur eux-mêmes. Il faudra alors préciser un emplacement des fichiers système autre que c:\ (p.ex.  sys a: c: , ou sys d:\dos c:, ...)

Supprimer un autre système dans le multiboot de Windows NT/2000/XP

Sur une machine dotée d'un multiboot Windows NT/2000/XP et un autre système tel que DOS et/ou Windows 9x (ou autre, par exemple une 2ème version de NT/2000/XP), on peut souhaiter supprimer le (ou les) systèmes autres que Windows NT/2000/XP, (par exemple parce que la présence de Windows 9X ne se justifie plus, ou parce qu'on est à court d'espace disque, ...).

La suppression de ce système et du multiboot associé est simple à effectuer :

Multiboot avec LINUX 

Linux est un système d'exploitation qui inclut d'origine la possibilité de démarrer sous d'autres systèmes d'exploitation. Par ailleurs, à la différence de  DOS, Windows 9x ou même Windows NT, ses fichiers de démarrage peuvent être situés sur n'importe quelle partition, primaire ou logique, du disque de boot ou d'un autre disque. Cette supériorité est due à la présence d'un outil appelé "LILO" (Linux Loader"), qui peut être installé non pas dans une partition de Linux , mais à la place du programme de choix de partition situé dans le MBR.
Ce programme permet soit de lancer Linux, soit un autre système d'exploitation. la configuration de LILO est stockée dans le fichier /etc/lilo.conf
Exemple :

Contenu Commentaires
boot=/dev/hda indique la partition de boot
ici c'est le 1er disque IDE
# Linux
image=/vmlinuz
root=/dev/hdc1
label=Linux
définit l'emplacement de LINUX
"root" indique la 1ère partition primaire du 3ème disque IDE
Cette section est OBLIGATOIRE
# Windows 98
other=/dev/hda1
table=/dev/hda
label=Windows98
définit l'emplacement de Windows 98
"other" indique la 1ère partition primaire du 1er disque IDE
"table" indique où se trouve la table de partition concernée (1er disque IDE)
# Windows NT
other=/dev/hdb1
table=/dev/hda
loader=/boot/any_d.b
label=WindowsNT
définit l'emplacement de Windows NT
"other" indique la 1ère partition primaire du 2ème disque IDE
"table" indique où se trouve la table de partition concernée (1er disque IDE)

Personnellement, je n'aime pas beaucoup le manque d'ergonomie de LILO, et surtout sa configuration! Je préfère (mais c'est un goût personnel!) utiliser NTLDR (le loader de NT), qui permet parfaitement de lancer LINUX ! La seule restriction, dans ce cas, est que le disque de démarrage et la partition de boot soit celle contenant NTLDR.

Il suffit de créer un fichier image du secteur de boot de la partition LINUX (appelé p.ex. "boosect.lin"), de mettre ce fichier dans la racine de la partition de boot de NT ("c:"), et d'ajouter une ligne dans le boot.ini (c:\bootsect.lin="Linux").
Pour créer ce fichier, il existe 2 méthodes :

  1. sous Linux

Exécuter la commande :

dd if=/dev/xxxx of=/bootsect.lin bs=512 count=1

"xxxx" étant la partition où se trouve Linux ("hdb2", "sda1", ...)
Exemple :
si Linux est situé sur :

On exécutera alors la commande suivante :

dd if=/dev/hdc6 of=/bootsect.lin bs=512 count=1

  1. sous DOS ou Windows NT

A l'aide de BOOTPART, (cf. plus bas) exécuter la commande :

BOOTPART xx c:\bootsect.lin Linux

"xx" étant le n° d'ordre de la partition de Linux
Pour l'obtenir, il suffit d'exécuter BOOTPART sans aucun
paramètres, et de chercher dans la liste qui s'affiche celle qui correspond à Linux.
Exemple :

...
5 : C: type=b (Win95 Fat32), size = 867478 KB
...
11 : D: type=83 (Linux native), size = 1124550 KB
...

Ici, "xx" vaut "11"
BOOTPART se charge alors :

Personnellement, je préfère nettement la 2ème méthode, faisant appel à BOOTPART, ayant tendance à me "mélanger les octets" dans la syntaxe de "dd if=..."! 

Problème de dualboot Windows 2000 installé après Windows XP

Dans le cas d'un dualboot Windows 2000/Windows XP, bien que les deux systèmes soient analogues au niveau du mécanisme de démarrage (loader NTLDR, fichier boot.ini,...), l'ordre d'installation est important!

En effet, si on installe d'abord Windows 2000 puis Windows XP, tout se passe bien.
Mais si on fait l'inverse, à savoir (ré)installer Windows 2000 après Windows XP, Windows XP ne démarre plus!

Ce problème apparaît également avec les versions ultérieures (Windows XP installé après Windows 2003, ...)

Cela est dû au fait que Windows 2000 a (ré)installé ses propres fichiers NTLDR et NTDETECT.COM, qui sont incompatibles avec Windows XP. Cela est d'ailleurs confirmé par un article de la Knowledge Base du MSDN

"Cannot Start Windows XP After You Install Windows 2000"
http://support.microsoft.com/directory/article.asp?id=kb;en-us;Q283433

Donc en cas d'installation de NT4 ou W2k après XP, il faut absolument RECOPIER (sous DOS si la partition est en FAT, ou depuis W2k, ou depuis la console de récupération) ces 2 fichiers depuis le CDROM de Windows XP.
Ils sont situés dans le répertoire \i386

Définir le système par défaut dans un multiboot avec Windows NT/2000/XP

Quand on installe Windows NT/2000/XP sur une machine déjà dotée d'un autre système (DOS, Windows 9x,..), c'est Windows NT/2000/XP qui va apparaître comme système par défaut dans le menu de démarrage, qui sera alors lancé automatiquement au bout d'un certain délai si aucune action n'est entreprise au clavier.

Pour diverses raisons, on peut souhaiter changer ce choix par défaut.

La définition du système par défaut réside dans le fichier c:\boot.ini, champ default du paragraphe [boot loader] :

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(1)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Microsoft Windows 2000 Server" /fastdetect
C:\CMDCONS\BOOTSECT.DAT="Console de recuperation Microsoft Windows 2000" /cmdcons
C:\="Microsoft Windows 98"

Pour changer de système par défaut, il suffit de remplacer  le contenu situé à droite de default= par le contenu à gauche du signe = d'une des lignes de la liste [operating systems]

En reprenant l'exemple précédent, si l'on veut que ce soit Windows 98 qui démarre par défaut, on aura ceci :

[boot loader]
timeout=10
default=C:\
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Microsoft Windows 2000 Server" /fastdetect
C:\CMDCONS\BOOTSECT.DAT="Console de recuperation Microsoft Windows 2000" /cmdcons
C:\="Microsoft Windows 98"

Et si l'on souhaite que ce soit la console de récupération :

[boot loader]
timeout=10
default=C:\CMDCONS\BOOTSECT.DAT
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Microsoft Windows 2000 Server" /fastdetect
C:\CMDCONS\BOOTSECT.DAT="Console de recuperation Microsoft Windows 2000" /cmdcons
C:\="Microsoft Windows 98"

Sous Windows 2000 et XP

Cette modification peut s'effectuer de façon plus ergonomique, sans devoir ouvrir le fichier c:\boot.ini, à l'aide du panneau de configuration Système, onglet Avancé, bouton Démarrage et récupération.

La boite de dialogue Démarrage et récupération comporte une zone intitulée Démarrage du système, avec une liste déroulante nommée
Système d'exploitation par défaut
qui affiche les différents systèmes disponibles.
Il suffit de sélectionner le système désiré.

On peut aussi en profiter pour définir le délai d'affichage du menu (correspondant à la valeur de la variable timeout) :

Le fichier c:\boot.ini sera alors modifié en conséquence.

Redéfinir la lettre de la partition de boot sous Windows NT/2000/XP

Après avoir installé NT/W2K/XP sur 2 partitions (une pour le boot, une pour le système), on se retrouve avec 2 lettres, C: pour le boot et N: (par exemple) pour le système.
Pour diverses raisons, on peut souhaiter n'avoir qu'une seule partition et donc une seule lettre (C:) qui désignera l'intégralité du système (boot compris).

Cela est possible, mais très complexe (et je le déconseille!).

Si néanmoins vous souhaitez procéder à cette modification, voici un mode opératoire.
Dans tout ce qui suit, N: désignera la lettre de la partition système initiale (à adapter au cas de chacun).

La partition N: doit être de type PRIMAIRE (afin d'être bootable par la suite).
Si ce n'est pas le cas, il faudra effectuer sa conversion à l'aide d'un outil tel que Partition Magic.

Dans la procédure qui vient d'être décrite, il est fait appel aux 2 éditeurs de la BDR, à savoir REGEDIT et REGEDT32, car, sous Windows NT4 et Windows 2000, chaque éditeur pris isolément ne possède pas toutes les fonctionnalités nécessaires (REGEDIT ne sait pas effectuer des montages de ruches, REGEDT32 ne sait pas renommer une entrée).

Sous Windows XP, cette distinction disparaît, REGEDIT et REGEDT32 ayant été fusionnés dans le même outil.
 

Conclusion :

NE JAMAIS MODIFIER la lettre des partitions de BOOT et/ou SYSTEME
par quelque procédé que ce soit, modification du partitionnement par ajout ou
suppression de partition AVANT la partition système,... !!!

C'est possible en théorie, mais EPOUVANTABLE en pratique!

Réinstaller Windows 9x alors qu'un multiboot avec NT/2000/XP existe déjà

Dans le cas d'un multiboot Windows 9x et NT/2000/XP, la partition de boot contient les fichiers nécessaires au démarrage des différents systèmes (Windows 9X ET NT/2000/XP), et de plus le secteur de boot de cette partition est de type "NT", c'est à dire que le programme contenu dedans lance le programme NTLDR ("loader" de NT)

Donc, si on est amené à réinstaller Windows 9x (avec reformatage éventuel), on va détruire immanquablement :

Si on ne prend pas garde à cela, après réinstallation de Windows 9x, on ne pourra plus démarrer sur NT/2000/XP.
Le cas n'est pas désespéré, car il est traité plus haut.

On peut cependant s'éviter ces manipulations un peu fastidieuses, à l'aide des outils et du mode opératoire suivants :

  1. Avant de réinstaller Windows9x, effectuer une sauvegarde sur disquette du multiboot.
    Pour cela , exécuter (sous DOS depuis une disquette bootable ou dans une fenêtre DOS de Windows 9x) le script savemult.bat

    Code source de savemult.bat :
     
  2. Réinstaller Windows 9x (avec reformatage éventuel de C:)
     
  3. Restaurer le multiboot depuis la disquette précédente.
    Pour cela , exécuter (sous DOS depuis une disquette bootable ou dans une fenêtre DOS de Windows 9x) le script restmult.bat

    Code source de restmult.bat :
     
  4. Redémarrer l'ordinateur, le multiboot avec NT/2000/XP est de nouveau opérationnel!
Ces deux scripts nécessitent la présence du fichier debug.exe (ou debug.com), qui est le débogueur par défaut sous DOS (et Windows). Il doit se trouver dans le répertoire courant, sinon son chemin doit être défini dans la variable d'environnement PATH.

Si on utilise une disquette de démarrage Windows 9x, il est automatiquement inclus dans le fichier EBD.CAB et décompressé dans un RAMdrive lors du démarrage.

Sinon (disquette créée différemment), on peut l'extraire depuis un fichier cabinet (.cab) à l'aide de la commande extract :


 extract  /E x:\....\fichier.cab debug.exe  
 

Le fichier cabinet concerné diffère suivant les versions de Windows :

  • Win95_02.cab du CD de Windows 95
  • Win98_39.cab ou Win98_40.cab du CD de Windows 98
  • Win98_44.cab du CD de Windows 98 Seconde Édition

Il se peut que les n° de fichiers ne correspondent pas exactement (j'ai pu le constater avec Windows 98. Le MSDN indiquant Win98_40.cab, alors que c'est Win98_39.cab sur le CD que je possède).
Dans ce cas, effectuer une recherche avec la commande :


 extract /a /d x:\....\base4.cab debug.exe  

 ........

 Cabinet WIN98_39.CAB

 05-15-1998 8:01:00p A--- 21,178 debug.exe
 

Le fichier debug.exe est également contenu dans le fichier EBD.CAB, lequel est contenu lui-même dans les fichiers :

  • Base4.cab du CD de Windows 98
  • Base4.cab du CD de Windows 98 Seconde Édition
  • Base2.cab du CD de Windows Millenium

Dans ce cas, il faudra effectuer 2 extractions successives :


 extract  /E x:\win98\base4.cab ebd.cab

 extract  /E ebd.cab debug.exe
   

On ne peut pas utiliser le fichier debug.exe fourni avec Windows NT/2000/XP, en raison d'incompatibilité de version de DOS

 

Création d'un multiboot à partir de 2 disques indépendants (utilisation de GAG)

Le cas de figure suivant se présente assez souvent :

On possède 2 disques durs, provenant d'ordinateurs différents, chacun étant doté d'une partition primaire sur laquelle est installé un système d'exploitation donné (par exemple DOS sur l'un, Windows XP sur l'autre).
On désire "fusionner" l'ensemble dans un seul ordinateur.

Pour choisir le système au démarrage (et donc le disque de boot) on veut éviter de devoir passer par la configuration du BIOS.
De même, on ne veut pas modifier les secteurs de boot ni les fichiers de démarrage de chaque partition.

Pour résoudre ce problème, la solution qui s'impose est de faire appel à un bootmanager.

Certains bootmanagers  exigent la présence d'une partition FAT pour s'installer.
Or cela peut être gênant si par exemple les 2 disques sont dotés seulement de partitions EXT2FS (Linux) et NTFS (Windows NT).
Par ailleurs, certains bootmanagers sont des produits commerciaux, donc payants.

Pour s'affranchir de ces contraintes, la méthode qui va être exposée ci-dessous fait appel à "GAG"
(Gestor de Arranque Grafico ou GrAphical boot manaGer), un excellent logiciel qui présente les caractéristiques suivantes :

Page de téléchargement : http://gag.sourceforge.net/download.html

La dernière version à la date de rédaction de ce document est la 4.6

Après avoir téléchargé le fichier GAG46.ZIP il suffit de le décompresser en utilisant les noms de dossiers.

Dans le dossier gag46 ainsi obtenu, on trouve les fichiers et dossiers suivants :


05/03/2006 02:27 2 627 584 cdrom.iso
08/05/2004 14:31    18 314 copying
20/11/2006 10:29     <REP> devel
04/03/2006 21:23 1 474 560 disk.dsk
08/05/2004 14:31        31 install.bat
04/03/2006 21:38     5 778 install.txt
25/11/2004 17:04        32 install_XP.cmd
04/03/2006 21:25     1 188 keyboard.txt
20/04/2001 21:24    40 960 ntrawrite.exe
25/11/2004 17:02     2 450 ntrawrite.txt
08/05/2004 14:31    17 863 rawrite2.exe
08/05/2004 14:31     1 639 rawrite2.txt
04/11/2004 23:10       139 uninstal.txt
15/01/2006 17:41        16 version.txt
 

Création de la disquette de GAG

Pour créer la disquette d'installation (dont l'image se trouve dans le fichier disk.dsk) il suffit d'exécuter :

Il est demandé d'insérer une disquette (vierge ou non, peu importe)

Cette disquette utilise systèmes d'exploitation et de fichiers qui lui sont propres.
Elle ne peut pas être lue ni sous DOS ni sous Windows !
 

C:\WINDOWS\system32>dir a:
Le volume ne contient pas de système de fichiers connu.
Vérifiez si tous les pilotes de système de fichiers nécessaires
sont chargés et si le volume n'est pas endommagé.


 

Dans cet exemple, l'ordinateur sur lequel on va opérer comporte les disques suivants :

Installation et configuration de GAG

1)

On démarre l'ordinateur sur la disquette de GAG

Pour l'instant le menu est affiché en anglais.

 

 

Appuyer sur la touche 4

C
omme à ce niveau aucun pilote de clavier n'est encore chargé,  on se retrouve avec un clavier QWERTY, donc il ne faut pas appuyer sur la touche MAJ pour obtenir les chiffres si on utilise la 2ème rangée du clavier principal.

2)

 

Choisir le type de clavier

en principe, appuyer sur 2

3)

 

 

Choisir la langue

 

En principe, appuyer sur G (Français)

4)

 

 

 

Appuyer sur C

5)

 

 

Appuyer sur J (pour ajouter le 1er OS)

6)

 

DOS de Windows est détecté automatiquement.

Appuyer sur B

7)

 

 

Donner un nom (arbitraire)
 

ici : DOS 98

8)

 

 

Indiquer éventuellement un mot de passe pour cet OS

9)

 

 

Choisir une icône

 

ici : E

10)

 

 

Appuyer sur J (pour ajouter le 2ème OS)

 

11)

 

 

Seul le lecteur de disquette et le 1er disque sont affichés par défaut.

Appuyer sur 3 (pour afficher le 3ème disque IDE)

12)

 

 

Les partitions de ce disque s'affichent alors.

Appuyer sur B

 

13)

 

 

 

Étant donné que ce disque était seul auparavant,  et donc avec un OS autonome, et qu'il se retrouve maintenant comme 3ème disque,  appuyer sur O (oui)

14)

 

 

Donner un nom (arbitraire)
 

ici : Windows XP SP2

 

15)

 

 

 

Indiquer éventuellement un mot de passe pour cet OS

16)

 

Choisir une icône

 

ici : C

 

 

17)

 

 

 

 

Appuyer sur D (Sauver sur disque dur)

Cela enregistre GAG et la configuration sur le disque dur dans le MBR.

18)

 

 

 

 

Appuyer sur <Entrée> puis sur R (retour)

19)

 

Le multiboot DOS 98 / Windows XP SP2 est désormais opérationnel !

Appui sur 2 :
Appui sur 3 :