Aller au contenuAller à l'arborescence
  1. C:
  2. Windows
  3. System32
  4. DriverStore
  5. FileRepository
DossierRisque : Ne pas toucher

FileRepository C:\Windows\System32\DriverStore\FileRepository

Dossier des packages de pilotes du Driver Store, un sous-dossier par package ; à nettoyer uniquement avec pnputil.

Mis à jour le Par AltF4 Formation

À quoi ça sert

FileRepository est le dépôt du Driver Store : les packages de pilotes y sont conservés en entier (INF, catalogues, binaires). À l’ajout d’un package (staging), Windows le copie ici, puis l’installe sur le matériel concerné à partir de cette copie de référence. C’est pourquoi un pilote se réinstalle sans média.

Ce qu’il contient

  • Un sous-dossier par package, nommé d’après son INF, l’architecture et une empreinte, par exemple nom.inf_amd64_<empreinte>.
  • Dans chacun, les fichiers du pilote : .inf, .cat, .sys, .dll et fichiers associés.
  • Plusieurs versions du même pilote côte à côte, notamment pour les pilotes graphiques mis à jour souvent. Le dossier atteint facilement plusieurs gigaoctets.

Risques et bonnes pratiques

  • Ne supprimez jamais un sous-dossier à la main : l’INF publié et les métadonnées du gestionnaire Plug-and-Play ne correspondraient plus, avec un comportement imprévisible.
  • Les noms de dossier suivent l’INF d’origine, pas oemNN.inf. pnputil /enum-drivers donne la correspondance (« Nom publié » et « Nom d’origine »).
  • Pour libérer de la place, supprimez les anciennes versions inutilisées avec pnputil /delete-driver. Sans /force, un pilote en cours d’utilisation par un périphérique n’est pas supprimé.
  • Avant de retirer un pilote de stockage, réseau ou graphique, créez un point de restauration ou une sauvegarde.

Commandes utiles

Fenêtre de terminal
# Packages tiers : nom publié, nom d'origine, fournisseur, version
pnputil /enum-drivers
# Les plus gros sous-dossiers
Get-ChildItem "$env:windir\System32\DriverStore\FileRepository" -Directory |
ForEach-Object { [pscustomobject]@{ Package = $_.Name
Mo = [math]::Round(((Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1MB), 1) } } |
Sort-Object Mo -Descending | Select-Object -First 10
Fenêtre de terminal
:: Supprimer un ancien package inutilisé (en administrateur) ; remplacez oemXX.inf par le nom publié
pnputil /delete-driver oemXX.inf

Signaler une erreur