Déplacer pagefile.sys de C: vers D: sous Windows 10/11 (mémoire virtuelle) — guide complet + scripts

Libérez de l’espace sur C: en déplaçant proprement la mémoire virtuelle (pagefile.sys) vers D:, sans perdre les rapports de plantage ni casser vos applis. Suivez ce guide pas‑à‑pas (interface & scripts), comprenez pourquoi un mini‑pagefile revient parfois sur C:, et rendez le changement durable.

Sommaire

Vue d’ensemble

Vous disposez de deux volumes (C: et D:) et souhaitez déplacer le fichier d’échange de Windows (pagefile.sys) sur D: pour alléger le volume système. Malgré la désactivation de la gestion automatique et un redémarrage, Windows recrée souvent un fichier sur C:. Ce guide explique :

  • Comment forcer Windows à créer le pagefile sur D: (méthode graphique & scripts).
  • Pourquoi un petit fichier réapparaît parfois sur C: (rôle des memory dumps et des phases de démarrage).
  • Comment pérenniser la modification (réinitialisation, mise à jour majeure), avec registres, PowerShell, tâches planifiées.

Prérequis : droits administrateur, sauvegarde préalable recommandée si vous intervenez sur le Registre.

Réponse & solutions proposées (condensé)

ÉtapeActionDétails / conseils
1Ouvrir les paramètres système avancésWin + PauseParamètres système avancés (onglet Avancé) → section PerformancesParamètres → onglet AvancéMémoire virtuelleModifier…
2Désactiver la gestion automatiqueDécochez « Gérer automatiquement le fichier d’échange pour tous les lecteurs ».
3Retirer le pagefile de C:Sélectionnez C:, cochez « Aucun fichier d’échange », puis Définir.
4Créer le pagefile sur D:Sélectionnez D:, choisissez Taille personnalisée (ou Gérée par le système), puis Définir.
Dimensionnement : ciblez au moins la taille de la RAM et jusqu’à 1,5–2× pour ≤ 16 Go de RAM ; au‑delà, 4–8 Go suffisent souvent.
5RedémarrerValidez par OK sur chaque fenêtre et redémarrez : la nouvelle localisation s’applique.
6(Facultatif) Laisser un mini‑pagefile sur C:Windows peut remettre 256–1024 Mo sur C: pour les dumps mémoire (BSOD). Pour l’éviter :
• désactiver les memory dumps (sysdm.cpl → Avancé → Démarrage et récupération).
• ou accepter ce petit fichier, recommandé pour le diagnostic.
7Automatiser après réinitialisationUn reset remet les valeurs par défaut. Pour pérenniser :
• exporter/forcer le Registre (PagingFiles, ExistingPageFiles).
• script PowerShell : Set-WmiInstance -Class Win32_PageFileSetting -Arguments @{Name="D:\\pagefile.sys"; InitialSize=16384; MaximumSize=32768}.
• ou WMIC (voir plus bas).

Procédure détaillée (interface graphique, Windows 10/11)

  1. Appuyez sur Win + Pause (ou ParamètresSystèmeÀ propos) puis cliquez sur Paramètres système avancés.
  2. Onglet Avancé → bloc PerformancesParamètres → onglet AvancéMémoire virtuelleModifier….
  3. Décochez Gérer automatiquement le fichier d’échange pour tous les lecteurs.
  4. Sélectionnez le lecteur C: → cochez Aucun fichier d’échangeDéfinir.
  5. Sélectionnez le lecteur D: → choisissez Taille personnalisée (ou Gérée par le système) → saisissez la taille initiale et la taille maximaleDéfinir.
  6. Validez toutes les boîtes de dialogue par OK puis redémarrez.

Astuce : sur SSD, la fragmentation n’est pas un sujet ; sur HDD, une taille fixe (initiale = maximale) évite de fragmenter au fil du temps.

Dimensionner la mémoire virtuelle : recommandations concrètes

RAM installéeTaille initiale (Mo)Taille maximale (Mo)Notes
4–8 GoRAM × 1,0RAM × 1,5–2,0Favorise la stabilité si plusieurs applis lourdes.
16 Go16 00024 000–32 000Bon compromis perfs/diagnostic.
32 Go4 000–8 0008 000–16 000Montez si vous faites VMs/rendu/édition vidéo.
64 Go et +4 000–8 0008 000–16 000Évitez les tailles énormes inutilement.

