x ago ( vedi se ti può servire per risolvere il problema al pc )

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
P@tty66
00lunedì 5 maggio 2008 14:16
MBR://PHISICALDRIVER0: facendo una ricerca su quello che mi hai scritto in pvt esce questo:
User & Interface

Conoscere le varie fasi che determinano lo startup di un sistema operativo è molto importante. In quest’articolo vedremo gli step principali che determinano l’avvio di Windows 2000, ma non solo

Windows 2000 Startup e DiskProbe

di Alberto Lippo e Francesco Lippo



Il processo di startup di un sistema operativo complesso come Windows 2000 è un argomento indiscutibilmente interessante. Anche se a qualcuno può sembrare noioso ed inutile, conoscere le fasi che ne determinano l’avvio può spesso evitarci grossi problemi. A mio avviso, ogni amministratore di rete o chiunque sia responsabile del buon funzionamento dei server aziendali, dovrebbe essere a conoscenza di questi aspetti, almeno dei principali, per evitare magari di commettere errori banali e, a volte, irreparabili, nel tentativo di ripristinare il corretto avvio del sistema.

Considerato che spesso i principali problemi di startup sono legati proprio a problemi con l’hard disk, in quest’articolo mostreremo l’uso di una piccola utility, forse poco conosciuta o forse poco utilizzata, in grado di aiutarci a prevenire e correggere alcune situazioni critiche.



Lo startup di Windows 2000

Chiunque abbia già qualche conoscenza sulla fase d’avvio di Windows NT Server, resterà probabilmente sorpreso nello scoprire che, per molti aspetti, quella del suo successore è molto simile. In realtà, infatti, le principali fasi che Windows 2000 compie dal momento in cui il server è acceso sino alla comparsa a video della finestra di benvenuto con il messaggio "Press Ctrl-Alt-Delete to begin", mostrano molte similitudini con quelle di Windows NT e chi ha già esperienza con questa release di Windows, non faticherà molto ad apprendere la fase di boot di Windows 2000.

E’ quasi inutile evidenziare che il primo passo compiuto in assoluto dal sistema dal momento in cui accendiamo il server, è il Power On Self Test (POST). Questa prima fase verso il completo caricamento del sistema operativo, in realtà, non ha nulla a che fare con esso. Durante il POST, infatti, sono solo verificati i componenti principali del sistema, come memoria, tastiera, ecc… ed ogni periferica collegata ad esso ha qui la possibilità di lanciare, a sua volta, il proprio POST.

La parte più importante e quella che ritengo personalmente più interessante, ha proprio inizio subito dopo, ovvero quando il BIOS, una volta rilevato l’hard disk di avvio, ne legge il suo Master Boot Record (MBR) e lo carica in memoria, cedendone il controllo. Il Master Boot Record, come molti già sapranno, è il primo settore d’ogni hard disk. E’ composto essenzialmente da un programma (il Boot Loader) e dalla Partition Table (PT), che rappresenta una specie di mappa contenente le informazioni sulle nostre partizioni. In essa, ad esempio, è indicato qual è la partizione bootable, com’è stata formattata e da dove essa ha inizio.

Quando il controllo passa all’MBR, questi, tramite il suo Boot Loader, legge la Partition Table e, rilevata la partizione d'avvio, ne copia in memoria il suo Boot Sector permettendone quindi l’esecuzione. Non è scopo di questo articolo descrivere a fondo tali strutture, ma è importante sottolineare che esiste una sostanziale differenza tra un Boot Sector e l’MBR. Spesso, infatti, questi 2 oggetti sono confusi tra loro, mentre è bene sapere sin d’ora che costituiscono 2 elementi del nostro hard disk completamente diversi. Per semplicità, possiamo affermare che l’MBR rappresenta il primo settore "assoluto" di ogni hard disk, mentre il Boot Sector rappresenta il primo settore di ogni partizione. La corretta comprensione di questi oggetti è importante se vogliamo identificare meglio e con maggiore precisione quale sia la causa dei problemi d’avvio.

