Partager via


Ajouter un mécanisme de récupération à votre image principale IoT Windows 10

Vous pouvez ajouter un mécanisme de récupération à votre image avec WinPE en tant que système d’exploitation sécurisé et fichiers WIM en tant que récupération sw à partir de la partition de récupération, en suivant les étapes fournies ci-dessous.

Pour plus d’informations sur les mécanismes possibles, consultez récupération Windows 10 IoT Standard.

Étape 1 : Mettre à jour la disposition de l’appareil avec la partition de récupération

Dans le fichier devicelayout.xml, vous ajoutez une nouvelle partition MMOS avec les attributs suivants

  • Système de fichiers FAT32
  • Taille minimale de 2 Go (pour prendre en charge winPE wim et wims de récupération)
  • Type de partition
    • GPT : {ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}
    • MBR : 0x07

Exemple d’extrait de code XML fourni ci-dessous pour un appareil GPT (suppose une taille de secteur de 512)

<Partition>
    <Name>MMOS</Name>
    <FileSystem>FAT32</FileSystem>
    <TotalSectors>4096000</TotalSectors>
    <Type>{ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}</Type>
</Partition>

Voir aussi disposition de l’appareil QCDB410C

Exemple d’extrait de code xml fourni ci-dessous pour un appareil MBR

<Partition>
    <Name>MMOS</Name>
    <FileSystem>FAT32</FileSystem>
    <TotalSectors>4096000</TotalSectors>
    <Type>0x07</Type>
</Partition>

Voir aussi Disposition des appareils de récupération MBR 8 Go

Étape 2 : Configurer les paramètres BCD

Au cours de cette étape, la partition MMOS nouvellement ajoutée est définie comme une partition démarrable dans les paramètres BCD et la séquence de récupération est activée et configurée pour démarrer dans cette partition. Ces paramètres sont disponibles dans les packages ci-dessous que vous pouvez facilement utiliser. Sélectionnez packages GPT ou MBR en fonction de votre appareil.

Étape 3 : Préparer l’image WinPE

Windows 10 ADK Version 1709 contient l’environnement de préinstallation Windows 10 pour toutes les architectures (x86/amd64 et arm). Pour Windows 10 ADK Version 1809, vous devez installer le module complémentaire Windows PE pour ADK. Dans ce WinPE, vous ajoutez les éléments suivants :

  • Scripts de récupération utilisés pour le processus de récupération sur l’appareil

    • startnet.cmd, startnet_recovery.cmd: scripts prédéfinis du répertoire templates (voir templates\recovery).
    • fichiers config : fichiers générés en fonction de la disposition de l’appareil, placés dans Build\<arch>\<bspname>\recovery.
  • Fichiers de personnalisations de récupération (facultatif)

    • RecoveryGUI.exe : interface utilisateur simple facultative pour masquer l’invite de l’interpréteur de commandes de récupération sur l’appareil. Le recoveryGUI.exe peut être une application C++ créée pour le processeur cible ou un Windows .NET Framework 4 à partir de l’application. Newwinpe.cmd doit être modifié pour ajouter des fonctionnalités .NET Framework 4 à l’image WinPE.
    • pre_recovery_hook.cmd et post_recovery_hook.cmd: hooks facultatifs pour ajouter des actions supplémentaires avant et après le processus de récupération.
    • Placez ces fichiers dans le Source-<arch>\bsp\<bspname>\WinPEExt\recovery dossier .
  • Pilotes BSP (facultatif)

    • Vous devrez peut-être ajouter des pilotes bsp à l’image winpe pour démarrer/écrire dans le stockage, sur la plateforme de votre appareil.
    • Placez les pilotes requis dans le Source-<arch>\bsp\<bspname>\WinPEExt\drivers dossier.

Vous pouvez créer l’image WinPE pour le bsp avec le contenu ci-dessus à l’aide de la commande New-IoTWindowsImage dans IoTCorePShell

New-IoTWindowsImage <product> <config>
(or) newwinpe <product> <config>

Ce script génère le winpe à l’adresse Build\<arch>\<product>\<config>\winpe.wim.

Étape 4 : Mettre à jour le fichier manifeste de fonctionnalité et OEMInputFile

  • Mettez à jour le <FM.xmlbspname> avec les modifications suivantes (voir QCDB410CFM.xml exemple)

    • Incluez le nouveau package de disposition d’appareil, en spécifiant le nouveau nom SOC , QC8016-R dans l’exemple ci-dessous.
    <DeviceLayoutPackages>
       <PackageFile SOC="QC8016-R" Path="%PKGBLD_DIR%" Name="%OEM_NAME%.QCDB410C.DeviceLayout-R.cab" />
       <PackageFile SOC="QC8016" Path="%BSPPKG_DIR%" Name="Qualcomm.QC8916.DeviceLayout.cab" />
    </DeviceLayoutPackages>    
    
  • Mettez à jour le <nom_produit>/TestOEMInput.xml (et RetailOEMInput.xml) avec les modifications suivantes (voir Exemple de récupération)

    • Spécifiez le nom SOC tel que défini dans le <FM.xml bspname>

      <SOC>QC8016-R</SOC>
      
    • Inclure la fonctionnalité RECOVERY_BCD dans la section OEM

      <OEM>
      ...
      <Feature>RECOVERY_BCD</Feature>
      ...
      </OEM>
      
  • Mettez à jour pour oemcustomization.cmd appeler le Recovery.BcdEdit.cmd

    REM The below should be called on every boot
    if exist C:\RecoveryConfig\Recovery.BcdEdit.cmd (
        call C:\RecoveryConfig\Recovery.BcdEdit.cmd
    )
    

Étape 5 : Générer l’image de récupération à l’aide de New-IoTRecoveryImage

# Build all packages
New-IoTCabPackage All
(or) buildpkg All
# Build the product image
New-IoTFFUImage <product> <config>
(or) buildimage <product> <config>
# Build the recovery image
New-IoTRecoveryImage <product> <config>
(or) buildrecovery <product> <config>

Cela génère le fichier de récupération en tant que Flash_Recovery.ffu