Even voorop gesteld dat ik geen McAfee hater ben, zelfs jarenlang zakelijk en privé trouwe klant ben, en dat mensen af en toe fouten maken. Maar eerlijk is braaf, die van 21 april 2010 was er wel eentje van wereldklasse. Je levert razendsnel als grote Antivirusmaker een update om een zoveelste virus wat zich richt op de onnoemelijk vele beveiligingsgaten in Windows XP SP3 te dichten, en haastige spoed bleek in dit geval niet goed. Hun over het algemeen zeer goed detecterende scanner zag een van de systeembestanden van Windows XP SP3 aan voor een met een exploit besmette versie en afhankelijk van welke versie McAfee en de instellingen werd dit bestand of wel gereduceerd tot 0 bytes, danwel gewist of verplaatst naar McAfee’s Quarantine map op de C-schijf.
Goede raad is duur, want het bestand svchost.exe is redelijk cruciaal binnen een werkende Windows installatie en zorgt voor tientallen basisfuncties binnen het besturingssysteem. Ergo, het door McAfee onterecht als besmet aangemerkte danwel gewiste bestand maakte dat bij (volgens McAfee zelf) ongeveer 1% van de McAfee gebruikers dat Windows niet meer doorstartte of na opstarten totaal onbruikbaar was, simpelweg omdat het niet meer werkende svchost.exe de kerntaken in Windows niet meer kon activeren.
Volgens de buzz op internet waren het alleen XP SP3 machines die het slachtoffer waren, en ondanks dat McAfee de foute update al na enkele uren had verwijderd van haar servers en het en publiek een beetje aan het downplayen was (het viel eigenlijk nogal mee), was een van mijn collega’s de pineut, die ondanks de vele fixes op het net gisteren zijn PC maar opnieuw heeft geïnstalleerd, omdat de fixes niet werkten. Zelf had ik zoiets van, Ok, kut voor XP SP3 gebruikers, blij dat ik Windows 7 draai op de meeste van mijn computers. Totdat vanavond mijn broertje me belde dat zijn “server”, een nettop machientje zonder DVD speler, en draaiende op Windows XP SP3 niet meer wilde werken en dat de fix die hij op de zaak van de ICT boyz had meegekregen niet werkte, en of ik nog iets wist om die PC weer levend te krijgen. Wat was ik blij dat ik de meeste fixes toch even had doorgelezen, want alhoewel het eenvoudig lijkt, blijkt het al met al voor de leek (lees broertje met minder PC kennis als ik) absoluut adacadabra is, en de paniek en wanhoop direct toeslaan. (Hoe een nettop te herinstalleren zonder DVD speler en USB bootable memorystick….)
De basis van een geslaagde reanimatie van een door deze zepert gehandicapte PC is in essentie simpel. McAfee houdt in drie .dat bestanden de laatste virusdefinities en oplossingen bij, maar houdt ook heel intelligent een voorlaatste versie van die bestanden vast. Dus roepen de computernerds, je kopieert gewoon even die oudere set bestanden over de nieuwe heen, en voila, de dreiging van McAfee is verdwenen. Probleem twee is het verplaatste of gewiste svchost.exe bestand uit de map Windows/system32. Dus roepen de computerfreaks, dat dat bestand her en der in andere mappen ook staat, dus simpel even over de 0 byte of verdwenen versie kopieren, en je bent “back in business”. Klinkt simpel niet? Pies of keek zo te zeggen.
Niet dus, want de fix, die uiteraard werkt, moeten mensen gaan uitvoeren in veilige modus, maar dan wel die met de commando prompt, en dus niet in die blinden en slechtziende VGA versie die windows ook als veilige modus noemt. Die laatste werkt niet omdat…. juist…. svchost.exe nodig is om dat te laten werken. Dus moet je je PC met F8 opstarten en kiezen voor de allerbovenste versie veilige modus, die met de commandoprompt. En dan is de gemiddelde computergebruiker al afgeserveerd, want na een hoop zwart scherm met knipperende cursor komt er uiteindelijk niet meer dan een zwart scherm met een commandoprompt, die alleen maar aangeeft op welk pad je op schijf C nu zit. En dan….tja, dan bel je je grote broer met de moed der wanhoop op, want die is ouder, dus die spreekt mogelijk nog die fossiele taal genaamd MS DOS.
Ok, laat ik proberen in lekentermen uit te leggen hoe ik na een klein uurtje een niet DOS kenner door de fix heen heb gepraat ook een soort van universele hint te geven voor de andere slachtoffers. Waarbij de taken zijn om de foute dat bestanden van McAfee te vervangen door oudere versies die wel werken, en het verdwenen svchost.exe bestand op zijn oorspronkelijke plek terug te zetten.
De instructies (bijna woordelijk) die de nettop van mijn broertje weer levend hebben gekregen staan hieronder, waarbij [Enter] de Enter toets betekent. Overigens is Windows niet hoofd/kleine letter gevoelig, dus mag je alles hierna in kleine letters inkloppen.
Stap 1.
We starten de PC op met functietoets F8, en kiezen voor veilige modus met commandoprompt, waarna we kiezen voor de XP installatie en als gebruiker Administrator zonder wachtwoord.
Je eindigt dan met een zwart scherm met hierin een pad wat lijkt op C:\Documents en Settings\<gebruikersnaam>.
Type: CD\[Enter], waarna je een nieuwe regel krijgt met hierin C:\>
We gaan nu eerst de foute dat bestanden overschrijven met een oudere versie.
Stap 2.
Omdat ik niemand hele lange paden wil in laten typen gaan we naar de juiste plek stap voor stap.
Type:CD Program Files[Enter]
Type:CD Common Files[Enter]
Type:CD McAfee[Enter]
Type:CD Engine[Enter]
Type:CD OldEngine[Enter]
Als het goed is en je geen foutmeldingen hebt gekregen staat er nu op het scherm:
C:\Program Files\Common Files\McAfee\Engine\OldEngine>
Type:dir[enter]
Als het goed is zie je een vijftal bestanden staan waarvan er drie op .dat eindigen.
Omdat het DOS copy commando niet kan werken met bestand en mapnamen die langer zijn dan 8 tekens en die geen spaties in die namen aankan, moet je dus een XP truc gaan toepassen om de foutieve dat bestanden in de map /Engine te vervangen.
Type:copy avv*.* c:\progra~1\common~1\mcafee\engine[Enter]
Als het goed is eindigt dit commanda met de mededeling 3 bestand(en) gekopieerd. Waarmee je dus de foute .dat bestanden van McAfee hebt vervangen door de laatst werkende oudere versies.
De oorzaak van alle ellende heb je nu opgelost, maar nu nog de schade herstellen, namelijk het terugzetten van het bestand svchost.exe
Stap 3.
Dit is de meest falende stap in alle fixes die ik op internet heb gevonden, simpelwel omdat een reservekopie van svchosts afhankelijk van de Windows versie en ouderdom ervan al dan niet voorkomt op diverse plekken.
Nu zou ik alle mogelijke plekken kunnen noemen, maar dat is een gebed zonder einde, dus laat ik jullie gewoon even zoeken ernaar, met hulp van mij uiteraard.
Type: CD\[Enter] waardoor je weer in de zgn root van je harde schijf eindigt, met de regel C:\
Nu gaan we op zoek naar een bruikbare versie van svchost.exe
Type:dir svch*.* /s[Enter]
Dit commando graast je hele harde schijf af op zoek naar bestanden die beginnen met svch (dit kan met een grote volle schijf even duren).
Het resultaat is elke keer het pad, en een of meerdere bestanden die aan de zoekopdracht voldoen. Geloof me, Windows groeit niet voor niets zo hard, soms bestaan er meerdere versies van hetzelfde bestand op diverse plekken.
Als je mazzel hebt krijg je een of meer paden met hieronder de regels svchost.exe, gevolgd door een grootte van het bestand. Heb je pech dan kom je soms niet verder dan één plek waar alleen svchost.ex_ staat.
Heb je een echte svchost.exe dan is de oplossing als volgt:
Noteer het pad waar deze versie staat (bijv: c:\windows\dllcache) en type daarna het volgende commando:
copy <gevonden pad>\svchost.exe c:\Windows\system32[Enter]
Voorbeeld bij PC broertje:
copy c:\windows\i386\svchost.exe c:\windows\system32[Enter]
Als je alles goed hebt ingeklopt eindigt dit met 1 bestand(en) gekopieerd.
Hierna kan je de PC herstarten, en dat doe je vanuit dos netjes met het volgende commando:
Type:shutdown /r[Enter]
Hiermee herstart de PC na een aantal seconden, en als het goed is kan je daarna gewoon weer werken in Windows. (vergeet niet McAfee te updaten).
Als je pech hebt dan vind je ergens alleen maar een bestand genaamd svchost.ex_
En bestand eindigend met een _ is een gecomprimeerd installatiebestand van windows, wat je even moet uitpakken alvorens je het kan terugzetten.
We gaan eerst naar de plek (bijv: c:\windows\i386) toe waar net ex_ bestand staat, als volgt.
Type: CD C:\<gevonden pad>[Enter]
Je kunt controleren of je in de juiste folder bent geëindigd door dir svch*.*[Enter] in te typen, waar je als het goed is in het scherm svchost.ex_ te zien krijgt.
Type:expand svchost.ex_ svchost.exe
Dit commando decomprimeert het installatiebestand naar een volledige versie van svchost.exe.
Type:copy svchost.exe c:\Windows\system32[Enter]
Dit commando eindigt als het goed is met de mededeling 1 bestand(en) gekopieerd.
Nu kan je de PC herstarten zoals hierboven beschreven staat en is hij gereanimeerd.
Over de telefoon een uurtje werk, met deze handleiding waarschijnlijk de helft… succes !! En McAfee…. bedankt !!
UPDATE
Het <gevonden pad> iets meer verduidelijkt….
Beste lezers,
Ik kan jullie vertellen dat Ron voor mij de dokter Vlimmen van de PC’s is. Gisteren zat ik op het moment de schijf er maar uit te slopen en aan een andere pc te hangen als infuus om zo zijn image terug te kunnen zetten.
Dus toch maar even de DOC gebeld,..en na een uurtje DOS duiselen speelde mijn server weer. Ik moet zeggen het was leerzaam!
Ron, nogmaals bedankt voor het consult.
Gr, Winfred
You’re most welcome broertje
Of wel… graag gedaan….
Laten we hopen dat er mogelijk nog andere slachtoffers met onze ervaring uit de telefoonsessie hun door McAfee gesloopte windows weer aan de gang krijgen.
Beste Ron,
ik moet zeggen helder verhaal ik als leek ben al heel ver gekomen door middel van je verhaal en toch is het me nog niet gelukt.
Het probleem zit hem in het kopiëren van de gevonden pad. Heb alles zo ingevoerd als door jouw weergegeven alleen krijg ik dan de meldin dat hij Windows\system32 niet kan vinden als intern of extern bestand enz. Wat doe ik fout hoop dat je mij nog verder kan helpen. Alvast bedankt
Hallo Ids,
Je bent dus al gekomen tot een volledige versie van svchost.exe, en je staat in het pad waarin dat bestand staat?
Dit kan je controleren door dir svc*.*[Enter] te doen, want dan zou svchost.exe wellicht samen met de ex_ versie in je scherm moeten verschijnen.
Als dat het geval is dan zit je op de juiste map op je harde schijf.
copy svchost.exe c:\windows\system32 zou dan moeten werken, wellicht met de vraag of je een reeds bestaande versie moet overschrijven, te beantwoorden met de “J” toets.
Het pad is uiteraard anders indien je windows niet standaard op drive C staat en in de standaard installatiemap c:\windows staat.
Luitjes,
Gisteren nog even onze IT boys met deze oplossing geconfronteerd. Men kwam met nog een oplossing.
Je download op een USB-stick het nieuwe dat bestand welke je dan ook vanaf je stick zou kunnen installeren?. Uiteraard in veiligemodus en als admin. Daardoor werkt Mcaffee weer en kun je svchost weer herstellen vanuit de quaratine.
Ik heb er nog mijn twijfels over deze oplossing? Maar goed mogelijk dat dit wel werkt en wilde jullie dit niet onthouden.
Beste Rob,
ik heb het volgende resultaat gekregen nadat ik dir svch*.* /s heb ingevoerd. Hij vind 6 bestanden waarvan 3 svchost.exe. Hij vind bijvoorbeeld in de map van c:\recover\windows\system32 het bestand vindt hij ook in c:\Windows\$NtServicePackUninstall$. Heb vervolgens copy c:\Windows\$ntservicepackuninstall$\svchost.exe c:\Windows\system32 ingevuld krijg dan de volgende melding \Windows\system32 wordt niet herkend als een interne of externe opdracht, programma of batchbestand. Met het ander gevonden bestand krijg ik zelfde melding. Ook heb ik al geprobeerd om het via USB te doen maar ook dan kopieert hij het niet. Ik weet het dus ook niet meer wat ik fout doe. Hoop dat je me nog verder kan helpen
Ik zie denk ik al wat er aan de hand is…. het DOS copy commando kan niet overweg met een pad waarin namen langer dan 8 tekens zitten en waar dollartekens in voorkomen, dus de $nt….. kan je niet gebruiken.
Probeer dus de versie die in c:\recover\windows\system32 staat…. dit doe je als volgt.
CD c:\recover\windows\system32[Enter]
dir svch*.*[Enter] ->Dit zou moeten tonen dat svchost.exe daadwerkelijk daar staat?
copy svchost.exe c:\windows\system32[Enter]
Dan zou je als antwoord moeten krijgen 1 bestand(en) gekopieerd en kan je vervolgens de machine volgens de instructies in mijn verhaal herstarten met shutdown /r[Enter]
Laat even weten of het werkt nu?
@Winfred: En wat nou als het bestand svchost.exe niet in Quarantine staat als svchost.vir, maar zoals bij jou verdwenen is? Dan werkt de oplossing dus weer niet?
Of als zoals bij jouw versie McAfee de bestanden in Quarantine worden omgenoemd in onbetekenende ellenlange namen?
ICT boyz…. sorry, ik ken ze een beetje, denken een niveautje of 20 te hoog voor de gemiddelde computergebruiker, en een “piece of cake” kretologie oplossing voor hen zegt mensen zoals jou en Ids waarschijnlijk helemaal niks.
Beste Ron,
heb zojuist geprobeerd wat je zei als ik cd c:\recover\Windows\system32 intoets geeft hij gelijk aan dat het niet wordt herkend als een interne of externe opdracht, programma of batchbestand. Vervolens heb ik het zo gedaan cd recover enz zoals je het bij stap 1 ook deed dit werkte op zich wel toen ik dus c:\ recover\windows\system32 had staan heb ik vervolgens daarachter dir svch*.* getypt en hij vond inderdaad het svchost.exe bestand. Ik heb toen achter de regel c:\recover\Windows\system32>copy svchost.exe c:\Windows\system32 getypt en dan krijg ik weer de melding \Windows\system32 wordt niet herkend als een interne of externe opdracht, programma of batchbestand. Ik krijg het idee of de mogelijkheid om te kopiëren op de een of andere manier wordt geblokkeerd. Ik heb namelijk ook al geprobeerd om het svchost.exe bestand via USB stick te kopiëren maar dat wilde ook niet! Ik hoop dat je me nog verder kan helpen.