Ce document explique comment créer un CDROM bootable de Windows 2000 et de Windows XP à partir d'un CD original, et en y intégrant éventuellement le dernier Service Pack (En ce qui concerne Windows 2000, SP1 lors de la première création du présent document, et SP4 actuellement). Cela permet de raccourcir notablement le temps d'installation de Windows, et de bénéficier immédiatement des apports du Service Pack.
 
Cette procédure a été testée avec succès
avec les versions françaises de :
  • Windows 2000 Professionnel et Serveur (build 2195
  • Windows 2000 +  les Service Pack 1, 2, 3 et 4 version française. 
  • Windows XP HOME et PRO (build 2600) + le Service Pack 1

Le SP4 version française de Windows 2000 est disponible sur  le site Microsoft
Le SP1 version française de Windows XP est disponible sur le site Microsoft

Les logiciels de gravure utilisés ont été : avec un graveur
SCSI Teac 56S.

La méthode de configuration de CDRWIN commentée ici s'est fortement inspirée de celle décrite dans la FAQ de Windows NT

  1. Préparation de l'image
  2. Ajouts éventuels de pilotes supplémentaires
  3. Intégration d'un Service Pack ("SlipStreaming")
  4. Création du CD avec CDRWIN
  5. Création du CD avec NERO
  6. Correction du bug "Couldn't find NTLDR" survenant avec NERO

Préparation de l'image

Elle consiste à copier dans une partition d'un disque dur le CDROM original de Windows 2000 ou Windows XP. On n'est pas obligé de copier tous les sous répertoires, mais au minimum :

  1. La racine du CD, comportant les fichiers
  2. L'arborescence \I386 complète
  3. Le répertoire \BOOTDISK (facultatif, mais recommandé)

Cet ensemble occupe environ un espace disque de :

Ajouts éventuels de pilotes supplémentaires

Il est possible d'ajouter à cette distribution de Windows 2000 ou Windows XP des pilotes de périphériques spécifiques, non standards. Cela est effectué à l'aide de l'outil Microsoft  SYSPREP. En attente d'une traduction ici, la procédure est décrite dans les articles suivants de la Base de connaissances du MSDN :

"Q254078 - How to Add OEM Plug and Play Drivers to Windows 2000 Installations"

"Q236029- How to Set the Driver Signing Policy for Windows 2000 Unattended Setup"

L'outil SYSPREP est disponible gratuitement sur le site de Microsoft : 
http://www.microsoft.com/windows2000/downloads/tools/sysprep/default.asp

Il est disponible également dans le fichier DEPLOY.CAB du sous répertoire  \SUPPORT\TOOLS\ du CD de Windows 2000 ou XP.
Ce fichier peut être décompressé par exemple à l'aide de Winzip ou WinRAR, ou encore en lançant le programme setup.exe situé dans le même répertoire.

Au cas où vous n'auriez pas ce fichier DEPLOY.CAB ou des difficultés à télécharger SYSPREP, il est disponible ici, mais sans garantie de mise à jour. (version actuellement disponible : 1.1)

Consulter également le document écrit par Francois ARELLA :

Créer un CD bootable W2K + SP3 + IE 6 + WMP 7.1 + DX 8.1

Intégration d'un Service Pack ("SlipStreaming")

(dernière modification : 18/08/03 suite au SP4)

ATTENTION! La procédure de fusion qui va être décrite ne fonctionne que sous Windows 2000 et au delà (XP, 2003, ...). Si on essaie de l'effectuer sous un autre système, un message d'erreur va être généré, dû au problème suivant  :

Windows 9x : La bibliothèque  CLUSAPI.DLL n'existe pas 
Windows NT4 : La bibliothèque SETUPAPI.DLL ne possède pas le point d'entrée VerifyCatalogFile

Cette restriction (non contournable) est signalée dans l'article Q265440 de la Knowledge Base du MSDN :
http://support.microsoft.com/support/kb/articles/Q265/4/40.ASP

On peut au choix effectuer l'opération en 1 ou 2 étapes :

1 étape 2 étapes
 

 

Décompresser au préalable le SP à l'aide d'un outil tel que Winzip, WinRAR, ..., dans un dossier quelconque (par exemple S:\W2k\SP4)

On trouve dans l'arborescence ainsi générée un sous-dossier \i386\update contenant un programme nommé update.exe 
(ici S:\W2k\SP4\i386\update)
Depuis une fenêtre de commandes (ou le menu Démarrer/Exécuter), exécuter :

l'auto extractible contenant le SP

...\i386\update\update.exe

en lui passant en paramètre le commutateur  -s:  
suivi du  nom complet (impératif!) du dossier   contenant les fichiers du CDROM de Windows.

Par exemple, si les fichiers de Windows 2000 Serveur
sont situés dans S:\W2k\SERVER :


U:\SP4W2K>w2ksp4_fr.exe -s:s:\W2K\SERVER  
 

Une vérification du fichier a lieu :

suivie de la décompression du SP dans un dossier temporaire :

Par exemple, si les fichiers de Windows 2000 Professionnel
sont situés dans S:\W2k\PRO :


S:\W2k\SP4\i386\update>update -s:s:\w2k\pro
 

L'intégration a alors lieu immédiatement



et si tout s'est bien passé, on doit voir apparaître le message :


L'auto extractible ou le programme update admet la syntaxe suivante :

L'option update -l (absente dans les SP1 et 2 de W2k) sert à afficher les "correctifs" postérieurs au SP en cours.

(affichage obtenu sous Windows 2000 après application du SP4 et d'autres correctifs)

 

On peut vérifier que certains fichiers ont bien été modifiés par le SP4 :

 
 





 

La date du répertoire i386 est désormais 18/08/2003
 







Par ailleurs, on constate qu'un fichier (de taille nulle) a été ajouté dans la racine, témoignant de la présence du SP : cdromsp4.tst
le fichier cdromsp3.tst que l'on peut voir dans l'exemple ci-contre résulte d'un précédent slipstreaming avec le SP3. (Il aurait pu être supprimé). Cela signifie que l'on peut fusionner plusieurs SP successivement dans la même arborescence de Windows.


Création du CD avec CDRWIN

Pour être bootable, le CD doit posséder une zone de 2048 octets (non visible dans l'explorateur ni à l'aide d'une commande dir) correctement initialisée, qui n'est autre que le secteur de boot (secteur n°20 du CD)
A la différence des disques durs ou des disquettes, les secteurs de CD ont une taille de 2048 octets.

Il faut donc utiliser un logiciel de gravure capable de créer un CD bootable et autorisant la définition  avec précision de cette amorce, et surtout qui sache récupérer facilement cette même zone depuis un autre CD bootable du même type.
A ma connaissance, il n'existe à ce jour que CDRWIN, édité par Golden Hawk Technology qui réponde à toutes ces conditions.(Easy CD Creator est très limité au niveau image de boot, n'autorisant que des boots de type DOS,  et Nero ne permet pas l'extraction de secteurs depuis un CD existant)

C'est un produit commercial (39 US $), que l'on peut se procurer sur le site de GoldenHawk. Le logiciel, qui fonctionne sous toute plate-forme Win32, est pleinement utilisable même si on ne s'est pas enregistré, par contre dans ce cas la vitesse de gravure sera limitée à 1X.

les captures d'écran qui suivent peuvent différer légèrement suivant la version de CDRWIN utilisée

  1. Création du fichier image d'amorce
    Commencer par insérer un CD d'origine de Windows 2000 ou Windows XP dans un lecteur de CD quelconque  (le graveur qui va être utilisé ou un autre lecteur).
    Lancer CDRWIN, puis appuyer sur le 3ème bouton de la barre de commande de CDRWIN


    Cela provoque l'ouverture d'une boite de dialogue :

    Remplir ou positionner correctement les différents champs :

    Si vous éprouvez des difficultés pour réaliser ce fichier image d'amorce
    (utilisable également avec Windows XP)
    vous pouvez le télécharger en cliquant sur le lien ci-dessous :

    Fichier CDSECTOR.BIN (2 ko)


  2. Préparation de l'image ISO
    Appuyer sur le 4ème bouton de la barre de commande de CDRWIN :

    Cela provoque l'ouverture d'une boite de dialogue :

    Remplir ou positionner correctement les différents champs :
    La boite de dialogue principale a alors l'aspect suivant :

    La boite de dialogue principale a alors l'aspect suivant :

    On voit que l'option de disque bootable est à présent activée.

  3. Création de l'image ISO
     
    A) Appuyer sur START
    Une boite de dialogue de confirmation s'affiche :
    B) Appuyer sur Continue
    Une boite de progression s'affiche
    (création du fichier ISO):
    C) suivie d'une autre (gravure de l'image) :
    D) Puis finalisation de la session
    E) et s'il n'y a pas eu d'erreur :

    Le nouveau CD bootable
    de Windows 2000 + SPn
    ou de Windows XP
    est alors opérationnel !

     

 

