Windows non si avvia dopo la rimozione di user32.dll da parte di AVG



Dando uno sguardo alle keyword con le quali il mio blog viene raggiunto, mi accorgo che in parecchi sono rimasti vittime di un 'falso positivo' dell'antivirus AVG che, dopo un aggiornamento rilasciato nella notte tra sabato e domenica, riconosceva il file User32.dll (su sistemi non aggiornati all'ultimissimo 'patch level') come infetto da un trojan e lo rimuoveva senza troppi scrupoli.

La mancanza di tale file, indispensabile a windows, non permetteva successivamente di avviare il PC.

La soluzione è semplice, e la trovo su SpippolAzione:
[...] potete ripristinare il file avviando con il cd di installazione di Windows XP, o quello di Vista ed avviare la console di ripristino, oppure potte usare una distribuzione linux sufficente recente da riuscire a scrivere sui dischi NTFS, una Ubuntu 8.04 o 8.10 o simili andranno benissimo.

Una volta avviata la console di ripristino o la distribuzione linux troverete una copia del file cancellato perfettamente utilizzabile in c:\windows\system32\DLLcache, dovete solo rimetterla in c:\windows\system32 e riavviare.

Talvolta (a me è capitato), dopo aver ripristinato il file è possibile trovarsi nuovamente impossibilitati ad avviare il sistema, questa volta con l'errore
“Si è verificato un problema e Windows è stato arrestato per impedire danni al computer. Informazioni tecniche: STOP: c0000135 {Impossibile individuare un componente} Impossibile avviare l’applicazione specificata. Winsrv non è stato trovato. Una nuova installazione dell’applicazione potrebbe risolvere il problema.”

E anche questa volta la soluzione è stata prontamente pubblicata su SpippolAzione:
Questo e’ dovuto al fatto che, non si capisce per quale motivo, il file preso dalla DLLcache non gli andava bene.

Questo c000015 è un vecchio errore che usciva fuori quando si installava il service pack 2 di XP quando nel computer era presente un ben preciso malware, ma non è il nostro caso.

Ho risolto con il solito sistema, rimettendo a posto user32.dll, ma non quella presente nella DLLcache ma quello che ho trovato nella cartella C:\WINDOWS\$NtUninstallKB925902$

ATTENZIONE: potrebbe non andare bene per tutti, dipende dai livelli di service pack e aggiornamenti che avete nel pc, comunque se da prompt dos vi spostate in c:\windows e fate un

dir usr32.dll /s

vedrete dove trovare le varie copie di user32.dll, quindi provate a copiarli uno per uno in c:\windows\system32 e riavviare.

Published: November 10 2008

  • category: