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….