Des fichiers « *.wal » apparaissent à la racine de C:\ sous Windows ? Voici comment comprendre leur origine (souvent SQLite et parfois Norton 360), évaluer les risques, les supprimer proprement et récupérer d’éventuels fichiers effacés par erreur avec Shift+Suppr.
Fichiers « *.wal » à la racine de C : symptômes et contexte
Vous constatez l’apparition régulière de fichiers portant l’extension .wal, parfois de 0 octet, directement à la racine du disque système (C:\). Cette situation interroge : d’où viennent-ils ? À quoi servent-ils encore ? Peut-on les supprimer sans risque ?
Réponse et solution en un clin d’œil
| Point clé | Détails pratiques |
|---|---|
| Origine la plus fréquente | Des versions récentes de Norton 360 / Norton Antivirus créent parfois des fichiers temporaires .wal (bases SQLite pour la télémétrie et la détection SONAR) à la racine de C: au lieu de les maintenir dans le dossier de l’application. |
| Nature des fichiers | Un .wal est un journal de transactions SQLite (Write‑Ahead Log). Quand sa taille est de 0 octet, il a déjà été vidé (checkpoint) et n’a plus d’utilité. |
| Sécurité de la suppression | Oui, suppression sans risque s’ils sont vides (0 octet) ou si l’application qui les a créés ne les utilise plus. Ils peuvent réapparaître tant que la cause persiste. |
| Éviter leur réapparition | 1) Mettre Norton à jour (correctifs disponibles dans les builds ≥ 22.24). 2) Dans Norton : Paramètres ▸ Antivirus ▸ Historique de sécurité → vider les journaux. 3) Désactiver temporairement « Protection contre les altérations », supprimer les fichiers, puis réactiver. 4) Confirmer l’origine : Process Monitor ou la commande handle *.wal (Sysinternals) pour voir quel processus les ouvre. |
| Si la taille est > 0 octet | Fermer le logiciel concerné avant suppression. Une suppression d’un .wal actif peut empêcher un rollback et corrompre des données encore non checkpointées. |
Comprendre les fichiers .wal de SQLite
SQLite, utilisé par d’innombrables applications Windows (antivirus, navigateurs, messageries, utilitaires), peut fonctionner en mode Write‑Ahead Logging. Dans ce mode, les écritures vont d’abord dans un fichier journal base.sqlite‑wal (ou simplement .wal si l’application l’ouvre ainsi), puis un checkpoint copie ces transactions vers le fichier principal. Cela améliore l’intégrité et les performances en accès concurrent.
- Pourquoi un
.walvide ? Après un checkpoint complet, le journal peut être tronqué à 0 octet ; il subsiste comme « fichier marqueur » et sera réutilisé à la prochaine écriture. - Pourquoi à la racine de C: quand l’application exécute SQLite avec un répertoire de travail mal défini (ou un bug), le
.walpeut se retrouver dansC:\au lieu d’un sous-dossier applicatif.
Pourquoi ces fichiers se retrouvent sur C : origines possibles
La cause typique observée est liée à Norton 360 : certaines versions déposent les journaux SQLite WAL à la racine. Des correctifs ont été publiés dans les builds ≥ 22.24. D’autres causes existent toutefois :
- Applications basées sur SQLite (navigateurs, messageries, clients de notes) qui lancent des opérations en contexte système ou service et héritent d’un working directory non prévu.
- Tâches planifiées ou services exécutés sous Système avec des chemins relatifs.
- Scripts ou utilitaires internes qui ouvrent une base SQLite sans qualifier un chemin absolu vers le dossier de données.
Est‑il sûr de supprimer les fichiers .wal ?
Cas sans risque : le fichier est de 0 octet et aucune application ne le tient ouvert. Vous pouvez supprimer en toute sécurité.
Cas à risque : le fichier est non vide et/ou encore ouvert par un processus. Supprimer « à chaud » peut empêcher la base de rejouer les dernières transactions et conduire à de la corruption. Fermez l’application (ou arrêtez son service) avant de supprimer. Redémarrer la machine libère souvent les verrous.
Procédure recommandée pour un nettoyage propre
Identifier qui crée ou verrouille les .wal
- Resource Monitor : lancez
resmon.exe▸ onglet Disque ▸ champ Rechercher des poignées ▸ tapez.walpour voir le processus. - Process Monitor (Sysinternals) : filtrez sur Path contient
.wal, observez CreateFile/WriteFile. - handle.exe (Sysinternals) : dans une console administrateur :
handle.exe C:\*.walRepérez le PID qui maintient la poignée ouverte.
Fermer proprement et supprimer
- Fermez l’application ou stoppez le service identifié. Pour un antivirus, utilisez son interface pour mettre en pause, ou redémarrez en mode sans échec si nécessaire.
- Supprimez les fichiers. Méthodes sûres :
- CMD :
for %f in (C:\*.wal) do del "%f" - PowerShell (ne supprime que les fichiers de 0 octet) :
Get-ChildItem -Path C:\ -Filter *.wal -File | Where-Object Length -eq 0 | Remove-Item -Force
- CMD :
- Redémarrez l’application, contrôlez que les
.walne réapparaissent pas au même endroit.
Empêcher la réapparition
- Mettre à jour Norton vers un build récent (≥ 22.24) puis Historique de sécurité → Vider les journaux.
- Désactiver temporairement la protection contre les altérations de Norton pour supprimer, puis la réactiver.
- Vérifier les tâches planifiées et services : préférez des chemins absolus vers les bases de données et dossiers temporaires.
- Éviter d’écrire dans
C:\: restreindre les scripts internes, définir correctement%TEMP%/%TMP%vers un dossier utilisateur.
Questions fréquentes
Que signifie un .wal de 0 octet ? Le journal a été checkpointé et est prêt à être réutilisé. Il ne contient plus de données utiles.
Et si d’autres logiciels sont en cause ? Navigateurs, messageries, logiciels de notes ou de synchronisation utilisent SQLite. Normalement, leurs .wal résident dans %APPDATA%. S’ils apparaissent dans C:\, cherchez un script/tâche/service qui démarre avec un répertoire de travail incorrect.
Fichiers supprimés par erreur avec Shift+Suppr
En cherchant à nettoyer les .wal, vous constatez que des fichiers situés ailleurs ont disparu sans passer par la Corbeille. Cela peut arriver si vous avez utilisé Shift+Suppr, un script de suppression définitive, un lecteur réseau ou si la Corbeille était désactivée/pleine.
Comprendre ce qui s’est passé
- Shift+Suppr force la suppression définitive : aucun passage par la Corbeille.
- Lecteurs non pris en charge (réseaux, certains périphériques amovibles) : pas de Corbeille.
- Corbeille pleine/désactivée : Windows peut supprimer définitivement pour faire de la place.
- Wildcards et répertoires : une commande lancée dans le mauvais dossier peut supprimer des fichiers inattendus.
Réagir vite
- Cessez d’écrire sur le disque concerné (désinstallez/éteignez les tâches bavardes, suspendez l’analyse antivirus, évitez les téléchargements). Moins le système écrit, plus la récupération est possible.
- Vérifiez d’abord la Corbeille au cas où la suppression n’était pas définitive.
- Regardez les sauvegardes/versioning : Historique des fichiers, versions précédentes, OneDrive/SharePoint si synchronisés.
Solutions natives Windows pour la récupération
Historique des fichiers et versions précédentes
Si l’Historique des fichiers était activé, restaurez la version voulue d’un dossier ou d’un fichier. De même, si des clichés instantanés (Volume Shadow Copy) existent, utilisez l’onglet Versions précédentes dans les propriétés du dossier/fichier.
Windows File Recovery
Windows File Recovery est un utilitaire Microsoft en ligne de commande. Selon la version, il propose les modes Regular/Extensive ou Segment/Signature. Sur un SSD avec TRIM, agissez immédiatement : TRIM peut rendre la récupération impossible.
Exemples :
:: Syntaxe récente (Regular / Extensive)
winfr C: D:\Recup /regular /n \Users\%USERNAME%\Documents\*.docx
winfr C: D:\Recup /extensive /n \Users\%USERNAME%\Pictures\*.jpg
:: Syntaxe Segment / Signature selon version
winfr C: D:\Recup /r /n \Users%USERNAME%\Desktop*.xlsx &rem Segment
winfr C: D:\Recup /x /y:PDF &rem Signature PDF
:: Astuces
:: - La destination (D:\Recup) doit être différente du disque source
:: - Utilisez /n pour préciser plusieurs motifs (répétez /n)
:: - Ajoutez /v pour un mode verbeux
Conseils d’usage :
- Exécutez l’outil depuis un autre disque ou clé USB comme destination (
D:\Recup). - Démarrez par Regular (rapide), puis passez à Extensive en cas d’échec.
- Avec Signature, ciblez des types précis (
/y:JPG,PNG,PDF,DOCX).
Outils tiers
- Recuva : simple, pratique pour NTFS/FAT. Lancez un deep scan, visualisez l’état (excellent, médiocre), récupérez vers un autre disque.
- TestDisk/PhotoRec : plus avancés. PhotoRec travaille par signatures, utile si la MFT est endommagée. Toujours écrire la sortie sur un support distinct.
Contrôles rapides pour éviter les suppressions involontaires
- Boîte de confirmation : clic droit sur Corbeille ▸ Propriétés ▸ cocher « Afficher la confirmation de suppression ».
- PowerShell sécurisé : utilisez
-WhatIfet-Confirmpour valider avant d’agir.
# Simuler sans supprimer
Get-ChildItem C:\ -Filter *.wal -File | Where-Object Length -eq 0 |
Remove-Item -WhatIf
# Forcer une confirmation
Get-ChildItem C:\ -Filter *.wal -File | Where-Object Length -eq 0 |
Remove-Item -Confirm
Prévenir durablement les pertes
- Sauvegardes régulières : Historique des fichiers, image système, sauvegarde hors‑site ou cloud.
- Éviter les suppressions définitives : préférez l’envoi à la Corbeille, augmentez sa taille si nécessaire.
- Bonnes pratiques de scripts : toujours vérifier le chemin courant (
cd), loguer les actions, utiliser-WhatIfen phase de test.
Atelier de diagnostic et d’assainissement
Checklist rapide
- Localiser les
.walinhabituels (C:\*.wal). - Identifier le processus impliqué : Resource Monitor, Process Monitor, handle.exe.
- Mettre à jour l’application fautive (Norton inclus), purger ses journaux.
- Supprimer les
.walde 0 octet ; pour les autres, fermer l’appli puis supprimer. - Surveiller la réapparition après redémarrage.
Scripts utiles
Batch administrateur : suppression silencieuse des .wal vides
@echo off
setlocal enabledelayedexpansion
for %%f in (C:\*.wal) do (
set "size=0"
for %%a in ("%%f") do set "size=%%~za"
if "!size!"=="0" (
echo Suppression de "%%f"
del /f /q "%%f"
) else (
echo Ignore (non vide) : "%%f"
)
)
echo Terminé.
PowerShell administrateur : journaliser et supprimer
$log = "C:\wal_cleanup.log"
Get-Date | Out-File -FilePath $log -Append
$files = Get-ChildItem -Path C:\ -Filter *.wal -File -ErrorAction SilentlyContinue
foreach ($f in $files) {
if ($f.Length -eq 0) {
"DEL: $($f.FullName)" | Out-File -FilePath $log -Append
Remove-Item -LiteralPath $f.FullName -Force -ErrorAction SilentlyContinue
} else {
"KEEP: $($f.FullName) ($($f.Length) bytes)" | Out-File -FilePath $log -Append
}
}
"---" | Out-File -FilePath $log -Append
Bonnes pratiques côté applications
- Imposer des chemins absolus pour toutes les bases SQLite et leurs répertoires temporaires.
- Pour des services Windows, définir le répertoire de démarrage vers un dossier de données dédié (pas
C:\). - Surveiller au déploiement que
%PROGRAMDATA%et%LOCALAPPDATA%sont utilisés correctement.
Foire aux questions et points d’attention
Supprimer un .wal peut‑il endommager mes données ? Pas s’il est de 0 octet ou non utilisé. S’il est actif, attendez la fermeture de l’application ou exécutez un checkpoint via l’application (quand c’est possible) avant suppression.
Pourquoi ça revient après suppression ? Parce que l’application continue d’utiliser SQLite en mode WAL. Corrigez la cause (mise à jour, configuration) plutôt que de ne faire que nettoyer.
Comment prouver l’origine ? Utilisez Process Monitor : filtrez sur Path contains .wal. Vous verrez quel exécutable crée/écrit. handle.exe listera aussi les poignées ouvertes.
Que faire si d’autres fichiers ont disparu en même temps ? Revoyez l’historique des commandes ou scripts. En cas de Shift+Suppr, lancez immédiatement une récupération avec Windows File Recovery ou un outil spécialisé, et n’écrivez plus sur le disque.
Résumé pratique
- Les fichiers
.walsont des journaux Write‑Ahead Log de SQLite. 0 octet = vidé, suppression sans risque. - L’apparition à la racine de
C:\signale un répertoire de travail mal configuré ou un bug applicatif (souvent Norton 360, corrigé dans les builds ≥ 22.24). - Identifiez le processus avec Resource Monitor/Sysinternals, mettez à jour l’application, purgez les journaux, puis supprimez les
.walvides. - En cas de suppressions accidentelles avec Shift+Suppr, réagissez vite : arrêtez les écritures, utilisez l’Historique des fichiers ou Windows File Recovery, privilégiez une destination différente pour la récupération.
Annexes
Pourquoi SQLite crée‑t‑il un .wal ?
Le mode WAL écrit d’abord les transactions dans un journal puis les fusionne dans la base principale via un checkpoint. Cela renforce l’intégrité (moins de risques en cas de crash) et augmente le débit en écriture concurrente.
Autres logiciels potentiellement concernés
Navigateur, messagerie, prise de notes, synchronisation, indexation — presque tout ce qui stocke des préférences ou des caches en SQLite. Par défaut, ces journaux restent dans les dossiers de données de l’application ; l’apparition dans C:\ est un indice d’anomalie de contexte d’exécution.
Commande de nettoyage automatisé
for %f in (C:\*.wal) do del "%f"
À exécuter en console administrateur, après fermeture des applications susceptibles d’utiliser SQLite. Pour réduire le risque, filtrez sur les fichiers de 0 octet comme montré plus haut en PowerShell.
Mise à jour logicielle
Les éditeurs corrigent régulièrement les comportements indésirables autour des journaux. Surveillez les notes de version et installez les mises à jour lorsque disponibles (ex. Norton ≥ 22.24).
Bonnes pratiques de sécurité et de performance
- SSD : éviter les nettoyages agressifs répétés si les fichiers réapparaissent rapidement ; corrigez la source pour ménager l’endurance.
- Permissions : ne durcissez pas arbitrairement
C:\avec des refus d’écriture globaux ; certains installateurs légitimes peuvent échouer. Traitez plutôt les quelques processus fautifs. - Journalisation : gardez une trace des suppressions (log PowerShell) pour reconstituer les événements en cas d’incident.
Guide de contrôle post‑incident
- Vérifier l’absence de nouveaux
.waldansC:\sur 24–48 h. - Valider que Norton (ou l’application cause) écrit désormais dans
%PROGRAMDATA%ou%LOCALAPPDATA%. - Ajouter un job de maintenance trimestriel qui audite
C:\pour des extensions journaux inattendues (*.wal,*.tmp,*.loganormalement volumineux). - Tester la restauration depuis la sauvegarde la plus récente pour éprouver la chaîne de protection des données.
En bref : ces fichiers .wal ne sont pas malveillants ; ils signalent surtout un détail d’implémentation. Nettoyez‑les prudemment, mettez à jour le logiciel concerné, et outillez‑vous pour éviter que des suppressions malheureuses ne se transforment en perte définitive de données.