Création du CD avec NERO

NERO est un des logiciels de gravure les plus connus (avec Easy CD Creator), mais la création d'un CD bootable de type NT avec cet outil est moins évidente qu'avec CDRWIN, essentiellement à cause d'un manque de documentation.

Par exemple l'aide contextuelle affiche ce genre d'informations peu explicites :

Cependant, il est tout à fait possible de réaliser un CD bootable de type NT avec NERO, avec la méthode suivante :

  1. Sélectionner le menu Fichier / Nouveau...
     
  2. Sélectionner CD-ROM (Boot)
     
  3. Afficher l'onglet Boot
    1. Cocher le bouton Fichier image
    2. Appuyer sur Parcourir et sélectionner
      le fichier cdsector.bin défini précédemment et téléchargeable ici
    3. Cocher la case Options approfondies
    4. Sélectionner Pas d'émulation
    5. Vérifier que la valeur du segment des
      secteurs
      est bien égale à 07C0
    6. Indiquer 4 comme Nbre de secteurs lus

  4. Afficher l'onglet ISO
    1. Cocher ISO-Niveau 1
    2. Cocher ISO 9960
    3. Cocher Joliet

  5. Afficher l'onglet Label (facultatif)
    1. Indiquer un nom de volume (XP_PRO par exemple)
    2. Indiquer le nom de l'éditeur (Microsoft)

  6. Appuyer sur Nouveau
    puis copier dans le volet de gravure l'arborescence complète de Windows (CD ou Dossier disque) depuis le volet explorateur.
    (L'exemple ci-dessous concerne la gravure d'un CD de Windows XP PRO)

     
  7. Sélectionner le menu Fichier / Graver le CD...
     
  8. Le CD ainsi obtenu est bootable!
    Windows XP PRO :



    Windows 2000 SP3 :



    capture d'écran d'une installation de Windows 2000 Server + SP3
    effectuée avec les méthodes décrites ci-dessus.