Surveillez Gestionnaire des tâches → Performances → Mémoire → Engagement (valeur courante vs limite). Si la valeur de crête approche la limite, augmentez légèrement la taille maximale.

Pourquoi Windows recrée un petit pagefile sur C:

Raison n°1 : les memory dumps (BSOD)

En cas d’écran bleu, Windows peut écrire un rapport de plantage. Certains types de dump exigent un fichier d’échange accessible dès le crash. Par sécurité, Windows garde parfois 256–1024 Mo sur C: (chemin par défaut des dumps).

Raison n°2 : phases précoces du démarrage

Si D: n’est pas disponible très tôt (volume chifré, lecteur amovible, RAID tardivement initialisé), Windows crée un pagefile temporaire sur C: pour garantir la stabilité, puis bascule vers D: une fois le système complètement monté.

Raison n°3 : limite d’engagement

Sans fichier d’échange utilisable, la limite d’engagement (mémoire virtuelle totale) peut devenir trop basse et provoquer des erreurs « Mémoire insuffisante ». Windows évite ce scénario en conservant un petit fichier.

Bonnes pratiques : soit vous laissez un mini‑pagefile sur C:, soit vous redirigez les dumps vers D:. Voir ci‑dessous.

Contrôler les dumps mémoire (et les rediriger vers D:)

Méthode via l’interface

  1. Ouvrez sysdm.cpl → onglet AvancéDémarrage et récupération.
  2. Dans Écriture des informations de débogage, choisissez Petit vidage mémoire (256 Ko) ou Vidage mémoire du noyau si nécessaire.
  3. Modifiez les chemins de fichiers (si visibles) vers D:\MEMORY.DMP et dossier des mini‑dumps D:\Minidump.

Méthode via le Registre

Attention : manipulation avancée. Exécutez Invite de commandes (Admin) et saisissez :

reg add "HKLM\SYSTEM\CurrentControlSet\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 3 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "D:\MEMORY.DMP" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\CrashControl" /v MinidumpDir /t REG_EXPAND_SZ /d "D:\Minidump" /f

Valeurs utiles de CrashDumpEnabled : 0=Aucun, 1=Complet, 2=Noyau, 3=Petit, 7=Automatique.

Si vous ne faites jamais d’analyse de crash, vous pouvez mettre 0 pour supprimer le dump et autoriser un pagefile minimal sur C:. Pour le support/diagnostic, conservez au moins Petit.

Forcer le pagefile sur D: par script (PowerShell & WMIC)

PowerShell (recommandé, Windows 10/11)

Exécutez PowerShell en tant qu’administrateur puis adaptez les tailles (Mo) :

# Désactive la gestion automatique, supprime C:\pagefile.sys, crée D:\pagefile.sys, redirige les dumps
$ErrorActionPreference = 'Stop'

# 1) Désactiver la gestion automatique

Set-CimInstance -ClassName Win32_ComputerSystem -Property @{AutomaticManagedPagefile=$false} | Out-Null

# 2) Supprimer toute définition existante sur C:

Get-CimInstance Win32_PageFileSetting | Where-Object { $*.Name -like 'C:\*' } | ForEach-Object { Remove-CimInstance $* -ErrorAction SilentlyContinue }

# 3) Créer le pagefile sur D:

$Initial = 16384    # 16 Go
$Maximum = 32768    # 32 Go

# Supprime d'abord une éventuelle entrée existante sur D:

Get-CimInstance Win32_PageFileSetting | Where-Object { $*.Name -ieq 'D:\pagefile.sys' } | ForEach-Object { Remove-CimInstance $* -ErrorAction SilentlyContinue }
New-CimInstance -ClassName Win32_PageFileSetting -Property @{ Name='D:\pagefile.sys'; InitialSize=$Initial; MaximumSize=$Maximum } | Out-Null

# 4) (Optionnel) Mini-pagefile de secours sur C: (diagnostic)

# New-CimInstance -ClassName Win32_PageFileSetting -Property @{ Name='C:\pagefile.sys'; InitialSize=400; MaximumSize=1024 } | Out-Null

# 5) Rediriger les dumps

