Alvorlig diskopprydding i Windows forårsaket av ødelagt registrering

2016-04-09 13:45:52
Hoved~~Pos=Trunc·Microsoft·Alvorlig diskopprydding i Windows forårsaket av ødelagt registrering

Lesers spørring: Jeg har en 160 GB Western Digital Hard Drive som er partisjonert i en 40 GB operativsystempartisjon og den andre 120 GB for filene mine. Når jeg kjører Disk Cleanup-verktøyet fra Vista Ultimate, viser det imidlertid flere 131 GB alternativer for meg å rydde opp. Etter at jeg klikket OK for å rydde opp de valgte oppføringene, slettet det alt på 40 GB-partisjonen. Jeg måtte deretter installere Windows Vista på nytt, men problemet ser ut til å være tilbakevendende.

(Informasjon i dette innlegget gjelder for Windows Vista, 7 og Windows 8-systemer.)

Windows Error Reporting Disk Cleanup handler

Etter å ha fått ytterligere tre slike spørsmål, bestemte jeg meg for å jobbe med denne saken. Her er skjermdumpen av hva Diskopprydding viste:

Fig 1: Diskopprydding som viser listen over filer som skal slettes.

I følge ovenstående diskopprydningsgrafikk utgjorde Windows Error Reporting-filer 196 GB, noe som er umulig i dette tilfellet. Jeg ba om eksport av registeret av denne nøkkelen fra det berørte systemet:

 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ Currentversion \ Explorer \ VolumeCaches 

Ovenstående registerplassering inneholder listen over diskoppryddingbehandlere og registreringsinformasjonen deres. Når jeg sammenliknet innstillingene med systemet mitt, la jeg merke til at det manglet en veldig viktig verdi med navnet Folder i hver av de følgende undernøklene under VolumeCaches- grenen:

| _ Windows Feil ved rapportering av arkivfiler
| _ Windows Feilrapportering av køfiler
| _ Windows Feilrapportering av systemarkivfiler
| _ Windows Feilrapportering av systemkøefiler

Dette avsnittet fra MSDN-dokumentasjonen inneholder beskrivelsen for mappen registerverdi:

En bestemt mappe eller mapper for å søke etter elementer som samsvarer med oppføringer i FileList-verdien. Du kan spesifisere jokertegn ved å bruke? eller * tegn. Hvis verdien er av typen REG_SZ, skilles flere mappenavn ved å bruke | karakter, uten mellomrom på hver side av den. Hvis en CSIDL-verdi er til stede, kan bare en mappe spesifiseres i denne verdien. Plasseringen som er angitt av CSIDL-verdien, er forhåndsbetalt til den mappebanen for å komponere en søkebane. Se for eksempel CSIDL-verdibeskrivelsen. Hvis denne verdien er fraværende, brukes rotmappen til gjeldende volum. DDEVCF_DOSUBDIRS-flagget er nødvendig i så fall for å søke i hele stasjonen.

Legg merke til den siste linjen som sier at Diskopprydding rekursivt vil søke i hele volumet etter listen over filer som er nevnt i FileList-registerverdien (*. * Jokertegn som brukes i dette tilfellet) og inkluderer alt på volumet for sletting hvis DDEVCF_DOSUBDIRS-flagget er aktivert (som er aktivert som standard).

Fiksing av diskopprydding WER Handlers

Nedenfor er tilgjengelige REG-filer for å fikse mapperegisterverdiene i hver av de ovennevnte registernøklene, som løste problemet. Dette viste Diskopprydding etter å ha kjørt fiksen:

Nedlastinger

  • cleanmgrfix.zip for Windows Vista eller 7
  • cleanmgrfix-w8-1.zip for Windows 8

RELATERT: Disk Cleanup Bug: 3, 99 TB Brukt av Windows Updates

Innholdsindeks Cleaner Disk Cleanup handler

Her er en lignende sak, men denne gangen er det Content Index Cleaner Disk Cleanup handler.

En av leserne våre spurte: Jeg har brukt en registerrenser på PCen min, og jeg har nøyaktig det samme problemet som nevnt i blogginnlegget Alvorlig diskopprydding problem forårsaket av ødelagt registrering. Diskopprydningsprogrammet ryddet opp i alt inkludert Windows-installasjonen min. Er det en løsning?

Etter å ha sammenliknet VolumeCaches- grenen som ble sendt til meg av askeren, begrenset jeg problemet til følgende nøkkel:

 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ VolumeCache \ Content Indexer Cleaner 

I tasten over manglet verdien som heter Mappe . Mappeverdien skal være til stede og ha følgende data:

 ?: \ Catalog.wci 

Når du velger oppføringen Katalogfiler for Content Indexer i Diskopprydding, blir filer i den nåværende partisjonen slettet når Diskopprydding kjøres som administrator.

Fiksing av Disk Cleanup Content Index Cleaner handler

Her er en registerrettelse som gjenoppretter den manglende oppføringen.

 Windows Registerredigering versjon 5.00 [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ VolumeCaches \ Content Indexer Cleaner] @ = "{A9B48EAC-3ED8-11d2-8216-00C04FB687DA}" "PropertyBag" = "{24400D16-5754-112 -8218-00C04FB687DA} "" FileList "=" *. * "" Folder "="?: \\ Catalog.wci "" Flagg "= dword: 00000141" Prioritet "= dword: 0000012c 

Kopier linjene over til Notisblokk, og lagre den med en .reg-utvidelse. Høyreklikk på filen og velg Slå sammen . Klikk Ja når du blir bedt om bekreftelse.

Ovennevnte registerinnstilling gjelder alle versjoner av Windows, inkludert Windows 10 (testet opp til versjon 1809.)

Lukkende ord

Selv om jeg kunne identifisere hvor problemet var, men hadde ingen anelse om hvordan mappeverdien forsvant i utgangspunktet. Dette kan ha vært et resultat av å kjøre en registerrenser. Hold alltid øye med diskplassen som ble vist i nærheten av den totale mengden diskplass du får: i Diskopprydding-vinduet.

Men det er en annen komplikasjon; brukeren vil aldri vite hva som blir slettet når Diskopprydding kjøres ikke-interaktivt - ved å automatisere Diskopprydding eller når Windows kjører Diskopprydding automatisk via Oppgaveplanlegging, ved å bruke /verylowdisk bryteren.

Jeg håper dette innlegget hjalp deg med å avverge et stort problem i systemet ditt. Lesere som bruker registerrensere og opplever dette problemet, kan du gjerne kommentere denne artikkelen.

Redaksjonens