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.
- Package Recovery.GPT-BCD
- Package Recovery.MBR-BCD
- Recovery.BCD.xml déclare la disponibilité de la partition MMOS.
- Package Recovery.GPT-BcdEdit
- Package Recovery.MBR-BcdEdit
- Recovery.BcdEdit.cmd active la séquence de récupération et configure pour démarrer dans la partition MMOS.
É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
etpost_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 leRecovery.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