New-Item -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -Force | Out-Null
Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -Name 'DumpFile' -Type ExpandString -Value 'D:\MEMORY.DMP'
Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -Name 'MinidumpDir' -Type ExpandString -Value 'D:\Minidump'
Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -Name 'CrashDumpEnabled' -Type DWord -Value 3

Write-Host "Configuration appliquée. Redémarrez le PC." 

WMIC (compatibilité, toujours en Admin)

wmic computersystem where name="%computername%" set AutomaticManagedPagefile=False
wmic pagefileset where name="C:\\pagefile.sys" delete
wmic pagefileset create name="D:\\pagefile.sys"
wmic pagefileset where name="D:\\pagefile.sys" set InitialSize=16384,MaximumSize=32768

WMIC est obsolète mais encore présent sur de nombreuses installations. Préférez PowerShell quand c’est possible.

Rendre la modification pérenne (réinitialisation, mise à jour majeure)

Option A — Forcer les clés du Registre au démarrage

Créez une tâche planifiée qui applique la configuration à chaque démarrage (utile après un reset) :

# 1) Sauvegardez ce script dans D:\Scripts\Set-Pagefile.ps1 (voir bloc PowerShell plus haut)
# 2) En PowerShell (Admin), créez la tâche :
$Action  = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument '-NoProfile -ExecutionPolicy Bypass -File "D:\Scripts\Set-Pagefile.ps1"'
$Trigger = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask -TaskName 'FixPagefileLocation' -Action $Action -Trigger $Trigger -RunLevel Highest -Description 'Recrée le pagefile sur D:' -Force

La tâche rejouera automatiquement la configuration après une réinitialisation ou une mise à niveau, dès que D: sera disponible.

Option B — Script one-shot post‑installation

Conservez un lot de commandes REG et WMIC sur une clé USB pour l’exécuter après chaque réinstallation :

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v AutomaticManagedPagefile /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ /d "D:\pagefile.sys 16384 32768" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v ExistingPageFiles /t REG_MULTI_SZ /d "D:\pagefile.sys" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v TempPageFile /t REG_DWORD /d 0 /f

Note : REG_MULTI_SZ accepte plusieurs entrées séparées ; une seule suffit ici.

Vérifier que la configuration est bien appliquée

  • Interface : retournez dans Mémoire virtuelle et confirmez la présence de D:\pagefile.sys (et l’absence sur C: si c’est votre choix).
  • PowerShell : Get-CimInstance Win32_PageFileUsage | Select-Object Name,AllocatedBaseSize,CurrentUsage,PeakUsage
  • Invite de commandes : wmic pagefile list /format:list

Testez ensuite la charge mémoire habituelle (applis/jeux/projets) et observez Engagement dans le Gestionnaire des tâches ; ajustez la taille maximale si nécessaire.

Cas particuliers & points d’attention

  • SSD vs HDD : placez le pagefile sur un SSD si possible pour la réactivité. Si D: est un HDD plus lent, le gain d’espace sur C: peut se payer en temps de latence sous forte charge mémoire.
  • Volumes chiffrés (BitLocker) : assurez-vous que D: est déverrouillé automatiquement au démarrage (Autounlock). Sinon, Windows créera un fichier temporaire sur C:. Dans une console Admin : manage-bde -autounlock -enable D:
  • Plusieurs fichiers d’échange : Windows tolère plusieurs pagefiles. Pratique : 400–1024 Mo sur C: (dumps) + grand pagefile sur D: (charge).
  • Ne pas tout désactiver : couper entièrement le pagefile peut faire échouer certaines applis ou services quand la mémoire engagée explose (VMs, Chrome onglets nombreux, rendu 3D, etc.).
  • Serveurs & postes avec 32 Go+ : un fichier fixe 4–8 Go suffit souvent, sauf usages lourds (montage vidéo, machines virtuelles multiples, datasets scientifiques).
  • Erreurs « Accès refusé » : ouvrez l’éditeur en Administrateur. Surveillez les protections EDR/antivirus qui peuvent bloquer REG ou WMIC.
  • État du disque : vérifiez que D: est en NTFS, sain, et qu’il reste suffisamment d’espace libre pour éviter un retour sur C: lors des pics.

Dépannage : problèmes fréquents et correctifs

