Créer un DVD (ou CD) multibootable ultime pour PC

Pour ne pas multiplier les CDs, on peut regrouper sur un dvd ou cd unique plusieurs installateurs pour des systèmes d'exploitation ou pour des logiciels (par ex. Office) dont on possède évidemment la licence originale !

<note>Ces pages sont la compilation des infos que j'ai glanées ici ou là (encore en cours d'élaboration)</note>

Bootable CD Wizard : Gestionnaire de CD Bootable à images multiples

sources

CDshell : http://www.cdshell.org/, aujourd'hui disparu mais encore dans les archives d'internet : http://wayback.archive.org/web/20100701000000*/http://www.cdshell.org/Créez votre DVD (ou CD) ultime pour PC[How To] Multi-boot DVD Guide (en anglais)Réduire la taille du DVD multibootpour windows 7 : http://www.forum-unattend.fr/phpBB3/viewtopic.php?f=30&t=428Version améliorée de BCDW 2Site d'origine (en russie)Autres pages :

En vrac, quelques notes glanées ici ou là

Introduction

Nous allons créer un DVD (ou un CD si tout tient dessus) de démarrage (“bootable”) capable de :

installer plusieurs versions de Windows : 95, 98 SE, Me, NT, 2000, XP (Home, Pro, Media Center, avec un SPx ...), Server 2003 (Standard, Enterprise, Web, Data Center)...utiliser Bart PE, une version réduite autonome d'XP (ou 2003) avec interface graphique, multitâche, NTFS...utiliser des distributions Linux autonomes, comme Knoppix, Slax...intégrer tous les outils de Ultimate Boot CDlancer des outils de dépannage/diagnostic basés sur des (images de) disquettes de démarrage DOS, Linux ou autre.installer les programmes windows (ou DOS) que l'on veut.stocker des données.A chacun de choisir ce qu'il veut intégrer...

Deux méthodes de travail sont possibles :

faire toutes les étapes pour un OS, puis on recommence depuis le début avec l'OS suivant.ou faire l'étape 1 pour tous les OS, puis l'étape suivante pour tous les OS et ainsi de suite... Ce peut être une bonne idée car si quelque chose se passe mal, on sait où chercher : on gagne du temps car on ne peut tester le DVD qu'une fois l'image ISO créée.Plusieurs logiciels peuvent être utilisés :

Nous utiliserons la dernière version, améliorée disponible ici : 2.01a, RescueCD, avec les explications sur le forum : [Tutorial] How to make a multiboot CD/DVD, This one works

De quoi aurons-nous besoin ?

Outre du temps et de la patience (il faut être méthodique et posé...), il nous faut :

