====== Créer un DVD (ou CD) multibootable ultime pour PC ====== * [[tutoriel:os:multiboot:win7:start]] 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 !__** Ces pages sont la compilation des infos que j'ai glanées ici ou là (encore en cours d'élaboration) [[logiciel:disques:dvd:bcdw:start]] ===== 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/ * [[http://severinterrier.free.fr/Boot/UltimeDVD/|Créez votre DVD (ou CD) ultime pour PC]] * [[http://www.msfn.org/board/topic/74862-how-to-multi-boot-dvd-guide/|[How To] Multi-boot DVD Guide]] (en anglais) * [[tutoriel:os:multiboot:dvd:dvd_multibootreduirelataille]] * pour windows 7 : [[http://www.forum-unattend.fr/phpBB3/viewtopic.php?f=30&t=428]] * [[http://www.911cd.net/forums//index.php?showtopic=21956&pid=149573&mode=threaded&start=|Version améliorée de BCDW 2]] * [[http://bootcd.narod.ru/bcdw_e.htm|Site d'origine (en russie)]] Autres pages : [[tutoriel:os:multiboot:dvd:en_vrac]] ===== 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 CD * lancer 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 : * [[logiciel:disques:dvd:bcdw:start]] * * [[systeme:bcdw]] * [[systeme:cdshell]] * [[systeme:bootscriptor|]] * Nous utiliserons la dernière version, améliorée disponible ici : [[http://www.911cd.net/forums//index.php?act=attach&type=post&id=1098|2.01a, RescueCD]], avec les explications sur le forum : [[http://www.911cd.net/forums//index.php?showtopic=21956&pid=149573&mode=threaded&start=|[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é)enregistrable * les **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 : (__[[http://frappe-web.com/Logiciels/AIO/IMA.zip|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 (__[[http://frappe-web.com/Logiciels/AIO/DAT.zip|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 __[[http://www.cdburnerxp.se/|CDBurner XP]]__ * Un **éditeur de texte**, comme NotePad++ (site : [[http://notepad-plus-plus.org/]]) * un **convertisseur OEM <-> ANSI** (disponible __[[http://frappe-web/Logiciels/AIO/oemansi.zip|ici, sur mon site]]__) * un **éditeur hexadécimal**, comme __[[http://www.mh-nexus.de/programs.htm|HxD]]__ * **CDIMAGE**, version en ligne de commande : __[[http://unattended.msfn.org/files/global/CDIMAGE.EXE|CDImage (exe)]]__ ou version GUI : [[http://unattended.msfn.org/files/global/CDIMAGE_GUI.EXE]]) * **CD Shell**, disponible __[[http://frappe-web.com/Logiciels/AIO/CDshell 2.0.11/cds2011.zip|ici, sur mon site]]__ (le site officiel semble mort) ; Un manuel succinct se trouve ici : [[http://www.hotline-pc.org/cdshell.htm]] * **__[[http://www.winimage.com/winimafr.htm|WinImage en français]]__** * (facultatif, pour faire des tests) : un logiciel de virtualisation (__[[http://www.virtualbox.org/|Virtualbox]]__, __[[http://www.microsoft.com/downloads/details.aspx?FamilyId=6D58729D-DFA8-40BF-AFAF-20BCB7F01CD1&displaylang=en|Virtual PC]]__ ou __[[http://wiki.qemu.org/Main_Page|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 : **[[http://frappe-web.com/Logiciels/CreeArborescence.bat|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 : **[[http://frappe-web.com/Logiciels/CopieImagesDisquettes.bat|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 [[http://severinterrier.free.fr/Boot/UltimeDVD/DAT.zip|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. [[fr:tutoriel:os:multiboot:dvd:dvd_ultime: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 : * [[fr:tutoriel:os:multiboot:dvd:dvd_ultime:winnt4|Windows NT4]] * [[fr:tutoriel:os:multiboot:dvd:dvd_ultime:win2k|Windows 2000]] * [[fr:tutoriel:os:multiboot:dvd:dvd_ultime:winxp|Windows XP]] * [[dvd_multiboot:win2003|Windows 2003]] Pour une installation sans surveillance, se reporter à la page [[systeme:unattend::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\| * [[fr:tutoriel:os:multiboot:dvd:dvd_ultime:windows_95]] * [[fr:tutoriel:os:multiboot:dvd:dvd_ultime:windows_98]] * [[fr:tutoriel:os:multiboot:dvd:windows_millenium_me]] ==== 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ême * et ''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 **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 **W**indows **IM**aging. 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 * [[win7|]] ===== 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).| 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.". ===== 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. 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 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 {{ tutoriel:os:multiboot:dvd:dvd_ultime:create_boot_folder.cmd.zip |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 [[http://unattended.msfn.org/unattended.xp/view/web/31/|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 * Svcpack.inf peut être fourni sous le nom svcpack.in_, il suffit d'y extraire svcpack.inf avec l'utilitaire [[http://xpero.msfn.org/downloads/expander/eXPander15.rar|eXPander]] (que l'on trouvera [[http://www.msfn.org/board/XPero-s-utilities-t82191.html|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. ==== 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 [[http://www.tech-hints.com/prog/cdimage.zip|CDImage en ligne de commande]], mais on peut aussi suivre celui de la [[http://www.tech-hints.com/prog/cdimagegui.zip|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-boot * Installe 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 logiciels * Détermine quels logiciels installer dans quel OS * On peut encore utiliser //OEMPreInstall=Yes// et //[GuiRunOnce]// dans //winnt.sif// pour lancer d'autres logiciels * On peut "slipstreamer" des drivers pour chaque OS que l'on veut, en n'en ayant qu'une seule copie * On peut utiliser des méthodes post-installation (RunOnceEx, kTool, WPI, WIHU, XPlode, whatever) ===== En pratique ===== ===== Compléments ===== ==== Ajout de Windows 98 ==== Suivre ce [[http://www.msfn.org/board/How-To-Multi-boot-DVD-Guide-t74862.html&st=25|guide]]. ==== Ajout de drivers ==== Suivre ce [[http://www.msfn.org/board/Drivers-from-CD-Simple-Method-t51406.html|guide]] ==== Ressources supplémentaires ==== * [[http://www.msfn.org/board/Completed-Setup-Billboards-t38610.html|Création d'écrans de démarrage]] (ou apprendre comment en créer des personnalisés [[http://www.msfn.org/board/How-to-make-your-own-Billboards-t73617.html|ici]]). * Microsoft Deployment Tools chez [[http://www.microsoft.com/downloads/details.aspx?FamilyId=3E90DC91-AC56-4665-949B-BEDA3080E0F6&displaylang=en|Microsoft]] et [[http://rapidshare.de/files/16204582/WindowsXP-KB838080-SP2-DeployTools-ENU.cab|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