« Après redémarrage, un petit pagefile.sys est revenu sur C: »

  • Désactivez l’option Automatique (elle peut se réactiver après une mise à jour).
  • Redirigez les dumps vers D: (ou laissez 400–1024 Mo sur C:).
  • Vérifiez que D: n’est pas chiffré sans Autounlock.

« WMIC indique une erreur / n’est pas reconnu »

WMIC étant obsolète sur certains builds, utilisez le script PowerShell (Set-/Get-/New-CimInstance).

« L’interface refuse la taille choisie »

  • Si vous avez choisi un vidage mémoire complet, la taille requise peut être ≥ RAM ; adoptez Vidage du noyau ou Petit si l’espace manque.
  • Assurez-vous qu’aucun quota ou chiffrement n’empêche l’écriture sur D:.

« Les applis plantent sans message clair »

  • Regardez la limite d’engagement dans le Gestionnaire des tâches. Si proche du plafond, augmentez la taille maximale sur D:.
  • Consultez Observateur d’événements → Journaux Windows → Système pour les avertissements mémoire.

Approfondir : ce que fait réellement le pagefile

Le fichier d’échange n’est pas qu’un « tampon » de débordement. Il intervient dans la gestion de l’engagement (la promesse faite par Windows d’allouer de la mémoire virtuelle aux processus). Sans pagefile, la limite d’engagement chute : des allocations légitimes peuvent échouer malgré de la RAM libre (réservations importantes, commit spéculatif d’applis). Maintenir au moins un petit pagefile contribue à la stabilité du système, indépendamment du fait que la RAM soit rarement saturée.

Résumé opérationnel

  • Définissez Aucun fichier d’échange sur C: et créez‑en un sur D: (taille fixe si HDD, taille gérée si SSD).
  • Laissez un petit pagefile sur C: ou redirigez les dumps vers D: pour éviter le retour intempestif d’un fichier sur C:.
  • Pérennisez avec un script PowerShell et une tâche planifiée au démarrage.
  • Surveillez Engagement et ajustez la taille maximale en fonction de vos usages réels.

Annexe : tout faire en commandes (copier/coller)

Invite de commandes (Admin) — version compacte :

wmic computersystem where name="%computername%" set AutomaticManagedPagefile=False
wmic pagefileset where name="C:\\pagefile.sys" delete
wmic pagefileset create name="D:\\pagefile.sys"
wmic pagefileset where name="D:\\pagefile.sys" set InitialSize=12288,MaximumSize=24576

reg add "HKLM\SYSTEM\CurrentControlSet\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 3 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "D:\MEMORY.DMP" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\CrashControl" /v MinidumpDir /t REG_EXPAND_SZ /d "D:\Minidump" /f

shutdown /r /t 0

PowerShell (Admin) — vérification post‑reboot :

Get-CimInstance Win32_PageFileUsage | Format-Table Name,AllocatedBaseSize,CurrentUsage,PeakUsage -Auto
(Get-CimInstance Win32_ComputerSystem).AutomaticManagedPagefile

FAQ express

Q : Puis‑je supprimer totalement le pagefile ?
R : Techniquement oui, mais déconseillé. Certaines applis et Windows lui‑même dépendent d’un niveau minimal de pagefile pour la stabilité et les rapports de crash.

Q : Vaut‑il mieux « géré par le système » ou « taille fixe » ?
R : Sur SSD, géré par le système est simple et efficace. Sur HDD, une taille fixe évite la fragmentation et stabilise les performances.

Q : Mon D: est un disque USB — bonne idée ?
R : Non. Le pagefile doit être disponible dès le démarrage. Préférez un disque interne (SATA/NVMe) ou laissez un pagefile sur C:.

Q : Comment choisir la taille optimale ?
R : Observez l’Engagement sur une semaine d’usage normal. Si la crête reste < 70 % de la limite, vous êtes à l’aise. Sinon, augmentez la taille maximale par pas de 2–4 Go.

Conclusion

Déplacer pagefile.sys sur D: est simple, à condition de considérer les dumps mémoire, la disponibilité du volume au démarrage et la limite d’engagement. En combinant réglage graphique + redirection des dumps + script de pérennisation, vous gardez un C: léger et un système fiable, même après réinitialisation ou mise à jour majeure.

Sommaire