Cet article donne des explications sur la solution de Microsoft pour résoudre l’erreur d’installation du patch KB5034441 déployé en janvier 2024. Il propose au téléchargement un exécutable en français pour ceux qui sont rebutés par les lignes de commandes.
Comme tous les 2ème mardi de chaque mois, le 9 janvier 2024 Microsoft a déployé via Windows Update une série de patchs correctifs et de mise à jour de Windows10 et Windows11. Parmi ces derniers le patch KB5034441 refuse de s’installer sur certains ordinateurs.
Note ulérieure à cet article : en avril 2024, soit 4 mois après le patch KB5034441 et d'attente d’un correctif, Microsoft a annoncé que le problème ne peut pas être être corrigé et qu'il n'y aura pas de correction automatique de l’erreur 0x80070643. Les utilisateurs n'ont que la solution manuelle pour résoudre ce problème.
1 – A quoi sert le patch KB5034441 ?
Le patch KB5034441 a pour but de résoudre une vulnérabilité de sécurité décrite dans le CVE-2024-20666 qui est susceptible de permettre à un attaquant disposant d’un accès physique à une machine Windows d’accéder via WinRE aux données chiffrées par BitLocker.
Sur les dernières versions de Windows 11, la mise à jour de WinRE est automatisée. Les versions précédentes, notamment celles de Windows 10 nécessitent pour l’instant une intervention de l’utilisateur car la mise à jour de l’image de WinRE par le patch KB5034441 nécessite un agrandissement de la taille de la partition de récupération.
Dans un premier temps Microsoft a fourni des instructions pour redimensionner manuellement la partition afin d’installer la mise à jour WinRE qui demande un peu plus d’espace disque que celle qui était nécessaire jusqu’à présent (cliquer sur ce lien pour accéder à cet article).
Dans un second temps Microsoft a développé et proposé un exemple de script PowerShell KB5034957 pour aider les utilisateurs à automatiser la mise à jour de l’environnement de récupération WinRE en cas d’échec du patch KB5034441.
L’exploitation des instructions et du script PowerShell n’est pas forcément aisée pour quelqu’un qui n’est pas à l’aise avec les lignes de commande, d’autant plus que les messages du script sont en anglais. Pour vous faciliter la tâche, nous vous fournissons dans la suite de cet article quelques explications complémentaires utiles et nous vous proposons de télécharger un exécutable, dont les messages et instructions ont été traduits en français, qu’il vous suffira de lancer pour démarrer le processus de mise à jour de WinRE.
Si vous n’utilisez pas BitLocker pas de panique, la correction n'est pas urgente.
Si vous utilisez BitLocker ou si vous ne supportez pas d’avoir une erreur dans Windows update vous pouvez tenter les solutions décrites ci-après.
Comme toujours avant toute modification du système il est fortement conseillé de faire une sauvegarde complète de votre système et de vos données en cas d’erreur de manipulation qui pourrait empêcher votre machine de fonctionner.
L’opération reste délicate. Si vous ne maîtrisez pas les opérations de ce type, procédez calmement, étape par étape. N'hésitez pas en plus des sauvegardes à faire un clonage du disque système. En cas d'erreur ou d'incident grave il sera plus simple et et surtout plus rapide de restaurer votre système et vos données.
2 - Utiliser les lignes de commandes
Si les lignes de commandes ne vous font pas peur vous pouvez suivre les instructions de cet article de Microsoft.
Cette vidéo de la chaîne YouTube Windroitech décrit les opérations en lignes de commande pour modifier la taille de la partition de récupération.
3 – Utiliser un script PowerShell
Si vous préférez un processus automatisé allez sur cet autre article de Microsoft et suivez ces opérations :
- Copiez et collez les instructions dans un éditeur de texte, par exemple le bloc note (Notepad) de Windows.
- Enregistrez ce fichier dans un répertoire de votre choix avec une extension « .ps1 ».
- Par exemple sur le disque C ou D ou sur une clé USB, créez le répertoire « aa » et enregistrez dans ce dossier le fichier précédent que vous nommerez par exemple Patch.ps1 (les noms du fichier et du répertoire importent peu, seule l’extension « .ps1 » est importante).
- Il faut ensuite aller dans le catalogue de Microsoft Update pour télécharger le fichier de mise à jour dynamique du système de récupération de Windows qui correspond à votre version de Windows. Cliquez sur ce lien, la fenêtre ci-après s’ouvre dans votre navigateur :
- Vous allez devoir télécharger un de ces fichiers. Pour savoir lequel, il vous faut connaitre la version de votre Windows. Pour cela dans une invite de commande entrez la commande « Winver ». Une fenêtre comme ci-après s’ouvre, elle vous indique votre version de Windows.
- Ici la version est Windows 10 version 22H2. On va donc télécharger le fichier correspondant qui est le 2ème de la liste (le vôtre sera peut être différent).
- Cliquez sur le bouton « Télécharger » correspondant. Dans notre exemple on va récupèrer un fichier qui se nomme 0-kb5034232-x64_ff4651e9e031bad04f7fa645dc3dee1fe1435f38.cab.
- Une fois téléchargé, pour des raisons pratiques, on va le déplacer dans le répertoire « D:/aa » dans le quel on a enregistré précédemment notre patch qu’on a nommé « Patch.ps1 ».
- Note : Si vous vous trompez de fichier le script vous indiquera l’erreur, il ne vous restera qu’a retélécharger le bon fichier et relancer le script, il n’y aura pas d’incidence sur votre système.
- Avant de lancer le script il faut vous assurer que l’exécution des scripts PowerShell est autorisée sur votre système car par défaut Windows n’autorise pas l'exécution de Scripts PowerShell.
- Pour cela ouvrez une session PowerShell en mode administrateur et entrez la commande « Get-ExecutionPolicy »
Vous aurez alors l’une des réponses suivantes :
- Restricted : Cette valeur indique que l'exécution de scripts n’est pas autorisée.
- AllSigned : Impose une signature numérique pour les scripts utilisés.
- RemoteSigned : Impose une signature numérique pour les scripts utilisés réalisée via un éditeur des scripts téléchargés sur Internet.
- Unrestricted : Autorise tous les scripts, mais vous demande une autorisation exécuter des scripts non signés téléchargés sur Internet.
- Bypass : Tous les scripts sont autorisés, sans restriction.
- Undefined : Supprime la stratégie d'exécution en cours sauf si elle est si elle est définie dans la stratégie de groupe.
Pour modifier la politique entrez la commande : « Set-ExecutionPolicy Unrestricted ».
Maintenant nous allons pouvoir lancer notre patch.
- Ouvrez une session powerShell en mode adminsitrateur.
- Nous allons d’abord nous placer dans notre répertoire « D:/aa » où nous avons placé nos fichiers (adaptez ce qui va suivre à votre cas si vous avez choisi un autre enplacement ou d’utres noms de fichiers).
- Tapez « D: » pour être sur le disque D :
- Tapez « cd aa » pour être dans le répertoire « D:/aa ».
- Pour lancer le patch entrez la commande « ./Patch.ps1 ».
- Note :Si vous préférez avoir une traduction française téléchargez sur ce site, le patch nommé « Patch_fr.zip » en cliquant sur ce lien. Décompressez ce dernier et placez le fichier obtenu « Patch_fr.ps1 » dans le répertoire D:/aa. Tapez ensuite la commande « ./Patch_fr.ps1 » pour lancer le script.
- Le script vous demande d’entrer le « packagePath ». Il s’agit de saisir le chemin complet (répertoire et nom) de l’emplacement du fichier de mise à jour dynamique du système de récupération de Windows téléchargé dans le catalogue WindowsUpdate.
- Dans notre exemple on saisit : D:/aa/0-kb5034232-x64_ff4651e9e031bad04f7fa645dc3dee1fe1435f38.cab (attention aux fautes de frappe !).
- Les autres saisies éventuellement demandées sont facultatives, le patch utilisera les répertoires temporaires par défaut de Windows .
Après avoir saisi ce qui précède, le script se lance et affiche les opérations au fur et à mesure de leur éxécution (dans l’image ci-après on utilise le patch en français « Patch_fr.ps1 »).
Selon le type de console que vous utilisez (console PowerShell ou Terminal Windows par exemple) les affichages du déroulement du patch peuvent être différents. Parfois les caractères accentués sont mal interprétés.
Ci-après des exemple de captures sur différents ordinateurs sous Windows10 montrant le déroulement du Patch avec la console PowerShell native ou celle du terminal Windows.
En cas d’erreur dans le choix du fichier de mise à jour dynamique du système de récupération de Windows, le script vous le signalera. Il suffira de le relancer avec le bon fichier dans le répertoire.
Il est possible que la console PowerShell se ferme de façon inopinée. Cela peut signifier une erreur mais aussi que le script s’est terminé. Dans ce cas en revenant dans Windows Update cliquez sur le bouton « Recherche de mise à jour ». Si Windows Update ne tente pas de réinstaller le patch KB5034441 c’est que la mise à jour a réussi sinon il faut recommencer.
Si vous relancez le script sur un ordinateur à jour, le script vous le signalera.
Sur un de nos ordinateurs sous Windows10 le script a semblé réussir, mais en lançant une « Recherche de mise à jour » dans Windows Update on s’est aperçu que le système tente de réinstaller le patch KB5034441 alors que la relance du script sur cet ordinateur indique que le script a été exécuté avec succès.
4 – Utiliser un exécutable à la place du script PowerShell
Nous avons compilé le script « Patch_fr.ps1 » en un programme exécutable nommé « Patch_fr.exe » qui est censé faire la même chose que le script du même nom (consultez ces liens voir ces liens pour plus d’explications sur le logiciel utilisé : StackOverflow (anglais) et IT-connect (français).
- Pour lancer ce programme il suffit de double-cliquer dessus (peu importe son répertoire). Une fois lancé il ouvre une console PowerShell qui va vous demander comme dans le script le chemin complet du fichier de mise à jour dynamique du système de récupération de Windows (dans notre exemple : D:/aa/0-kb5034232-x64_ff4651e9e031bad04f7fa645dc3dee1fe1435f38.cab).
- Le cas échéant, assurez-vous que l’exécution des scripts PowerShell est autorisée sur votre système (voir §3).
N 'utilisez ce programme qui si vous ne savez pas utiliser la console PowerShell. Car ce programme bien que plus facile à utiliser se revèle beaucoup moins stable et capricieux que le script « .ps1 ». Parfois il se ferme inopinément, toutes les étapes ne s’affichent pas et on ne sait pas si la mise à jour a été effectuée ou pas. Il faut passer par Windows Update pour vérifier si la mise à jour a été effectuée ou nom.
Ce programme est téléchargeable sur ce site en cliquant sur ce lien.