Share via


Cet article technique écrit par Vincent Caradec - Windows Core, Support Specialist -a pour vocation de vous aider dans la résolution d'un problème bien précis. La solution proposée ci-dessous a été utilisée avec succès par un certain nombre de professionnels de l'informatique ayant remonté ce disfonctionnement à notre service de support. Il se peut qu'elle ne réponde pas à votre problématique pour des raisons d'environnement ou de configuration différents. Si vous avez des questions, merci de contacter notre support technique.


Comment créer un Windows PE 2.x Multiboot 32 et 64 bit

Problématique

WinPe 2.x n’incluant pas de WoW (Windows on Windows), il n’est, par exemple, pas possible d’installer Windows Vista ou Serveur 2008 x64 à partir d’un WinPe 32 bit.

Objectif

Les limites de WinPe étant ce qu’elles sont, il est possible de contourner ce problème en créant un media de démarrage WinPe 2.x multiboot 32/64.

Prérequis

Au préalable il faut avoir créé les 2 WinPe suivants à partir du Waik 1.1 :

  • Un WinPe 32 bit : copype x86 d:\WinPe32
  • Un WinPe 64 bit : copype amd64 d:\WinPe64

Quelques connaissances sur WinPe 2.x, le BCD et Diskpart :

Et surtout il faut aimer la ligne de commande, mais si le but est d’utiliser WinPe, je suis sûr que vous l’aimez déjà !

Procédure

1. La partie fichier :

Renommer les boot.wim, par exemple :

  • D:\WinPe32\ISO\Sources\boot32.wim

  • D:\WinPe64\ISO\Sources\boot64.wim

    Note : il aurait également été possible de créer un répertoire D:\WinPe32\ISO\Sources64 contenant un boot.wim version 64
    Dans cet article, j'ai choisi la méthode qui me semble être la plus simple.

Recopier le boot64.wim dans le répertoire Sources du WinPe 32.xcopy D:\WinPe64\ISO\Sources\boot64.wim D:\WinPe32\ISO\Sources\boot64.wim

Le répertoire D:\WinPe32\ISO\Sources doit donc contenir les 2 Wims .

2. Mise à jour du BCD :

  • Ouvrir une console cmd et se déplacer dans le répertoire Boot
    cd /d d:\WinPe32\ISO\boot
  • Vérifier le contenu du BCD
    bcdedit -store BCD /enum

Windows Boot Manager
--------------------
identifier              {bootmgr}
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {default}
displayorder            {default}
toolsdisplayorder       {memdiag}
timeout                 30
Windows Boot Loader
-------------------
identifier              {default}
device                  ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
path                    \windows\system32\boot\winload.exe
description             Windows Setup
locale                  en-US
inherit                 {bootloadersettings}
osdevice                ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
systemroot              \windows
detecthal               Yes
winpe                   Yes
ems                     Yes

  • L’identifiant {7619dcc8-fafe-11d9-b411-000476eba25f} contient les informations relatives à votre RAM Disk
    • Vous pouvez voir le détail de ces informations via :
    • Pour simplifier les commandes ci-après, je vais utiliser RamDisk à la place de {7619dcc8-fafe-11d9-b411-000476eba25f}

Ce que nous allons faire:

Créer un nouveau Windows Boot loader, sur la base de celui déjà existant:
bcdedit -store BCD /copy {default} /d "Windows Pe 2.1 x64"

  • Le résultat de cette commande vous donne le GUID (l’identifiant) qu’il faudra utiliser pour modifier le second Windows Boot Loader
    • Pour simplifier les commandes ci-après, je vais utiliser GUIDx64 à la place de {da3a8f0a-63be-11dd-99bc-00118560a0e0}

Mettre à jour les chemins de Device et Osdevice pour qu'ils pointent vers les bons fichiers Wims

  • Mise à jour du premier Windows Boot Loader
    bcdedit -store BCD /set {default} description "Windows Pe 2.1 x86"bcdedit -store BCD /set {default} device ramdisk=[boot]\sources\boot32.wim,{ RamDisk }bcdedit -store BCD /set {default} osdevice ramdisk=[boot]\sources\boot32.wim,{ RamDisk }
  • Mise à jour du second Windows Boot Loader
    bcdedit -store BCD /set { GUIDx64 } device ramdisk=[boot]\sources\boot64.wim,{ RamDisk }bcdedit -store BCD /set { GUIDx64 } osdevice ramdisk=[boot]\sources\boot64.wim,{ RamDisk }

Cela devrait donner:

bcdedit -store BCD /enum

Windows Boot Manager
--------------------
identifier              {bootmgr}
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {default}
displayorder            {default}
                        {da3a8f0a-63be-11dd-99bc-00118560a0e0}
toolsdisplayorder       {memdiag}
timeout                 30
Windows Boot Loader
-------------------
identifier              {default}
device                  ramdisk=[boot]\sources\boot32.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
path                    \windows\system32\boot\winload.exe
description             Windows Pe 2.1 x86
locale                  en-US
inherit                 {bootloadersettings}
osdevice                ramdisk=[boot]\sources\boot32.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
systemroot              \windows
detecthal               Yes
winpe                   Yes
ems                     Yes
Windows Boot Loader
-------------------
identifier              {da3a8f0a-63be-11dd-99bc-00118560a0e0}
device                  ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
path                    \windows\system32\boot\winload.exe
description             Windows Pe 2.1 x64
locale                  en-US
inherit                 {bootloadersettings}
osdevice                ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
systemroot              \windows
detecthal               Yes
winpe                   Yes
ems                     Yes

Utilisation

Une fois le BCD mis à jour, il ne reste plus qu’à :

  • Soit générer une image ISO bootable du répertoire d:\WinPe32\ISO :
    • En  utilisant l’outil du Waik :cd /d d:\WinPe32oscdimg -l"WinPe 2.1 Multi" -n -betfsboot.com ISO WinPe21.iso
    • Puis attacher l’image ISO à une machine virtuelle ou bien graver l’ISO sur un Cd-Rom
  • Soit en recopiant le contenu du répertoire ISO à la racine d’une clé USB ayant une partition primaire active
    La procédure est entièrement décrite dans l’aide de WinPe incluse dans le Waik
    (Windows Pe User’s guide : Customizing Windows PE\Windows PE Walkthroughs\Walkthrough: Create a Bootable Windows PE RAM Disk on UFD)
    • Pour résumer voici la procédure diskpart:

Diskpart
select disk 1
clean
create partition primary
select partition 1
active
format fs=fat32
assign
exit

  - Puis recopier le contenu de l’arborescence WinPe en adaptant la lettre de lecteur :`xcopy c:\winpe32\iso\*.* /s /e /f e:\`