Nieuws

Microsoft geeft uitleg bij probleem rond ‘bestand in gebruik’ in Windows 11

Windows 11
© Shutterstock/IB Photography
Wie al langer met Windows werkt, kent het fenomeen: je wil een bestand verwijderen of hernoemen, en plots verschijnt de melding 'bestand in gebruik' (door een ander programma). Ook al heb je de app net afgesloten. Microsoft heeft nu uitgelegd waarom dat nog altijd gebeurt in Windows 11, en waarom het probleem al decennialang bestaat.

Volgens Mark Russinovich, tegenwoordig CTO bij Microsoft Azure en een van de mensen achter de Windows Sysinternals-tools, is de ‘bestand in gebruik’-foutmelding vaak misleidend. Windows zegt wel dat een bestand openstaat, maar dat is technisch gezien niet altijd zichtbaar in de app die je net hebt gesloten.

Oorzaak bij ‘file handles’

Wanneer een programma een bestand opent, maakt Windows een zogenaamde file handle aan. Dat is in feite een interne verwijzing die bijhoudt welk proces toegang heeft tot welk bestand. Zolang zo’n handle actief is, laat Windows het bestand niet verwijderen of hernoemen. Dat is een bewuste keuze om datacorruptie te vermijden terwijl een programma nog met het bestand bezig is. In theorie worden die handles netjes afgesloten wanneer je een app sluit. In de praktijk loopt dat niet altijd zo soepel.

Russinovich wijst op drie veelvoorkomende oorzaken. De eerste is vrij simpel: antivirussoftware. Die kan op de achtergrond een bestand scannen en daarbij tijdelijk een handle openhouden, zelfs nadat je de oorspronkelijke app al hebt afgesloten. Een tweede oorzaak is netwerkactiviteit. Als een ander toestel op hetzelfde netwerk het bestand heeft benaderd, kan die verbinding nog actief zijn en het bestand “vastzetten”. De derde is de lastigste: DLL-bestanden. Wanneer een bestand als bibliotheek in een programma geladen wordt, verschijnt dat niet altijd als een klassieke file handle. Het zit dan gewoon in het geheugen van een actief proces. In dat geval helpt alleen het sluiten of beëindigen van dat volledige proces.

Om dat soort situaties op te sporen, ontwikkelde Russinovich in de jaren 90 de tool Handle, onderdeel van de Sysinternals-suite die Microsoft vandaag nog steeds onderhoudt. Met die tool kan je alle openstaande file handles op je systeem zien en meteen ontdekken welk proces verantwoordelijk is. Ook Process Explorer werkt op die manier, maar dan grafisch. Daar kan je via een zoekfunctie meteen op een bestandsnaam zoeken en zien welk proces het blokkeert.

De eenvoudige oplossing: PowerToys en File Locksmith

Voor wie geen fan is van command line-tools, is er ondertussen een makkelijkere oplossing binnen Windows zelf: PowerToys. Binnen Microsoft PowerToys zit de tool File Locksmith. Daarmee kan je gewoon met de rechtermuisknop op een bestand klikken en meteen zien welke processen het in gebruik hebben. Van daaruit kan je het proces beëindigen en het bestand alsnog verwijderen. Het is toont wel aan hoe Microsoft oude systeemproblemen probeert toegankelijker te maken voor gewone gebruikers.

Russinovich geeft ook nog een praktische truc mee: als een bestand vastzit, kan je het eerst hernoemen in plaats van meteen te verwijderen. In veel gevallen laat Windows dat wel toe. Daarna kan je een nieuwe versie met de originele naam plaatsen. Zodra het oorspronkelijke proces het bestand eindelijk loslaat, kan je de oude versie verwijderen. Het is geen ideale oplossing, maar in de praktijk werkt het vaak wel.

De ‘bestand in gebruik’-melding bestaat al sinds de vroege dagen van Windows, en zit diep ingebakken in hoe het besturingssysteem met bestanden omgaat. Dat Microsoft er vandaag nog altijd uitleg en tools voor nodig heeft, toont vooral hoe fundamenteel het mechanisme is. En hoe weinig er op dat vlak eigenlijk veranderd is in decennia Windows-ontwikkeling.

Uitgelicht artikel Windows 11 krijgt nieuwe dynamische updates
Google Voeg TechPulse.be toe als favoriete bron op Google!
Windows

Gerelateerde artikelen

Volg ons

Google Voeg TechPulse.be toe als favoriete bron op Google!
Haal een HomeWizard in huis en krijg een gratis Energy Display én €50 shoptegoed

Haal een HomeWizard in huis en krijg een gratis Energy Display én €50 shoptegoed

Bespaar nu