Uno dei messaggi d'errori più frequenti,
quando un programma si blocca sotto Windows 95/98/ME, è ad esempio
"Questo programma (es. Photo Paint 9) ha causato un errore di pagina
non valida nel modulo Kernel32.dll, indirizzo di memoria..."
Il file kernell32.dll ha il compito di svolgere alcune delle
funzioni più importanti di gestione della memoria, nonché della
gestione delle porte di IO e degli interrupt. L'espressione "pagina
non valida" indica il modo d'accesso da parte di Windows alla
memoria disponibile ed al file di SWAP (memoria virtuale). Windows
suddivide la memoria in pagine, di quattro kb ciascuna,
raggiungibili tramite un indirizzo di memoria. Il messaggio di
errore indica quindi che un altro programma ha tentato di accedere
ad un'area di memoria gia impegnata dal kernel32. L'accesso di altri
programmi a quest'area è vietato, a causa della rilevanza del file
kernel32.dll per il funzionamento del sistema operativo. Se però
l'applicazione cerca comunque di accedervi, compare il messaggio di
errore e, sovente si verifica il blocco di Windows.
...il programma va in crash
QCDPLAYER ha provocato un errore di pagina non valida nel
modulo KERNEL32.DLL in 017f:bff9db61.
Registri:
EAX=c00309c4 CS=017f EIP=bff9db61 EFLGS=00010216
EBX=0354fe28 SS=0187 ESP=0344ff48 EBP=034501e4
ECX=00000000 DS=0187 ESI=00000000 FS=80ef
EDX=bff76855 ES=0187 EDI=bff79198 GS=0000
Byte all'indirizzo CS:EIP:
53 8b 15 e4 9c fc bf 56 89 4d e4 57 89 4d dc 89
Immagine dello stack:
Allorquando si clicca sul pulsante "dettagli" della finestra di
errore, si può visualizzare la seguente ermetica spiegazione: [PhotoPaint
(esempio)] ha causato un errore di pagina nel modulo kernel32.dll]
…etc.
(Dr.Watson può, alle volte, determinare quale applicazione ha
oltrepassato l'area di memoria temporanea ad esso assegnata). Il
kernel32.dll, situato nella directory "C:WindowsSystem" è
notoriamente la maggior causa di errori nelle applicazioni di
Windows.
Non sempre la prima causa d'errore risiede nella corruzione del file
kernel32.dll ed a volte è sufficiente disinstallare (eliminando
anche le relative chiavi di registro, che di norma non vengono
cancellate durante il processo di disinstallazione) e quindi
re-installare l'applicazione che va in crash. In altri casi si
tratta di errori di programmazione insiti nello stesso applicativo,
per cui non vi resta che rassegnarvi a tenervelo così com'è. Se, al
contrario, più applicazioni rientrano nello stesso problema,
interrompendo il loro corretto funzionamento e denunciando un errore
di pagina nel kernel32, allora siete seriamente nei guai…
Prima di affrontare le possibili soluzioni, vi dico quello che non
dovete fare.
1) Non eseguite aggiornamenti di Windows o altre applicazioni, che
sia da internet che da cd. L' aggiornamento potrebbe peggiorare la
situazione. Non dimentichiamo che il browser Internet Explorer, ad
esempio, essendo profondamente integrato in Windows, è spesso il
primo protagonista di molteplici errori.
2) Non installate nuove applicazioni.
3) Non tenere in esecuzione diversi programmi nel contempo. Molti di
essi utilizzano librerie condivise, per cui si potrebbero verificare
errori di paginazione, dovuti al calo delle risorse GDI disponibili.
Vediamo ora cosa possiamo operare per eliminare il problema.
· Controllate il vostro Hard Disk
· Cancellate il file di swap
· Cancellate la lista delle password
· Ripristinate, se possibile, il registro di sistema
· Ripristinate il kernel32 originale
· Controllate la temperatura della CPU ed il corretto funzionamento
delle ventole
. Controllate la RAM
· Controllate i settagggi del BIOS
· Reinstallate Windows
Cancellate il file di SWAP
Un errore di pagina nel kernel32, anche se raramente, può essere
causato dalla corruzione del file di swap (memoria virtuale generata
su disco dal sistema). Visto che lo swap file è utilizzato da
Windows, è evidente che non potete eliminarlo durante l'esecuzione
dello stesso, quindi dovrete eliminarlo in modalità dos, riavviando
in dos puro con Windows 95/98 oppure utilizzando un disco floppy di
avvio di emergenza con Windows Millennium. Al prompt di MS-Dos,
localizzate il disco o partizione nella quale è allocato il file ".swp"
e digitate: "deltree win386.swp" (senza virgolette). Al riavvio
verrà generato un nuovo SWAP file.
Scandisk e Defrag
Ogni qualvolta il vostro pc non viene correttamente spento, scandisk
interviene, per verificare eventuali errori sul disco. Molti utenti
ritengono noiosa questa utilità, non rendendosi conto che annullando
periodici controlli al disco fisso, si incorrerà nell'inevitabile
corruzione di dati, sino alla perdita degli stessi. Un controllo in
Windows non sarà certo una cattiva idea. Eventuali errori nel file
system, cluster perduti, errori nei collegamenti incrociati, errori
fisici (bad sectors), verranno diagnosticati e poi riparati. Lo
scandisk che interviene dopo un errato shutdown del computer
controlla solo la struttura dei files e delle cartelle, per cui sarà
opportuno fare uno scanning approfondito. Questo ultimo controllo è
assai lento, ma ritengo che sia indispensabile eseguirlo, almeno
ogni tre mesi. La deframmentazione è altrettanto indispensabile;
essa può prevenire errori nell'esecuzione di programmi e, senza
dubbio, aumenta le prestazioni del sistema.
Estrarre il kernel32.dll dal cd di Windows
Se pensate che il vostro kernel sia danneggiato, potrete recuperare
l'originale dal cd di Windows, utilizzando l'utility "Controllo file
di sistema" da "Microsoft System Information".
Il processore e la sua temperatura
Molti errori di paginazione, schermate blu, improvvisi riavvi del
pc… sono causati quasi sempre da malfunzionamento della CPU (Central
Processor Unit), dovuto a difetti di fabbricazione, danni al core o
eccessiva temperatura di funzionamento. Controllate la ventilazione
all'interno del case, riordinate i cablaggi, rimuovete la polvere e…
prima di tutto, verificate che la ventola preposta al raffreddamento
del processore, funzioni al giusto regime di giri (da 2850 a 7500, a
seconda della cpu adottata).
Controllate i banchi di Ram
Un'altra possibile causa di malfunzionamento del vostro computer è
la Ram (Ramdom Access Memory) installata. Di solito il Bios è
settato in modo da saltare il test completo del modulo installato,
cosicché il computer continua il suo processo di Boot, anche se la
Ram dovesse avere qualche problema. A volte anche disabilitando il "quick
boot", nessun errore viene identificato, anche se presente. In certi
casi è opportuno eseguire un test in Windows per mezzo di utilities
come, ad esempio l'utility freeware DocMem. E' buona norma comunque,
adoperare un solo banco di RAM, magari da 256 Mb (massimo 512,
gestibili da Windows 98SE), anziche diversi banchi.
Di più: alcune motherboards si rifiutano di funzionare correttamente
se vi si montano più di due banchi di Ram (vedi la Asus Cubx o molti
modelli, anche recenti, di motherboard Abit).
Ripristinare un registro di sistema con Windows veramente
funzionante
Certamente sarebbe la soluzione migliore, ma difficilmente avrete a
disposizione un registro di sistema non solo perfettamente integro,
ma che non vada anche in conflitto con applicazioni installate o
rimosse successivamente. Windows salva automaticamente sino a cinque
file di registro al primo avvio del pc. Se l'ultimo file salvato è
integro, beh, siete di una fortuna sfacciata! In tal caso riavviate
Windows in modalità DOS e digitate al prompt dei comandi: "Scanreg /restore"
(senza virgolette). Selezionate il registro che a vostro
insindacabile giudizio è quello funzionante e premete il tasto
INVIO. Sappiate che se il registro ripristinato è... fasullo, il
sistema non potrà essere più avviato e allora, come diceva l'alieno
in Predator... "Sono c@..i, amico".
Controllate i settaggi del bios
Capita sovente che si metta mano al bios e si tentino azzardate
modifiche a certi parametri che invece non andrebbero in alcun modo
toccati. In certi casi si pregiudica addirittura l'avvio di Windows,
ma in altri, più fortunati, ma non certo meno subdoli, si
compromette il corretto funzionamento della macchina/software.
Quando non siete sicuri di quello che avete combinato, sarà il caso
di ripristinare i valori di fabbrica del bios, premendo il tasto
indicato dal produttore (es. F5 o F7). Successivamente sarà
possibile, con cautela epoche alla volta, riconfigurare quelle voci
che, in ogni modo, devono essere per forza personalizzate.
Controllare il file che registra le vostre password
Se con frequenza riscontrate errori di pagina nel kernel32 che
interessano programmi come Explorer, Msgsrv32, Commgr32, Mprexe ed
altri, è possibile che il file che memorizza le password sia
danneggiato. A questo punto non resta che procedere nel seguente
modo:
1. In Esplora risorse selezionate la cartella di Windows
2. Premete il tasto F3, questo avviare l'utility di ricerca
3. Nella casella del nome scrivete *.pwl
4. Iniziate la ricerca
5. Quando verranno visualizzati tutti i files con questa estensione,
eliminateli
6. Chiudete la finestra di ricerca e riavviate Windows
Nota: visto che questa operazione determina la perdita di tutte le
password che utilizzate nei diversi accessi su internet (comprese
quelle per la connessione al provider) vi consiglio vivamente di
segnarvi su di un blocco note o in un file di testo, la lista di
logins e passwords.
Reinstallare Windows come soluzione finale… o quasi
La reinstallazione del sistema operativo non è sempre la soluzione
definitiva, in quanto gli errori di paginazione possono essere
causati anche da problemi, come abbiamo già visto. La
stessa Microsoft ritiene che quella di reinstallare Windows non sia
la soluzione di tutti i mali. C' è da dire però che se, durante il
setup si verificassero altri "malfunzionamenti", beh, allora vi
hanno rifilato un pc che ha dei seri problemi. Gli errori di setup,
di norma non intervengono all'inizio del processo, ma verso la fine
dello stesso, quando il sistema inizia la configurazione dei
parametri/hardware. Se il processo si arresta, potete
tentare di resettare il computer. In questo caso, se siete
fortunati, Windows ricomincerà da dove si era interrotto. Se la
macchina non risponde, allora avete la risposta: non era un problema.
Prima di decidere di reinstallare Windows, per qualsiasi ragione,
dovreste leggere le prossime righe…
Reinstallare Windows senza perdere i vostri dati
Prima di tutto, dovete essere assolutamente sicuri della necessità
di reinstallare Windows. Spesso la sostituzione del sistema
operativo, previa formattazione del disco rigido, non è l'unica
soluzione. Esiste purtroppo una quantità enorme di
rivenditori-assemblatori improvvisati, spesso incompetenti sino al
midollo osseo e dunque essi, di fronte a problemi minimi, risolvono
dichiarando: "Bisogna formattare". Diffidate di tale superficialità,
e non affidate il vostro pc a mani così maldestre, poiché nel 90%
dei casi vi ritroverete con mesi di lavoro persi (l'assemblatore non
è legalmente responsabile per la perdita di dati da voi archiviati).
Se siete in grado di cavarvela da soli, con prudenza ed una buona
dose di pazienza, i risultati potranno essere meno devastanti!
Ricordatevi che reinstallare Windows non è la soluzione di tutti i
mali.
Ma torniamo al nocciolo dell'argomento. Non volete più perdere i
vostri dati importanti? Volete affrontare la reinstallazione di
Windows come una routine senza impatti negativi sul vostro lavoro?
Adottate le partizioni!
Il modo più veloce per partizionare un disco, anche se come metodo è
un po' ostico, visto che non è supportato da nessuna interfaccia
grafica, è FDISK, programma che lavora in DOS puro, ma che vi
metterà in condizioni di creare più partizioni in pochi minuti.
Considerate comunque che il programma DOS FDISK non permette di
conservare i dati presenti su disco. Fa praticamente tabula rasa!
In alternativa, anche al fine di effettuare partizioni senza perdere
i dati archiviati sull'Hard Disk, potete adoperare Partition Magic
della Powerquest, ma questo vi costa un ragguardevole esborso di
denaro e richiede molto tempo in termini di esecuzione dei file
batch che presiedono all'intera procedura.
Windows permette a mani esperte di essere plasmato a proprio
piacimento. Se dopo la realizzazione delle partizioni, faremo in
modo che esso salvi ad esempio la Rubrica di Outlook Express, i
messaggi di posta, i preferiti e quant'altro, su partizioni
destinate all'archiviazione dei dati e distinte dalla primaria (C:)
dove sarà logicamente installato il sistema operativo, formattare e
recuperare un sistema funzionante da file immagine (vedi Drive Image),
sarà un'operazione che occuperà dieci minuti in totale e non
richiederà nessun intervento, ne prima, né dopo, per l'archiviazione
o il recupero dei file importanti. E' ovvio che la partizione atta
al ricovero dei dati di lavoro dovrà essere organizzata in modo tale
da contenere in directory distinte tutti i documenti di Word, Excel,
Bryce, Flash, Immagini ecc. Ordine! Sul computer come nella propria
stanza! I dischi rigidi sempre più capienti richiedono
obbligatoriamente una organizzazione in partizioni, al fine di
evitare spazio sprecato su disco (Più è grande l'Hard Disk, più sono
grandi i clusters, maggiore sarà lo spazio non utilizzabile, il
cosiddetto "wasted space"), inoltre l'enorme quantità di dati
archiviabili sarà sempre più difficile da rintracciare a distanza di
tempo, se non organizzeremo il nostro pc come l'ufficio di una
diligente segretaria. Ma ce ne sono segretarie diligenti? :(
Perché in Windows 2000 ed XP non esistono kernel32.dll crashes?
Un aggiornamento a Windows 2000 o XP, alle volte, può esser
conveniente… Bisogna dire che questa scelta si paga con un generale
calo delle prestazioni a parità di macchina, eppoi non è del tutto
vero che Windows 2000 e Windows XP siano più stabili. In certe
condizioni anche in questi OS le applicazioni si bloccano, per cui
non me la sentirei di consigliare a cuor sereno un upgrade a Windows
2000 o XP. Una cosa è certa: se vorrete passare ad uno di questi due
sistemi operativi, non più basati sul vecchio kernel32, vi
sconsiglio vivamente di operare l'aggiornamento dal vecchio OS,
perché il pc sarà molto più lento che in un upgrade radicale (a
disco formattato) e più instabile, visto che alcuni errori del
precedente Windows potrebbero non essere stati risolti egregiamente,
inoltre molti applicativi non saranno più funzionanti, per ovvii
motivi di compatibilità.
Nella famiglia NT, di cui fanno parte le diverse versioni di Windows
2000 e Windows XP, il kernel32.dll file è un componente (API) ovvero
Application Programming Interface, il quale viene richiamato dalle
applicazioni durante il loro funzionamento. In Windows 9x, il
kernel32.dll rappresenta invece il cuore del sistema (core component)
che provvede, come intuibile, al funzionamento dell'intero sistema
operativo. In Windows 2000/XP il componente centrale è rappresentato
dal file Ntoskrnl.exe. Questo file gestisce l'OS, ma non viene
richiamato dalle diverse applicazioni. Se un programma adopera una
routine di basso livello, questa funziona adoperando il
kernel32.dll, laddove però non "gira" il sistema operativo.
Un "kernel crash" in Windows9x e Windows ME è un crash nel
kernel32.dll, un crash in Windows 2000/XP è un crash in
Ntoskrnl.exe. In Win9x e WinMe, un crash nel kernel32.dll interessa
anche il sistema. Dato che Windows 2000/XP sono OS completamente
diversi dai precedenti, i processi di funzionamento delle
applicazioni e del sistema operativo sono separati, ragione per cui
il file Ntoskrnl.exe risulta più protetto rispetto ai sistemi non
NT. I processi di funzionamento separati "Kernel" e "utente" sono
esclusivi di Windows 2000/XP. Questa architettura rende difficile un
crash che dall'applicazione si "propaghi" al sistema. Win98 e WinMe
adoperano il "kernel mode" e "user mode" in modo interattivo, per
cui un crash di programma interferisce spesso col corretto
funzionamento del sistema.
Questo non significa che Windows 2000/XP siano avulsi da crashes,
ma, in ogni caso, questi non interessano il kernel32.dll.
Conclusioni
Difficile orientarsi, lo ammetto, ma alla luce dei chiarimenti
esposti, risulta chiaro che i motivi che risiedono nei kernel crash,
possono essere molteplici. Da quì, almeno, non sarete costretti nel
procedere alla cieca. Forse, un controllo scrupoloso vi permetterà
di risolvere l'arcano.