A questo punto, supponiamo dunque che il Boot Loader dell’MBR, letta la Partition Table, rilasci il controllo al Boot Sector della partizione di avvio. E’ da questo momento in poi che entrano in gioco i componenti di Windows.



Il Bootstrap Loader Process

Il bootstrap loader di Windows 2000 è proprio NTLDR (un nome conosciuto sicuramente dagli utilizzatori di Windows NT). Necessita della presenza di almeno 3 file, all’interno della partizione di avvio, affinché possa avviarsi correttamente: Boot.ini, Bootsect.dos (nel caso in cui fosse necessario far partire un sistema operativo diverso da Windows 2000, come Windows 98, ad esempio) e Ntdetect.com.

NTLDR è responsabile dell’esecuzione di molte operazioni, le più importanti delle quali sono:

Cancellazione dello schermo e visualizzazione di una schermata con la scritta OS Loader V5.0.
Lettura del file Boot.ini, dando così la possibilità all’utente di selezionare il sistema operativo da avviare (nel caso sul server fossero installati altri SO). Questa schermata è meglio conosciuta con il nome di Bootstrap Loader Screen. Nel caso in cui il sistema operativo non fosse Windows 2000, NTLDR carica il file Bootsect.dos e gli passa il controllo. Questo file altro non è che la copia del Boot Sector della partizione primaria effettuata "prima" dell’installazione di Windows 2000.
Nel caso in cui, invece, la scelta dell’utente è Windows 2000, NTLDR carica Ntdetect.com per il controllo dell’hardware.
Caricamento ed avvio di Ntoskrnl.exe, al quale passa le informazioni sull’hardware rilevate precedentemente dal modulo Ntdetect.com.
Gestione del pulsante F8, tramite il quale è possibile accedere alla schermata di Troubleshooting and advanced startup option for Windows 2000, che permette ad un utente di decidere tra diverse modalità di partenza, qualora ce ne fosse la necessità.
In particolare, è importante dire che, una volta che è stato scelto il sistema operativo o, in ogni caso, è scaduto il timeout impostato all’interno del file Boot.ini per effettuarne la scelta, il modulo Ntdetect.com rileva tutte le informazioni sull’hardware installato che saranno successivamente passate al modulo Ntoskrnl.exe dallo stesso NTLDR. Ha quindi inizio un’ulteriore fase, la Kernel Load Phase, durante la quale sono compiute diverse operazioni, tra cui il caricamento dei device driver. Se non ci sono particolari problemi durante quest’ulteriore step del processo di startup, Windows 2000 esegue Winlogon.exe dal quale otteniamo l’ormai famosa schermata di benvenuto del sistema operativo, ove siamo obbligati alla pressione dei tasti Ctrl+Alt+Delete.

A questo punto possiamo considerare terminata la fase di startup di Windows 2000 ed iniziare a lavorare.



Troubleshooting Startup Problem

Dopo questa lunga, ma "semplificata" premessa sul processo di startup di Windows 2000, ci saremo resi sicuramente conto del fatto che gli aspetti che entrano in gioco durante il suo avvio sono davvero molteplici.

Di conseguenza, è semplice intuire che le cause che possono determinare problemi allo startup, possono essere di varia natura. Ad esempio:

È stato modificato manualmente ed erroneamente il file Boot.ini oppure risulta corrotto;
Il Master Boot Record è corrotto.
La Partition Table contiene valori non validi.
Il Boot Record della partizione con il sistema operativo che si sta tentando di avviare, è corrotto.
Il file NTLDR è stato cancellato o è corrotto.
E’ stata installata una nuova periferica, ma in maniera scorretta (driver non installato correttamente, IRQ errato, ecc…).
In casi come quelli appena mostrati ed in tutti gli altri che potrebbero presentarsi, però, non è opportuno tentare di ripristinare questi malfunzionamenti senza aver chiaro di quale sia il "punto" preciso in cui il sistema operativo genera l’errore. E’ importante capire bene se il problema si presenta prima che il sistema ceda il controllo a Windows 2000 oppure dopo. Ciò è indispensabile, visto che la corretta strategia per la soluzione di un problema di startup può essere totalmente diversa in entrambi i casi. Spesso, infatti, errori che si evidenziano prima che il controllo sia ceduto al sistema operativo, sono più facilmente riparabili di quanto si possa credere e senza che i nostri dati siano in qualche modo pregiudicati.

