Sur Windows Server 2012/2012 R2, des mises à jour peuvent échouer avec des erreurs liées à tpm.inf
. Ce guide pratique couvre le diagnostic, la réparation (ESU, DISM, SFC, réinitialisation de Windows Update), la gestion du pilote TPM et les bonnes pratiques de migration.
Symptômes et message d’erreur
Lors de l’installation de correctifs (Windows Update, WSUS ou installation hors ligne), le journal setupapi.dev.log journalise par exemple :
Unable to load INF ... tpm.inf ...
Error 3: The system cannot find the path specified.
Ce motif indique qu’un pilote TPM manquant, corrompu ou mal référencé bloque l’application des mises à jour. Selon le contexte, d’autres échecs peuvent apparaître dans CBS.log
(Maintenance Component Store) et WindowsUpdate.log
.
Causes probables
- Fin de support de Windows Server 2012/2012 R2 (sans ESU actif, aucun correctif mensuel n’est proposé).
- Servicing Stack Update (SSU) manquant ou non installé, empêchant Windows Update de fonctionner correctement.
- Magasin de composants corrompu (manque de fichiers
.inf
/.cat
ou références invalides). - Pilote TPM absent/incohérent (
tpm.inf
introuvable) ou micrologiciel TPM inopérant. - Espace disque insuffisant ou erreurs sur le volume système.
- Contrainte réseau/cryptographique (TLS, proxy, certificats) bloquant l’accès aux catalogues de mise à jour.
Diagnostic rapide
Avant toute action lourde, validez ces points clés en quelques minutes :
- Support et ESU :
winver slmgr /dlv
Confirmez l’édition, la version et l’activation ESU. - Journaux :
notepad C:\Windows\inf\setupapi.dev.log notepad C:\Windows\Logs\CBS\CBS.log notepad C:\Windows\WindowsUpdate.log
Rechercheztpm.inf
, les codes 0x800f081f, 0x800f0831, 0x80070002/03, etc. - Espace disque & disque :
fsutil volume diskfree C: chkdsk C: /scan
Assurez ≥ 10 Go libres sur la partition système et un système de fichiers sain. - Magasin de composants :
DISM /Online /Cleanup-Image /AnalyzeComponentStore
- TPM :
pnputil /enum-drivers | findstr /i tpm tpm.msc
Vérifiez la présence du pilote et l’état du périphérique TPM (si applicable).
Solutions et mesures proposées
Étape | Action | Détails pratiques |
---|---|---|
Vérifier la prise en charge de l’OS | • Fin de support depuis le 10 octobre 2023. • Sans Extended Security Updates (ESU), aucune mise à jour mensuelle n’est plus distribuée. | → Si vous n’avez pas acheté/activé d’ESU, migrez vers une version prise en charge (2016/2019/2022) ou vers Azure (ESU gratuits). |
Installer / valider les ESU | • Appliquer manuellement le dernier Servicing Stack Update puis le package d’activation ESU. • Exécuter slmgr /dlv puis slmgr /ato pour vérifier l’activation. | Un SSU manquant bloque souvent Windows Update. |
Réparer le magasin de composants | • Lancer DISM /Online /Cleanup-Image /RestoreHealth puis sfc /scannow .• Réinitialiser Windows Update (arrêt des services, renommage de SoftwareDistribution et catroot2, redémarrage). | Corrige les incohérences de catalogue et de fichiers .inf. |
Régler le pilote TPM | • Copier la version correcte de tpm.inf dans C:\Windows\System32\DriverStore\FileRepository OU désactiver temporairement le TPM dans le BIOS/UEFI.• Relancer la détection des mises à jour. | L’erreur « Error 3 » disparaît lorsque le fichier ou l’appareil est correctement géré. |
Vérifications complémentaires | • Libérer ≥ 10 Go sur la partition système. • Exécuter chkdsk /f pour éliminer les erreurs disque. | Un espace ou un système de fichiers insuffisant empêche l’écriture des correctifs. |
Procédure détaillée pas à pas
Confirmer l’éligibilité et le modèle de support
- Azure : migrer la VM ou la charge de travail dans Azure donne droit aux ESU gratuitement pendant trois ans.
- Sur site : les ESU s’achètent annuellement via un partenaire Microsoft ou un contrat de licences en volume.
- Versions supportées : si vous ne pouvez pas activer les ESU, planifiez une mise à niveau vers 2016/2019/2022 (voir plus bas).
Installer le dernier SSU et le package d’activation ESU
Pour 2012/2012 R2, installez d’abord le Servicing Stack Update le plus récent, puis le package d’activation ESU. Redémarrez si demandé. Ensuite, activez la clé ESU (MAK ou via gestion centralisée), puis :
slmgr /dlv
slmgr /ato
Vérifiez que l’activation ESU est bien Licensed. Sans cela, Windows Update/WSUS n’offrira pas les correctifs de sécurité post–10/2023.
Réparer le magasin de composants et les fichiers système
- Nettoyage & analyse :
DISM /Online /Cleanup-Image /AnalyzeComponentStore DISM /Online /Cleanup-Image /StartComponentCleanup
- Réparation en ligne :
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
- Réparation avec source locale (si
0x800f081f
) :DISM /Online /Cleanup-Image /RestoreHealth /Source:D:\sources\sxs /LimitAccess
Astuce : utilisez l’ISO correspondant à votre édition (2012 vs 2012 R2), et montez-le sur la lettreD:
(adaptez au besoin).
Réinitialiser complètement Windows Update
Une réinitialisation propre résout la majorité des blocages de détection et d’installation.
net stop wuauserv
net stop bits
net stop cryptsvc
net stop appidsvc
ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
ren %systemroot%\System32\catroot2 catroot2.bak
net start appidsvc
net start cryptsvc
net start bits
net start wuauserv
Relancez ensuite une recherche de mises à jour (ou un cycle WSUS).
Corriger l’erreur tpm.inf
- Inspecter le journal :
findstr /i "tpm.inf error" C:\Windows\inf\setupapi.dev.log
Notez le chemin attendu et l’ID matériel du périphérique (si présent). - Vérifier/ajouter le pilote :
pnputil /enum-drivers | findstr /i tpm pnputil /add-driver "C:\Drivers\TPM\tpm.inf" /install
Assurez-vous que la version du pilote est compatible avec 2012/2012 R2 (x64). Le pilote est généralement fourni par l’OEM/constructeur. - Forcer une réinstallation (facultatif) :
pnputil /delete-driver oem<N>.inf /uninstall /force pnputil /add-driver "C:\Drivers\TPM\tpm.inf" /install
- Solution de contournement : si le pilote approprié n’est pas disponible, désactivez temporairement le TPM dans le BIOS/UEFI, effectuez les mises à jour, puis réactivez-le. Attention : si BitLocker protège le disque, ne désactivez pas le TPM sans avoir suspendu BitLocker.
Vérifications complémentaires
- Espace disque : libérez au moins 10 Go sur
C:
. Purgez les journaux trop volumineux (CBS.log
), le dossier\Temp
, et les anciens artefacts (WinSxS\Backup
via DISM). - Intégrité disque :
chkdsk C: /f
- Services WU : assurez que Windows Update, BITS, Cryptographic Services, AppIDSvc démarrent correctement.
- Compatibilité TLS : si le serveur sort vers Internet, activez TLS 1.2 côté SChannel et WinHTTP si votre conformité le permet.
Cas WSUS et environnements isolés
Si l’accès à Windows Update est instable ou inexistant, privilégiez l’installation hors ligne :
- WSUS Offline (édition ESU) : générez le dépôt de correctifs sur un poste d’admin, puis poussez-les sur le serveur cible. Utile pour des fermes isolées.
- Packages autonomes : installez dans cet ordre : SSU → package d’activation ESU → correctifs de sécurité mensuels.
- Source SxS locale pour DISM (voir ci-dessus) afin de restaurer les composants sans Internet.
Journalisation utile et codes d’erreur courants
Fichier journal | Chemin | Ce qu’il faut y chercher |
---|---|---|
setupapi.dev.log | C:\Windows\inf\ | Échecs de chargement .inf /.cat , notamment tpm.inf , et chemins introuvables (Error 3). |
CBS.log | C:\Windows\Logs\CBS\ | Anomalies du magasin de composants (0x800f081f/0x800f0831), paquets manquants, erreurs de maintenance. |
dism.log | C:\Windows\Logs\DISM\ | Détails des réparations DISM, sources utilisées, erreurs de contenu. |
WindowsUpdate.log | C:\Windows\ | Offres de mises à jour absentes (ESU non actif), erreurs d’installation 0x8024 /réseau. |
Code | Signification | Piste d’action |
---|---|---|
0x80070003 | Chemin introuvable (Error 3) | Corriger le chemin du pilote (tpm.inf ), réinstaller le driver, réinitialiser WU. |
0x800f081f | Source de fichiers manquante | Restaurer avec /Source:<ISO>\sources\sxs , vérifier ISO correspondant. |
0x800f0831 | Package référencé manquant | Installer le SSU requis, puis relancer la mise à jour. |
0x8024001E | Windows Update en erreur | Réinitialiser les services WU/BITS, purger SoftwareDistribution et catroot2 . |
Scripts prêts à l’emploi (PowerShell)
Attention : exécutez dans une console admin et adaptez les chemins.
Réinitialisation de Windows Update + réparation rapide
# Reset WU & Quick Repair
Stop-Service wuauserv,bits,cryptsvc,appidsvc -Force -ErrorAction SilentlyContinue
$sd = "$env:SystemRoot\SoftwareDistribution"
$cr = "$env:SystemRoot\System32\catroot2"
if (Test-Path $sd) { Rename-Item $sd ($sd + ".bak_$(Get-Date -Format yyyyMMddHHmmss)") -Force }
if (Test-Path $cr) { Rename-Item $cr ($cr + ".bak_$(Get-Date -Format yyyyMMddHHmmss)") -Force }
Start-Service appidsvc,cryptsvc,bits,wuauserv
DISM /Online /Cleanup-Image /StartComponentCleanup
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Write-Host "Terminé. Redémarrez si demandé, puis relancez Windows Update."
Inventaire et (ré)installation du pilote TPM
# List TPM drivers
pnputil /enum-drivers | Select-String -Pattern "tpm" | ForEach-Object { $_.Line }
# (Exemple) Installation d'un pilote TPM depuis un dossier
$DriverPath = "C:\Drivers\TPM\tpm.inf"
if (Test-Path $DriverPath) {
pnputil /add-driver "$DriverPath" /install
} else {
Write-Warning "Pilote introuvable à $DriverPath"
}
Bonnes pratiques de sécurité
- BitLocker : si activé, suspendez la protection avant toute modification TPM :
manage-bde -protectors -disable C:
Réactivez après redémarrage :manage-bde -protectors -enable C:
- Changements BIOS/UEFI : documentez et planifiez une fenêtre de maintenance. Toute désactivation TPM peut affecter des charges de travail sensibles (Secure Boot, attestation, HGS).
- Backups : avant DISM/SFC et toute manipulation de pilotes, assurez une sauvegarde système récente.
Mise à niveau et trajectoires de migration
La migration directe 2012 → 2022 n’est pas supportée. Procédez par étapes (2012 → 2016/2019 puis 2016/2019 → 2022) ou effectuez une réinstallation propre. Profitez-en pour moderniser : disques, pilotes, micrologiciels (incluant TPM), pile réseau, et pile TLS.
En parallèle, envisagez Azure pour bénéficier des ESU gratuits pendant trois ans, le temps de migrer vos applications ou basculer vers PaaS/SaaS.
Checklist opérationnelle (résumé)
- Confirmez le support et l’activation ESU (
slmgr /dlv
,/ato
). - Installez le dernier SSU, puis le package d’activation ESU.
- Réparez le magasin de composants (
DISM
,SFC
). - Réinitialisez Windows Update (
SoftwareDistribution
/catroot2
, services). - Résolvez l’erreur tpm.inf : pilote correct via
pnputil
ou contournement TPM temporaire. - Vérifiez espace disque et intégrité (
chkdsk
). - En environnement isolé, utilisez WSUS Offline (édition ESU) et la source SxS adaptée.
- Planifiez la migration vers 2016/2019/2022 ou vers Azure.
FAQ express
Faut-il absolument le pilote TPM pour mettre à jour ?
Non si le TPM n’est pas utilisé et si le pilote n’est pas référencé. Mais si setupapi.dev.log
montre un appel à tpm.inf
, corrigez le pilote ou désactivez temporairement le TPM pour éviter l’erreur.
Pourquoi les mises à jour ne s’affichent plus après octobre 2023 ?
Parce que Windows Server 2012/2012 R2 est hors support. Sans ESU, aucun bulletin mensuel ne vous est proposé.
DISM ne trouve pas les sources, que faire ?
Montez l’ISO correspondant exactement à votre version/édition (2012 vs 2012 R2), et pointez /Source:<lettre>:\sources\sxs
avec /LimitAccess
.
Peut-on forcer l’installation d’un .msu sans Internet ?
Oui, avec wusa correctif.msu /quiet /norestart
. Installez toujours le SSU approprié avant les autres packages.
Encadré pratique : différences 2012 vs 2012 R2
Élément | Windows Server 2012 | Windows Server 2012 R2 |
---|---|---|
Noyau | Version 6.2 (famille Windows 8) | Version 6.3 (famille Windows 8.1) |
Paquets SSU/correctifs | Packages alignés Windows 8 x64 | Packages alignés Windows 8.1 x64 |
Fichier WindowsUpdate.log | Accessible directement | Accessible directement (pas besoin de reconstituer comme sur Windows 10+) |
Compatibilité pilotes | Privilégier pilotes signés pour 6.2 | Privilégier pilotes signés pour 6.3 |
Conclusion
Sur Windows Server 2012/2012 R2, l’échec des mises à jour avec Unable to load INF ... tpm.inf ... Error 3
provient généralement d’un mélange de support OS expiré (ESU), de magasin de composants fragilisé et d’un pilote TPM manquant. En appliquant la séquence SSU → ESU → DISM/SFC → Reset WU → correction TPM, vous restaurez un pipeline de patching fiable. En parallèle, anticipez la modernisation (migration 2016/2019/2022 ou Azure) pour sortir durablement du risque opérationnel.