Correction du bug "Couldn't find NTLDR" survenant avec NERO

Bon nombre d'utilisateurs de NERO ont été confrontés à un problème lorsqu'ils ont voulu démarrer l'ordinateur avec un CDROM créé avec  la procédure précédente.
Le message "Couldn't find NTLDR" s'affiche à l'écran, alors que ce fichier existe bien dans la racine, et tout démarrage est impossible.

Cela est du à un paramètre erroné dans la configuration de NERO
Le site de NERO signale ce problème : http://www.ahead.de/en/content/helptool/609.htm
En  résumé, le standard ISO9660 prévoit qu'il y ait toujours un numéro de version après les fichiers. Or ce numéro perturbe le programme d'amorce  du CD de Windows.

Pour corriger cela, et empêcher l'inscription de ce n° de version, dans la clef :

HKEY_CURRENT_USER\Software\Ahead\Nero - Burning Rom\General

il faut que l'entrée "AddISOFileVersion" de type REG_DWORD contienne la valeur 0x00000000 (ou soit absente)

(au lieu de 0x00000001)

Afin d'éviter des erreurs de manipulation, on peut télécharger le fichier hotfixNERO.reg qu'il suffit de fusionner dans la Base de Registres en effectuant un double-clic depuis l'explorateur de Windows.

Ce fichier contient les lignes suivantes :

REGEDIT5

[HKEY_CURRENT_USER\Software\Ahead\Nero - Burning Rom\General]
"AddISOFileVersion"=dword:00000000
 

Merci à Sébastien RIPOCHE qui m'a signalé cette solution.