Assez d'espace disque (+5 GB pour être tranquille)un graveur de DVD (ou de CD)un support (ré)enregistrableles CDs d'installation (ou les isos) des OS que l'on veut regrouper sur le DVD.Régler l'affichage de l'explorateur de fichiers de windows (Outils -> Options, onglet Affichage) pour voir tous les fichiers (y compris système et cachés) avec leur extension.images *.IMA des disquettes de démarrage pour la famille Windows 9x (voici celles que j'utilise : (sur mon site). Décompresser le fichier zip dans un répertoire (par exemple c:\dk)images *.DAT des disquettes de démarrage pour la famille Windows NT (sur le site : http://severinterrier.free.fr/Boot/UltimeDVD/DAT.zip ou leur copie (sur mon site). Décompresser le fichier zip dans le même répertoire (par exemple c:\dk)
et des logiciels :

un logiciel de gravure sachant graver une image ISO, comme CDBurner XPUn éditeur de texte, comme NotePad++ (site : http://notepad-plus-plus.org/)un convertisseur OEM <-> ANSI (disponible ici, sur mon site)un éditeur hexadécimal, comme HxDCDIMAGE, version en ligne de commande : CDImage (exe) ou version GUI : http://unattended.msfn.org/files/global/CDIMAGE_GUI.EXE)CD Shell, disponible ici, sur mon site (le site officiel semble mort) ; Un manuel succinct se trouve ici : http://www.hotline-pc.org/cdshell.htmWinImage en français(facultatif, pour faire des tests) : un logiciel de virtualisation (Virtualbox, Virtual PC ou Qemu)

Préparation

Choisir un emplacement pour être le répertoire racine (par exemple C:\DVD, que nous figurerons par [/]), comportant environ 11 Go libres (avant optimisation par CDIMAGE qui évite les doublons, les fichiers peuvent occuper 7 Go), créer la structure suivante (c'est un exemple de dénominations) :

[/] --> recevra les images des disquettes de boot pour les OS de type 9x et les répertoires pour les disquettes de boot des OS de type NT
| BOOT --> recevra le système cdshell
|
| PRO1 (pour XP Pro, recevra PRO1.DAT)
| HOM1 (pour XP Home, recevra HOM1.DAT)
| 2PRO (pour 2000 Pro, recevra 2PRO.DAT)
| NT4W (pour NT4 WorkStation; recevra NT4W.DAT)
|
| SETUP --> recevra les contenus de tous les cds (DVD\SETUP\WINXPPRO par exemple)
| WIN95
| WIN98SE
| WINME
| WINXPPRO
| WINXPHOM
| WIN2000
| | ADVSERV (2000 Advanced Server)
| | SERVER (2000 Server)
| | PRO (2000 Pro)
| WINNT4
| | SERVER (NT4 Serveur)
| | WRKSTN (NT4 WorkStation)
| WIN2003
| DCT (2003 Datacenter)
| ENT (2003 Enterprise)
| STD (2003 Standard)
| WEB (2003 Web)

On peut créer cette arborescence d'un coup avec le script batch suivant (utilisable sous XP, téléchargeable sur mon site : ici) :

@echo off set racine= set /p racine="Chemin complet de la racine du dvd : for %%i in (SETUP, BOOT, PRO1, HOM1, 2PRO, NT4W) do md %racine%\%%i for %%i in (WIN95, WIN98SE, WINME, WINXPPRO, WINXPHOM, WIN2000, WINNT4, WIN2003) do md %racine%\setup\%%i for %%i in (ADVSERV, SERVER, PRO) do md %racine%\setup\WIN2000\%%i for %%i in (SERVER, WRKSTN) do md %racine%\setup\WINNT4\%%i for %%i in (DCT, ENT, STD, WEB) do md %racine%\setup\WIN2003\%%i pause

Placer toutes les images des disquettes de démarrage (*.IMA pour la famille 9x et *.DAT pour la famille NT), dans un même répertoire,

On peur le batch suivant (téléchargeable sur mon site : ici) pour les installer au bon endroit :

@echo off set racine= set /p racine="Chemin complet de la racine du dvd : " if exist %racine% goto racineExiste echo Le chemin %racine% n'existe pas. goto Fin :racineExiste set dskt= set /p dskt="Chemin complet du répertoire contenant les images des disquettes de démarrage de Windows (*.IMA et *.DAT) : " echo famille 9x for %%i in (WIN95, WIN98SE, WINME) do ( if exist %dskt%\%%i.IMA copy %dskt%\%%i.IMA %racine%\ if not exist %dskt%\%%i.IMA echo erreur : %dskt%\%%i.IMA introuvable... ) echo famille NT for %%i in (NT4S, NT4W, 2ADV, 2SRV, 2PRO, PRO1, HOM1, 3DCT, 3ENT, 3WEB) do ( if exist %dskt%\%%i.DAT copy %dskt%\%%i.DAT %racine%\ if not exist %dskt%\%%i.DAT echo erreur : %dskt%\%%i.DAT introuvable... ) :Fin pause

Décompresser le fichier CDShell.zip et :déplacer le contenu du répertoire BOOT de cdshell dans le répertoire DVD\BOOT\déplacer le répertoire TOOLS dans le répertoire BOOT (-->DVD\BOOT\TOOLS\)Le répertoire SETUP recevra les contenus des différents CDs.Pour simplifier la tâche, on peut télécharger une archive contenant les images des secteurs de boot modifiés pour les différents systèmes d'exploitation. Il suffira d'utiliser les images de secteurs de boot nécessaires...

Nous utilisons la totalité des cds d'installation. Cela permet d'utiliser les fichiers setup.exe (ou install.exe) pour chaque OS, pour éventuellement vérifier la compatibilité matériel, ou faire des mises à jour depuis une version plus ancienne de Windows.

processusboot

Préparation des fichiers

OS de la famille Windows NT (NT4, 2000, XP, 2003)

La procédure est exactement la même pour les différents systèmes d'exploitation de la famille NT.

Deux solutions :

soit on fait toutes les étapes pour un OS, puis on vous recommence depuis le début avec l'OS suivant,soit on fait l'étape 1 pour tous les OS, puis l'étape suivante pour tous les OS et ainsi de suite...

Version de Windows	Nom du fichier de secteur de boot	Répertoire de démarrage	Répertoire contenant les fichiers d'installation
NT4 Serveur	NT4S.DAT	D:\DVD\NT4S\	D:\DVD\SETUP\WINNT4\SERVER
NT4 WorkStation	NT4W.DAT	D:\DVD\NT4W\	D:\DVD\SETUP\WINNT4\WRKSTN
2003 Datacenter	3DCT.DAT	D:\DVD\3DCT\	D:\DVD\SETUP\WIN2003\DCT\
2003 Enterprise	3ENT.DAT	D:\DVD\3ENT\	D:\DVD\SETUP\WIN2003\ENT\
2003 Standard	3STD.DAT	D:\DVD\3STD\	D:\DVD\SETUP\WIN2003\STD\
2003 Web	3WEB.DAT	D:\DVD\3WEB\	D:\DVD\SETUP\WIN2003\WEB\
XP Pro	PRO1.DAT	D:\DVD\PRO1\	D:\DVD\SETUP\WINXPPRO\
XP Home	HOM1.DAT	D:\DVD\HOM1\	D:\DVD\SETUP\WINXPHOM\
2000 Advanced Server	2ADV.DAT	D:\DVD\2ADV\	D:\DVD\SETUP\WIN2000\ADVSERV
2000 Server	2SRV.DAT	D:\DVD\2SRV\	D:\DVD\SETUP\WIN2000\SERVER
2000 Pro	2PRO.DAT	D:\DVD\2PRO\	D:\DVD\SETUP\WIN2000\PRO

Voici la méthode pour chaque système :

Pour une installation sans surveillance, se reporter à la page start

OS de la famille Windows 9x (95, 98 SE, ME)

Pour les systèmes d'exploitation de la famille 9x, la méthode est différente de celle des OS de la famille NT, qui nécessitent un répertoire de démarrage.

Ici, pas besoin de répertoire de démarrage, mais d'une (image de) disquette avec support CD-Rom, qui lance l'installation depuis le CD.

Deux solutions :

soit on fait toutes les étapes pour un OS, puis on vous recommence depuis le début avec l'OS suivant,soit on fait l'étape 1 pour tous les OS, puis l'étape suivante pour tous les OS et ainsi de suite...Nous prendrons l'exemple de Windows 98 SE.

La procédure est exactement la même pour les différents systèmes d'exploitation de la famille 9x. Il suffira de répéter la méthode pour chaque OS à installer, en modifiant les noms des répertoires et des fichiers selon le tableau ci-dessous.

Version de Windows	Nom de l'image	Répertoire contenant les fichiers d'installation
95	WIN95.IMA	D:\DVD\SETUP\WIN95\
98 SE	WIN98SE.IMA	D:\DVD\SETUP\WIN98SE\
ME	WINME.IMA	D:\DVD\SETUP\WINME\

OS de la famille Windows Vista (Vista, Seven)

Le systeme de WINDOWS 7 (c'est presque la même chose pour WINDOWS VISTA) utilise principalement 2 fichiers :

boot.wim qui contient les informations concernant le boot lui-mêmeet install.wim qui contient tout (fichiers, configurations, softs,...) ce qui concerne les différentes versions d'installations présentes sur le DVD de WINDOWS 7. C'est ce fichier qui installe notre WINDOWS 7<note> Le Format de fichier .WIM

En fait l'installation de ces OS consiste en un déploiement d'une image WIM identique sur chaque PC.

WIM signifie Windows IMaging. C'est un fichier image disque. Ce format est utilisé nativement pour l'installation de Windows Vista, de Windows Server et de WINDOWS 7.

Contrairement aux fichiers images orientés secteurs (.iso, .cue, ...), un fichier WIM est orienté partitions ; il contient, en plus des fichiers d'une partition, des métadonnées sur les fichiers contenus dans la partition.

Le format WIM est donc indépendant du matériel (taille des secteurs) et les fichiers identiques au sein d'un fichier WIM (qui peut contenir plusieurs images de partitions) ne sont stockés qu'une fois. Comme ceux ci sont stockés dans une base WIM, la surcharge réseau et disque est réduite lors de leur ouverture.

En outre, les images WIM doivent être déployées sur un volume ou une partition déjà créés. Cela peut se faire au sein de l'environnement de pré-installation Windows PE 2 à l'aide de la commande diskpart

Les images contenues au sein d'un fichier WIM sont référencées par un numéro d'index. Un fichier WIM peut aussi être partitionné en de multiples fichiers (.svm) afin, par exemple, d'être enregistrés sur CD ou DVD.

Explication technique sur le FORMAT .WIM :

L'en-tête (WIM Header) : définit le contenu, des informations sur le fichier (version, taille, compression) et l'emplacement des éléments clefs.Fichiers (File Ressources) : il s'agit du package à proprement parler, contenant les fichiers.Métadonnées (Metadata Ressource, une ressource de Métadonnées par image) : fournissent les attributs de fichiers et la structure des répertoires des images capturées.Table d'allocation (Lookup Table) : contient les emplacement des fichiers dans les images.XML : informations additionnelles sur les images (au format XML)Table d’intégrité : informations d’intégrité permettant de s'assurer de l'application correcte des images lors de leur déploiement.Pour plus d'information, voir : http://fr.wikipedia.org/wiki/Format_Windows_Imaging_(WIM) et http://toutwindows.com/ws2008_wds_WIM.shtml </note>

Nettoyage des fichiers inutiles

Pour que notre DVD fonctionne correctement, il faut supprimer quelques fichiers inutiles (qui peuvent êtres gênants).

Chercher dans le répertoire DVD et ses sous répertoires les fichiers suivants :

Type ou nom de fichier	Suppression possible ou action à effectuer
bootfix.bin	Ces fichiers affichent “Appuyez sur n'importe quelle touche pour démarrer depuis le cd...”. On peut supprimer ces fichiers pour lancer directement l'installation du système d'exploitation que l'on a choisi.
.bak	Les fichiers .bak sont des fichiers de sauvegarde qui ont été créés par votre éditeur texte et/ou hexadécimal. Ils peuvent êtes supprimés.
txtsetup.si_	S'il en existe, ils peuvent être supprimés.
txtsetup.sif	On peut supprimer des fichiers “txtsetup.sif” qui seraient dans des répertoires “i386”. Attention de NE PAS supprimer ces fichiers s'ils sont dans les répertoires de démarrage (PRO1, PRO2, 3ENT, NT4S, etc).
setupldr.bi_	S'il en existe, ils peuvent être supprimés.
setupldr.bin	On peut supprimer des fichiers “setupldr.bin” qui seraient dans des répertoires “i386”. Attention de NE PAS supprimer ces fichiers s'ils sont dans les répertoires de démarrage (PRO1, PRO2, 3ENT, NT4S, etc).

<note tip>Si on ne fait pas ce nettoyage de fichiers, on aura des messages d'erreur comme “Le programme d'installation ne trouve pas le contrat de licence d'utilisateur final.”.</note>

Intégration de Ultimate Boot CD

On peut intégrer au DVD tout le contenu du Cd “Ultimate Boot CD”. Ultimate Boot CD regroupe plusieurs utilitaires gratuits, de partitionnement, formatage, récupération...

Cette procédure fonctionne à partir de la version 2.2 de Ultimate Boot CD, qui utilise également CD Shell, ce qui simplifie son intégration dans le DVD.

Voici la procédure à suivre (exemple de Ultimate Boot CD 5.0.3).

Créer le répertoire “D:\DVD\SETUP\UBCD503\, qui contiendra tous les fichiers d'Ultimate Boot CD. Le nom du dossier rappelle la version.Télécharger Ultimate Boot CD, et décompacter les fichiers jusqu'à obtenir le fichier .ISO (ubcd503.iso).Extraire tous les fichiers et répertoires, depuis l'image ISO vers le répertoire “D:\DVD\SETUP\UBCD503\”. On utilisera pour cela des outils comme WinISO. Tout extraire dans un répertoire permet éventuellement de recréer le CD d'origine de Ultimate Boot CD, à partir de ce répertoire et du fichier image du secteur de boot.Cela permet d'accéder au contenu des répertoires qui ne seront pas ramenés dans la racine (tels la documentation des logiciels inclus, les quelques pages du site d'Ultimate Boot CD...).Copier tout le contenu de D:\DVD\SETUP\UBCD503\IMAGES\ dans D:\DVD\IMAGES\. Cela recrée la même arborescence de fichiers que sur le CD d'origine, ainsi l'appel des images de boot peut se faire sans manipulation particulière.Copier tout le contenu de D:\DVD\SETUP\UBCD503\BOOT\ dans D:\DVD\UBCD\.Créer le fichier image du secteur de boot. Pour cela, on peut utiliser BBIE : Ouvrir une ligne de commande, et taper la commande

bbie ubcd503.iso

(si les 2 fichiers sont dans le même répertoire).

Renommer le fichier image1.bin obtenu en ubcd503.dat que l'on place dans D:\DVD\IMG_BOOT\.Editer ubcd503.dat avec un éditeur hexadécimal (comme Free Hex Editor). Rechercher les occurences de /boot et les remplaçer par /ubcd. Sauvegarder le fichier.Voila, tous les fichiers sont prêts pour intégrer Ultimate Boot CD.

Pour lancer Ultimate Boot CD, il faudra ajouter dans le fichier cdshell.ini une commande chain /IMG_BOOT/ubcd503.dat.

Ce qui peut donner une ligne complète de la forme suivante (touche U pour lancer Ultimate Boot CD) :

if $lastKey == key[U]; then chain /IMG_BOOT/ubcd503.dat

Ajout de fichiers permettant d'installer des programmes windows

Ajout de fichiers personnels

Arborescence du DVD

Vérifions maintenant que l'arborescence de notre DVD ressemble à ce qui suit. Si c'est le cas, tout va bien.

<note tip>Ce qui suit n'est qu'un exemple qui comporte XP Pro et Server 2003, mais on peut ajouter autant de versions qu'on veut tant qu'elles tiennent sur le DVD</note>

C:\DVD\ - Source du DVD Multi-boot
C:\DVD\BOOT\ - répertoire CDShell
C:\DVD\i386\ - répertoire réduit pour Windows XP Pro (facultatif)
C:\DVD\PRO1\ - 1er répertoire de boot pour XP Pro
C:\DVD\PRO2\ - 2e répertoire de boot pour XP Pro
C:\DVD\3ST1\ - 1er répertoire de boot pour Server 2003
C:\DVD\3ST2\ - 2e répertoire de boot pour Server 2003
C:\DVD\SOFTWARE\SOFTWARE\ - répertoire contenant les logiciels
C:\DVD\SOFTWARE\Install.cmd - fichier CMD qui s'occupe de l'installation des logiciels
C:\DVD\SOFTWARE\SOFTWARE_ALL\ - répertoire contenant le logiciel pour tous les OS
C:\DVD\SETUP\XP\Professional\i386\CMD\RunOnce.cmd
C:\DVD\SETUP\Server2003\Standard\I386\CMD\RunOnce.cmd

Créer le menu de démarrage multiboot

Création d'un menu de boot (CDShell)

L'écriture de script avec CD Shell est très simple : il suffit de modifier l'exemple que l'on trouvera à http://www.msfn.org/board/post-a13636-cdshell.ini selon les besoins.

Rester simple, pour le menu de boot, utiliser CD Shell, des fichiers winnt.sif simples, etc. On pourra raffiner, seulement après avoir terminé avec succès et booté tous les OS. On trouvera à la fin de ce guide quelques options pour raffiner.

Télécharger le fichier cmd à dézipper (sur mon site)

Le lancer et naviguer jusqu'au répertoire du DVD. En se terminant, il ouvre create_boot_folders.cmd ; le modifier selon les besoins.

Il crée le répertoire de boot PRO1, modifie setupldr.bin, modifie txtsetup.sif, crée le secteur de boot PRO1.bin et copie les fichiers repères WIN51, WIN51IP et WIN51IP.SP1 (WIN51IP.SP2 si Service Pack 2). (Noter que PRO1.bin a exactement 4 lettres en majuscule)

call create_boot_folder.cmd C:\DVD\SETUP\XP\Professional C:\DVD PRO1 FOO 0

Avec NotePad, créer un fichier texte dans PRO1 et le renommer en winnt.sif.

[GuiUnattended]
DetachedProgram="%SystemRoot%\System32\cmd.exe /c @ECHO something>%SystemDrive%\XPPRO.TAG"

Cette instruction dit à winnt.sif de créer un fichier repère qui identifie l'OS en cours d'installation. Dans ce cas, le fichier repère sera XPPRO.TAG, mais on peut spécifier ce qu'on veut.

Création de RunOnce.cmd

Créer un fichier RunOnce.cmd dans DVD\SETUP\XP\Professional\i386\CMD\ et y recopier le code.RunOnce.cmd recherche Install.cmd sur le DVD et le lance.

@echo off
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist "%%i:\software\Install.cmd" call %%i:\software\Install.cmd
exit

Pour cela, on peut se servir de la méthode RunOnceEx (explications en anglais). RunOnceEx ne se lance qu'à la première connexion, de sorte que les applications peuvent avoir besoin de redémarrage. La méthode ci-dessus contourne ce problème : elle est “sans redémarrage”.

Lancement de RunOnce.cmd à partir de Svcpack.inf

Ajouter à svcpack.inf dans DVD\SETUP\XP\Professional\i386\ les lignes suivantes :

[SetupData]CatalogSubDir="\i386"
[SetupHotfixesToRun]
CMD\RunOnce.cmd

<note tip>

Svcpack.inf peut être fourni sous le nom svcpack.in_, il suffit d'y extraire svcpack.inf avec l'utilitaire eXPander (que l'on trouvera ici), puis d'effacer svcpack.in_.On peut voir que Svcpack.inf lancera RunOnce.cmd à l'étape T-13.Il faut adapter le catalogue [ProductCatalogsToInstall] dans svcpack.inf selon le nouveau CatalogSubDir=“\i386” car il peut pointer sur un autre emplacement (ce qui donnerait un message d'erreur pendant l'installation). S'il n'y a pas de référence sous, [ProductCatalogsToInstall], aucun souci.Recompresser (facultatif) svcpack.inf en svcpack.in_ avec l'utilitaire eXPander.</note>

Creation du fichier Install.cmd

Dans DVD\SOFTWARE\, créer un fichier Install.cmd et y recopier ce qui suit :

@echo off
REM next line makes sure the *.TAG extension is identified
setlocal enableextensions
REM checks for the XPPRO.tag file and go to the corresponding section:
if exist %SystemDrive%\XPPRO.TAG call :XPPRO
REM checks for the XPPRO2.tag and go to the corresponding section:
if exist %SystemDrive%\XPPRO2.TAG call :XPPRO2
REM checks for the SERVER2003.tag file and go to the corresponding section:
[if exist %SystemDrive%\SERVER2003.TAG call :SERVER2003
REM End
goto :end
:XPPRO
REM Here we'll add the software to install to the XP Pro version. Example:
REM "%~dp0" refers to the full path the Install.cmd is in, so you don't have to worry about drive letters
start /wait %~dp0\Software\Program1.exe /s
start /wait %~dp0\Software\Program2.exe
start /wait %~dp0\Software\Program3.exe /qn
REM End this section
REM end of this section :
goto :end
:XPPRO2
REM Here we'll add the software to install to the XP Pro Unattended version. Example:
start /wait %~dp0\Software\Program1.exe /s
start /wait %~dp0\Software\Program2.exe
start /wait %~dp0\Software\Program3.exe /qn
REG IMPORT %~dp0\Software\Tweaks.reg
REM End this section
REM end of this section :
goto :end
:SERVER2003
REM Here we'll add the software to install to the Server 2003 version. Example:
REG IMPORT %~dp0\Software\Workstation.reg
start /wait %~dp0\Software\ProgramA.exe /s
start /wait %~dp0\Software\ProgramB.exe
REM End this section
REM end of this section :
goto :end
:end
REM Here we'll add the options for every OS.
start /wait %~dp0\SOFTWARE_ALL\AntiVirus.exe
start /wait %~dp0\SOFTWARE_ALL\Firewall.exe /s
REM Applying tweaks to the registry. Independent of the TAG:
REG IMPORT %~dp0\Software\Tweaks.reg
del /f /q %SystemDrive%\*.TAG
del /q /f %SystemRoot%\*.bmp
del /q /f %SystemRoot%\system32\dllcache\*.scr
del /q /f %SystemRoot%\system32\setupold.exe
del /q /f %SystemRoot%\system32\presetup.cmd
exit

Install.cmd recherche les fichiers repères ; quand il en trouve un, il fait l'action correspondante.

On constate que les applications sont installées directement depuis le DVD (sans copie sur le disque, ce qui gagne du temps) ; il est donc inutile d'employer OEMPreInstall=Yes ou [GuiRunOnce] dans winnt.sif, que l'on peut cependant encore employer pour lancer d'autres choses si besoin.

Ajout d'une option Unattended

Dans cette section, nous allons apprendre à ajouter une option qui permet une installation de Windows sans intervention.

Copier le répertoire PRO1 et le fichier PRO1.DAT en “Copie de PRO1” et “Copie de PRO1.DAT”Les renommer en PRO2 et PRO2.DATÉditer en hexadécimal PRO2.dat et descendre jusqu'à trouver “PRO1” dans la colonne de droite. Remplacer PRO1 par PRO2.Éditer en hexadécimal setupldr.bin dans le répertoire PRO1, faire Ctrl+H, chercher le Type: “Text String” “PRO1” et le remplacer par PRO2.Enregistrer le fichier sans faire de backup.Un clic sur “OK” et choisir “Replace All”. Il s'affiche “4 Occurrences Replaced”. Quand c'est fait, enregistrer le fichier sans faire de backup.Editer winnt.sif pour y ajouter les options unattended.C'est peut-être le moment de lire le fichier ref.chm dans Microsoft Deployment Tools, il explique comment régler winnt.sif pour une installation.

Le fichier winnt.sif permet de sauter quelques étapes fastidieuses de l'installation, comme de taper le numéro de série, définir la langue ou le clavier ou même de sauter toutes les étapes avec la commande UnattendMode=FullUnattended.

Une fois winnt.sif créé, lui ajouter ces lignes pour qu'il repère l'OS à installer :

[GuiUnattended]DetachedProgram="%SystemRoot%\System32\cmd.exe /c @ECHO something>%SystemDrive%\XPPRO.TAG"

Bien, nous avons maintenant une deuxième option de boot. Il est temps de l'ajouter au menu de boot, pour pouvoir la choisir. Ouvrir DVD\BOOT\cdshell.ini et y ajouter les lignes :

XP_Pro:
print c "\n\cXXMicrosoft Windows XP Professional \n"
print "1) Regular \n"
print "2) Unattended \n"
XP_Pro_Key:
if $lastKey == key[1]; then chain /PRO1.DAT
if $lastKey == key[2]; then chain /PRO2.DAT

Créer le fichier de démarrage (automatique) pour Windows

Créer le fichier ISO (CDImage)

Il ne nous reste plus qu'à créer l'ISO pour tester notre our DVD.

Nous suivrons le tutoriel de CDImage en ligne de commande, mais on peut aussi suivre celui de la version GUI de CDImage si on veut.

Placer cdimage.exe dans le même répertoire que le DVD :

C:\CDImage.exe
C:\DVD

Automatisation du processus

Créer un fichier batch que l'on peut lancer chaque fois que l'on veut créer l'ISO.

Pour cela, ouvrir le bloc-notes et y recopier le code ci-dessous. Enregistrer ce fichier où on veut et le renommer en .bat, comme C:\makeiso.bat.

DEL C:\*.ISO
start cdimage.exe -lDVD -t01/01/2006,12:00:00 -b\DVD\BOOT\loader.bin -h -n -o -m \DVD C:\AIODVD.iso
EXIT

Maintenant, chaque fois qu'on exécute makeiso.bat, il crée l'ISO pour nous.

Il reste à tester l'ISO (par exemple avec VMware) et ajouter d'autres OS !

Tester le fichier ISO (avec VmWare ou Virtual PC)

Graver le DVD (ou le CD) multiboot

Possibilités de la méthode

Création automatique de répertoires et de fichiers multi-bootInstalle tous les logiciels directement depuis le CD/DVD (pas besoin de les copier sur le disque, d'où gain de temps)Un seul fichier Install.cmd pour mettre à jour et entretenir les logicielsDétermine quels logiciels installer dans quel OSOn peut encore utiliser OEMPreInstall=Yes et [GuiRunOnce] dans winnt.sif pour lancer d'autres logicielsOn peut “slipstreamer” des drivers pour chaque OS que l'on veut, en n'en ayant qu'une seule copieOn peut utiliser des méthodes post-installation (RunOnceEx, kTool, WPI, WIHU, XPlode, whatever)

En pratique

Compléments

Ajout de Windows 98

Suivre ce guide.

Ajout de drivers

Suivre ce guide

Ressources supplémentaires

(ou apprendre comment en créer des personnalisés ici).Microsoft Deployment Tools chez Microsoft et Rapidshare. Ils contiennent le fichier ref.chm qui contient des infos sur la configuration de WINNT.SIF, ainsi que d'autres utilitaires.un exposé des possibilités de cdshell : http://www.hotline-pc.org/cdshell.htm