Premesso ciò, dunque, possiamo distinguere queste due fasi logiche semplicemente basandoci su quanto detto nel paragrafo precedente e prendendo quindi come riferimento proprio il Bootstrap Loader Screen. Considerato che non è scopo di quest’articolo analizzare la seconda fase, ci soffermeremo solo sulla prima e lo faremo illustrando in che modo possiamo prevenire e correggere errori di avvio legati all’MBR, alla Partition Table o ad un Boot Sector.

La documentazione di Microsoft evidenzia in maniera sommaria quali siano i sintomi che fanno pensare a problemi nella prima fase dello startup:

Il computer si blocca subito dopo il POST
Non ci appare a video il Bootstrap Loader Screen
Riceviamo messaggi d'errore del tipo: Missing Operating System, A disk read error as occured, Invalid partition table, Hard disk error, ecc…
Se intuiamo che l’errore è simile ad uno di quelli appena elencati, allora può tornarci molto utile sapere che esiste un’utility molto potente messa a disposizione da Microsoft sul CD di Windows 2000, che si chiama DiskProbe. Vediamola in dettaglio.



L’utility DiskProbe

Quando riteniamo che una delle strutture menzionate precedentemente sia la causa dei nostri problemi d’avvio, l’utility DiskProbe può rappresentare davvero il modo più semplice per risolverli. Questo piccolo tool facente parte del gruppo di programmi Windows 2000 Support Tool, è un piccolo sector-editor che permette a qualunque utente con privilegi amministrativi di salvare o modificare qualsiasi settore dell’hard disk locale. E’ naturale e quasi ovvio sottolineare, prima di andare avanti, che il suo utilizzo necessita di molta attenzione, dato che la modifica errata di soli pochi byte di un settore importante come potrebbe essere l’MBR o un Boot Sector di una partizione, può causarci seri problemi. Si consiglia, dunque, di far pratica prima su hard disk di prova e di salvare sempre i settori che s’intende modificare.

Come già anticipato, DiskProbe si presenta come un tool in grado di visualizzare informazioni circa qualunque settore dell’hard disk, compresi anche MBR e Boot Sector che, non essendo considerati parti vere e proprie di un filesystem, solitamente non sono "considerati" dalle utility attualmente messe a disposizione dal sistema operativo.

DiskProbe si presenta con un’interfaccia grafica molto semplice e simile a quella mostrata in Figura 1. All’inizio mostra semplicemente un settore composto da soli "00" e ciò perché non sa ancora su quale device, fisico o logico, dovrà lavorare. La prima cosa da fare, quindi, è quella di attivare l’hard disk o il volume logico sul quale effettuare le operazioni. DiskProbe permette di selezionare sino ad una massimo di 2 di questi oggetti, ma di renderne attivo solo uno per volta. Per ognuno di essi, poi, è permesso l’accesso in Read Only Mode (se vogliamo esser certi di non commettere errori dagli effetti indesiderati) o in Read/Write Mode. In Figura 2 sono mostrati alcune di queste fasi. Quello che si vede chiaramente dall’esempio è che è stato selezionato un solo hard disk, identificato dalla voce Physical Drive 0 (se ci fossero stati altri hard disk, avremmo avuto nell’elenco anche Physical Drive 1, 2, ecc…) ed il volume logico D:, con attivo proprio quest’ultimo. Questo sta a significare che tutte le operazioni che effettueremo da questo momento in poi, sino a quando non cambieremo le impostazioni, si riferiranno al volume D:.

Una cosa interessante da notare è che se dopo aver selezionato, ad esempio, Physical Drive 0, apriamo Disk Admnistrator, quel drive ci apparirà come Off Line sino a quando non lo "rilasceremo" da DiskProbe. Inoltre, è importantissimo anticipare che occorre fare molta attenzione quando sono attive altre applicazioni contemporaneamente a DiskProbe, in quanto esso riporta "direttamente" le modifiche effettuate su un certo settore senza utilizzare né la file cache, né tantomeno l’NTFS filesystem log file e ciò potrebbe creare qualche problema se altre applicazioni utilizzano i dati di quel settore.

Una volta deciso su quale drive, logico o fisico, lavorare (quindi dopo averlo reso attivo con il pulsante Set Active), possiamo finalmente iniziare a "navigare" attraverso i suoi settori per compiere operazioni di lettura, modifica, salvataggio o anche di ripristino di dati precedentemente salvati. Ma vediamo tutto questo.



Utilizzare DiskProbe

Supponiamo di aver scelto Physical Drive 0 come attivo e di voler vedere il suo Master Boot Record. Per far questo non dobbiamo far altro che selezionare la voce di menu Sectors, quindi Read ed impostare i valori 0 per lo Starting Sector ed 1 per Number of Sectors. La schermata che ci apparirà a video è molto simile a quella mostrata in Figura 1. Tuttavia, questa non è la sola "vista" concessa da DiskProbe. Il modo in cui i dati ci possono essere mostrati, sono di ben 4 tipi:

Bytes: è la vista di default e mostra il settore suddiviso per righe di 16 byte ciascuna, in cui è mostrato l’offset di ciascuna all’interno del settore, i valori esadecimali d’ogni byte e la loro codifica
Partition Table: mostra i dati strutturati come se stesse leggendo la PT dall’MBR. Ovviamente, se il settore di riferimento non è un MBR, i valori mostrati non hanno alcun senso
NTFS BootSector: analogo al precedente
FAT-16 BootSector: analogo al precedente
Se il drive sul quale stiamo effettuando le prove è attivo in lettura/scrittura, potremo anche modificare i valori in esso contenuti mediante una qualunque di queste viste. In Figura 3, ad esempio, è mostrato un MBR con vista Partition Table. Ovviamente, per quanto detto in precedenza, i dati sono coerenti con quelli inseriti nella PT. A questo punto, dopo aver visto in che modo navigare tra un settore e l’altro, ci rimane la parte più interessante e cioè quella del salvataggio e successivo ripristino di un settore. Le operazioni che ci accingiamo a descrivere non sono molto diverse, come logica, da quelle sinora effettuate. Infatti, supposto che sia sempre l’MBR il settore di riferimento, dobbiamo innanzitutto selezionarlo e salvarlo. Il salvataggio di un gruppo di settori è effettuato semplicemente tramite il menu File. Il numero di settori che sarà salvato è riferito all’ultima operazione di Read effettuata ed il file appena creato potrà essere anche modificato successivamente mediante lo stesso DiskProbe, attraverso la voce di menu File/Open File.

A questo punto, supposto di aver salvato l’MBR in un file di nome SectorMBR.dsk, non ci resta che vedere come utilizzarlo. Per prima cosa, occorre aprire il file, semplicemente tramite la precedente voce di menu o direttamente lanciando l’eseguibile DskProbe.exe seguito dal nome del file. Subito dopo aver attivato il Physical Drive corretto ed in modalità Read/Write, non dobbiamo far altro che selezionare il settore 0 come già fatto precedentemente e subito dopo scegliere la voce di menu Sector/Write. Sarà mostrata una finestra per la conferma dell’operazione ed il numero iniziale di settore dal quale cominciare a scaricare il file. In Figura 4 è mostrata anche questa schermata. Ovviamente, se non si era aperto nessun file o non si era selezionato alcun settore, DiskProbe avviserà l’utente con un messaggio d’errore.
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 09:31.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com