Hoe, precies, werkt de Windows Prullenbak?
U verwijdert een bestand in Windows, het wordt in de Prullenbak gedeponeerd en later vist u het terug. Wat gebeurt er precies tijdens dat hele proces?
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep van Q & A-websites.
De vraag
SuperUser-lezer Jonath0n is nieuwsgierig naar de Prullenbak:
Wat doet de Prullenbak in Windows eigenlijk? Is het gewoon een veredelde map en een opslagplaats voor binnenkort verwijderde bestanden of doet het iets specifieks? Met name zijn bestanden die "verplaatst" zijn naar de Prullenbak echt verplaatst op de harde schijf of zijn het slechts de verwijzingen naar de bestanden die zijn verplaatst? Ik ben een redelijk ervaren gebruiker, ik wilde gewoon een diepere uitleg van de Prullenbak.
Dus wat is het verhaal? Hoe precies functioneert de Prullenbak als een soort van file-vagevuur?
Het antwoord
SuperUser-medewerker Tim Wijsman biedt een piek achter het gordijn:
De verwijzing wordt verwijderd, een metadatabestand wordt bewaard in de Prullenbak om de oorspronkelijke locatie te weten.
Vroeger was dit op Windows 95 en 98 in
\ RECYCLED
. Op Windows 2000 en later werd het hernoemd naar\ RECYCLER
. Sinds Windows Vista is het nu een speciale map met de naam\ $ Recycle.Bin
.Gebruik Process Monitor om de I / O onder de motorkap te zien, zet een filter aan
Prullenbak
en bezoek het. :)Bijvoorbeeld, wanneer ik dit doe:
Kladblok \ $ RECYCLE.BIN \ S-1-5-21-0192837465-987654321-0123456789-1000 \ $ EXAMPL5
Notitie: De lange mapnaam is een gebruikers-ID. De laatste mapnaam is een hash op basis van de metadata.
Ik krijg een bestand dat metadata-informatie als volgt bevat:
¸Ì¸Ì¸Ì: \ \:::::: m: m m m¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì¸Ì tekst
De reden dat het bestandspad spaties daartussen heeft, is omdat het is opgeslagen in brede bytetekens, om speciale tekens voor bepaalde talen te ondersteunen, evenals unicode en wat anders. De eerdere symbolen zijn binair en bevatten informatie zoals de bestandsgrootte en machtigingen, evenals een verwijzing naar de bestandsgegevens. In essentie bevat het voldoende informatie om de oorspronkelijke referentie te reconstrueren ...
Het is triest dat het Windows Internals-boek dit niet behandelt, anders zou ik meer referentie hebben gehad. Ik heb geen artikelen gevonden die hier uitvoerig op in gaan, noch door Microsoft noch door derden. Ze bestaan waarschijnlijk wel, maar ik vond het makkelijker om het hoofdconcept te gaan reverse engineeren ...
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread.