BSOD PAGE_FAULT_IN_NONPAGED AREA

()

Questo errore è sempre causato da un driver, per incompatibilità di sistema, per problemi alla RAM o per errori sul disco che l’hanno rovinato.

L’errore si genera quando un driver di una periferica cerca di accedere ad una parte di memoria che è stata svuotata e, di conseguenza, genera un “page fault”, cioè indica una posizione nella memoria virtuale in cui dovrebbero trovarsi i dati richiesti, ma la porzione di memoria in questione non è mappata nel file di paginazione.
Vediamo come analizzare insieme le informazioni fornite dal sistema per risalire alla causa e risolvere il problema.

Per individuare il drivers che causa l’errore è occorre innanzitutto analizzare la schermata blu per vedere se ci sono indicazioni relative ad un file .sys.
Per analizzare la schermata occorre disabilitare il riavvio automatico di windows.


Per far ciò clicchiamo con il tasto destro su risorse del computer, proprietà, click sula scheda avanzate, avvio e ripristino:
deselezioniamo “riavvio automatico in caso di errore” e, cosa che può rendersi utile in seguito, impostiamo dal menu a tendina “immagine completa della memoria”.

Una volta salvate le impostazioni al prossimo errore di PAGE_FAULT potremo leggere tutta la schermata per trovare la causa dell’errore.
Purtroppo la maggior parte delle volte l’indicazione dell’errore è generica ed esso viene segnalato con “STOP 0x00000050” e viene visualizzato il dettaglio del dump della memoria.

Tale file DUMP contiene indicazioni preziose per risalire alla causa dell’errore, viene generato solitamente nella cartella del sistema (di solito c:\windows o c:\windows\minidump) e comunque è possibile impostarlo nella schermata delle proprietà dell’avvio e ripristino.

Per analizzare il file di dump occorre scaricare l’utility gratuitaaa Windbg (windows debugger) di microsoft che fa parte del Windows Driver Kit (WDK) disponibile sul sito Microsoft.

Una volta scaricato il WDK occorre masterizzare il file ISO su CD oppure usare un software per montare in windows il file (leggi l’articolo Montare file ISO come CD Virtuali)

1 Lanciamo il setup e selezioniamo solo i Debugging Tools for Windows.
2 Al termine dell’installazione cerchiamo e lanciamo dal menù Start il programma Windbg.exe.
3 Dal menù File cliccare su Open Crash Dump.


In calce dovrebbero esserci le informazioni relative alla causa del crash di sistema dindicate dalla voce Probably caused by:…
Il .SYS specificato è con molta probabilità la causa scatenante del crash di sistema.

Se non dovessero esserci indicazioni su un eventuale causa del crash possiamo provare un analisi del dump tramite il comando analyze.
Scorrendo la pagina che mostra il contenuto del file di dump, circa a metà pagina, dovrebbe esserci un link blu che ci invita a lanciare il comando !analyze -v, cliccandoci sopra parte l’analisi del file dump.


L’analisi può essere anche eseguita lanciando il comando !analyze -v dalla console di WinDbg (la striscia bianca in calce alla pagina, al lato del box dove si legge 0: kd>)

Tra le informazioni aggiuntive di debug possiamo vedere la variabile MODULE_NAME che dovrebbe fornirci il nome del driver .sys che genera l’eccezione e il DEFAUL_BUCKET_ID che indica l’errore avvenuto.

Nel mio caso specifico il MODULE_NAME è RTSTOR ed il DEFAULT_BUCKET_ID è VISTA_DRIVER_FAULT.


A questo punto so per certo che la causa del fault è il driver RTSTOR.SYS che è un driver di windows VISTA evidentemente non compatibile con l’aggiornamento a Windows7 e che comunque è passato inosservato dalla procedura di controllo di compatibilità di Windows 7.

Una volta scoperta la causa occorre trovare una soluzione.
-Il fault del driver è dovuto:
-incompatibilità con il sistema operativo in uso o bachi della versione del driver
-filesystem rovinato che ha corrotto il file del driver
-problemi fisici alla RAM del computer (eccezione più rara, generalmente accompagnata da freeze del sistema che risulta paralizzato con la schermata ben visibile)

Il fault del primo tipo si risolvono con un update del driver. Basta fare una ricerca in internet per vedere a quale periferica appartiene quello specifico driver. Nel mio caso ho cercato RTSTOR.SYS e scopro che si tratta del device “Realtek USB Mass Storage Driver for Vista”, a conferma nella gestione delle periferiche richiamo lo scheda delle proprietà di questo devices e nel dettaglio dei drivers ritrovo proprio RTSTOR.SYS, non mi rimane che aggiornare il driver o rimuovere la periferica per risolvere il problema.

Per verificare i filesystem e cercare di recuperare gli errori del secondo tipo occorre schedulare un controllo dei dischi al prossimo riavvio del sistema, lanciano chkdsk c: /f dal prompt dei comandi o schedulandolo dalle proprietà del disco, nella scheda Strumenti, box Controlla Errori, tramite il pulsante Esegui ScanDisk.

Una volta corretti eventuali errori occorre procedere con l’update o la sostituzione del file del driver.

Qualora dovessero esser presenti errori nel disco ciò potrebbe esser causato o dalla non corretta chiusura di windows, quindi siamo di fronte ad un problema software che può essere facilmente risistemato, oppure potrebbero essere dei cluster rovinati nel disco, che probabilmente sta per guastarsi definitivamente.

Per verificare se il problema è un problema di disco occorre eseguire ScanDisk dopo qualche tempo per verificare la comparsa di nuovi problemi sul filesystem. Il perseverare di tali problemi è indice di un futuro guasto hardware. Utilizzate i tools di controllo del vostro disco per verificare e comunque eseguite un backup dei dati prima che sia troppo tardi.

Per i problemi causati dalla RAM occorre eseguire lo strumento di diagnostica della Memoria di Windows, come spiegato nell’apposito articolo e comunque in presenza di problemi alla RAM occorre contattare il fornitore hardware per far sostituire la RAM.

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?