Sei sulla pagina 1di 3

Guida al MBR (Master Boot Record)

Allaccensione del computer, viene eseguita una complessa serie di operazioni contenute nel BIOS (Basic Input/Output System). Per prima cosa viene eseguito il POST (Power-On Self Test), una serie di test dei principali componenti hardware, dopo di che il BIOS legge il primo record (settore di 512 byte) del primo hard disk, che si chiama Master Boot Record (record di avvio principale) perch il punto di partenza per trovare il sistema operativo da caricare. L'MBR viene scritto dal sistema operativo, in occasione della prima formattazione di una partizione del disco oppure dalla console Gestione Disco in Gestione Computer; l'MBR presente su tutti gli hard disk. Il BIOS, dopo aver copiato l'MBR in memoria, passa il controllo al codice contenuto nella prima parte del record (detto master boot code), che contiene istruzioni (300 byte) e messaggi di errore (80 byte). La parte finale dell'MBR contiene i 64 byte della partition table (tabella delle partizioni) e una firma di due byte con valore AA55h (h sta per esadecimale), senza la quale l'MBR non considerato valido. Il master boot code, caricato a un indirizzo fisso della memoria di sistema, esegue quattro azioni: Scansione della partition table alla ricerca della partizione attiva Localizzazione del settore iniziale della partizione attiva Caricamento in memoria di una copia del settore di boot della partizione attiva Trasferimento del controllo al codice eseguibile contenuto nel settore di boot. Avvio e partizioni Per chiarire la funzione dell'MBR, rivediamo brevemente le caratteristiche della partition table. Nei 64 byte disponibili, c' posto per quattro descrittori di partizioni. Un hard disk pu contenere fino a quattro partizioni primarie e pu contenere una partizione estesa, nel qual caso potranno esserci fino a tre partizioni primarie. Una partizione primaria completamente descritta dalla sua voce di partition table, che include tipo, posizione e dimensioni della partizione. La partizione estesa un contenitore suddiviso in partizioni logiche (fino a 24), dette anche drive logici, che formano una struttura concatenata. Nella partition table ci sono solo le dimensioni e la posizione della partizione estesa, mentre i descrittori delle partizioni logiche sono contenuti all'inizio delle partizioni stesse. Sul disco di avvio, solo una delle partizioni primarie pu essere dichiarata attiva e sar utilizzata per il boot del sistema operativo. Ognuno dei quattro descrittori nella partition table include i seguenti campi: indicatore di boot (un byte) che vale 80 se la partizione attiva, altrimenti 00; numero di testina (o superficie dei piatti) dove inizia la partizione (un byte); settore iniziale della partizione (6 bit); cilindro iniziale (10 bit); system id (un byte), l'identificatore del tipo di partizione (per es. 07h per partizione NTFS); testina finale (un byte); settore finale (6 bit); cilindro finale (10 bit); relative sectors (4 byte), numero di settori tra inizio del disco e inizio della partizione; numero totale di settori della partizione (4 byte). Ricordiamo che nei processori Intel e compatibili i numeri maggiori di un byte sono memorizzati in ordine inverso di byte, partendo cio dai bit meno significativi. Ad esempio, i due byte finali AA55h dell'MBR appaiono come 55AAh quando visualizzate il contenuto del settore. Prendiamo come esempio un PC con il disco di avvio suddiviso in una partizione primaria e in una partizione estesa composta di due partizioni logiche. Supponiamo che nella partizione primaria sia installato Windows 2000 e che Windows XP sia installato nella seconda partizione logica. Dopo l'installazione di Windows 2000, la partizione primaria (C:) era attiva e la partizione estesa era vuota. Quando Windows XP stato installato in F: (partizione logica), il setup ha aggiornato i file di C: utilizzati per avviare il sistema operativo, tra cui NTLDR, Boot.ini e Ntdetect.com. Il risultato che la partizione attiva resta C:, detta partizione di sistema perch quella da cui viene caricato il sistema operativo. Ora riprendiamo la sequenza di passi all'avvio del computer dal momento in cui il BIOS passa il controllo al codice del MBR. Il master boot code trova nella partition table l'ubicazione della partizione attiva (quella contrassegnata con 80) e ne legge il primo settore, che il boot record (record di avvio) della

partizione. Le istruzioni contenute nel boot record di C: determinano l'esecuzione di NTLDR (NT loader), dopo averlo copiato in memoria dalla directory principale della partizione attiva, che C:. NTLDR, per decidere quale sistema operativo caricare (nel nostro esempio ce ne sono due), legge Boot.ini, un file di testo in C:\ che elenca i sistemi operativi installati e la loro ubicazione sugli hard disk. Quindi NTLDR propone all'utente di scegliere da un menu quale sistema avviare, si procura informazioni sulla configurazione hardware e cerca la partizione di boot del sistema operativo scelto dall'utente. Se scegliamo Windows XP, NTLDR trova in Boot.ini che XP installato nella directory \Windows della terza partizione del primo disco, quindi d inizio al caricamento del sistema operativo e gli passa il controllo. Multiboot In generale, se i sistemi operativi installati sono tutti versioni di Windows e sono stati installati nella sequenza corretta (dal pi vecchio al pi nuovo 2000/XP/Vista e 7), NTLDR e Boot.ini svolgono senza problemi le funzioni di Boot Manager. Se anzich Windows avete installato Linux, troverete nellMBR il codice di caricamento di Linux (LILO, Linux Loader). Se desiderate installare tanti sistemi operativi eterogenei sullo stesso computer, avete a disposizione diversi boot manager che potete scaricare da Internet, ciascuno dei quali inserisce il proprio codice nel Master Boot Record. Vulnerabilit LMBR la struttura di dati pi importante del disco; se viene corrotta per effetto di malfunzionamenti, errori, virus o altro, si rischia di non poter pi accedere al disco e di non poter riavviare il sistema operativo. Lo stesso vero per i boot record delle partizioni: se danneggiati, possono impedire laccesso alla partizione e al sistema operativo che vi fosse installato. Due modi comuni per contrarre uninfezione virale sono avviare il computer da un floppy disk infetto o eseguire un programma infetto. Windows XP durante il normale funzionamento protetto da virus di MBR e boot record, ma non protetto nella fase di avvio, prima che XP attivi i driver di disco in modalit protetta. Come sempre, quando si tratta di sicurezza, la prevenzione di gran lunga pi efficace ed economica rispetto alla riparazione per disinfestare un sistema compromesso e recuperare, se possibile, dati, dischi e partizioni. Strumenti per lanalisi ed il Backup dellMBR Il Master Boot Record (MBR) una sezione di 512 Kb presente sul disco rigido, che viene interpretata subito dopo la lettura del Bios all'accensione del pc, e contiene l'elenco delle partizioni presenti su disco, la loro dimensione e il loro file system. Il MBR una componente indispensabile per l'avvio del sistema operativo, infatti in caso di corruzione del MBR il sistema operativo non si avvier pi. Sul MBR vengono installati anche eventuali boot manager che consentono di scegliere tra l'avvio di multipli sistemi operativi. Una delle precauzioni che potete adottare per proteggere l'MBR farne una copia, cos che, in caso di necessit, possiate verificare se corrotto ed eventualmente ripristinarlo. Togliersi il dubbio sull'integrit del MBR un primo passo per orientare la diagnosi del problema. Lo stesso si pu fare con i boot record delle partizioni. Ci sono molti strumenti disponibili, sia gratuiti sia shareware o commerciali, che permettono di visualizzare, salvare, ripristinare e modificare i settori di boot e in generale qualsiasi settore di disco. Il pi "chiaro" e semplice da usare se sapete come fatto un MBR il Boot Sector Explorer che consente di leggere e scrivere sui settori di boot in maniere facile e veloce. Pu anche esaminare altri dispositivi diversi dagli hard disk come ad esempio CD-ROMs, DVDs, penne USB e altro. Alcuni trojans, worms, viruses, rootkits e vari altri tipi di malware noto che vanno a modificare i settori di avvio, ma grazie a questo piccolo strumento noi potremo fare un backup dei settori originali e ripristinarli in un eventuale infezione. Da Microsoft potete scaricare Sector Inspector, un tool che visualizza informazioni sugli hard disk e il contenuto dei settori in formato esadecimale. Lo scaricate da: http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&familyid=DD3EF22AA586-4079-9489-C3EA14573FC4 e lo eseguite in finestra prompt comandi. Per vedere l'MBR del primo disco fisico, il comando Secinspect -dchs PhysicalDrive0 0/0/1 1 (disco 0, cilindro 0, testina 0, settore 1, un settore visualizzato). Uno strumento facile da usare per salvare e ripristinare l'MBR MBR Wizard, scaricabile da http://firesage.com/download.php. Tra le sue funzioni, permette di attivare/disattivare una partizione. Uno strumento analogo per operare e creare backup dell'MBR MBR Tool

(www.diydatarecovery.nl/mbrtool.htm). Molti sconsigliano di usare le utility originali di Windows, come fixmbr, che sembrano riparare l'MBR, ma possono causare guai. Nel caso, non avete timore, la procedura la seguente: Avviare il PC con il CD di Windows e far avviare linstallazione Scegliere ripristino installazione (con il tasto R) e poi Ripristino da Console di Emergenza Dalla console che apparir digitare: fixboot e poi invio fixmbr e poi invio Riavviare il PC In ogni caso fate prima un backup dell'MBR, cos da poterlo ripristinare se l'utility ha peggiorato le cose (per esempio cancellando la partition table). Anche Fdisk /mbr dovrebbe ripristinare il master boot code senza toccare la partition table, ma se per qualche motivo gli ultimi due byte AA55h sono stati cancellati, la partition table viene cancellata. Come riparare il MBR di Windows utilizzando Linux Ubuntu Se voleste provare a riparare l' MBR (Master Boot Record) di Windows, la pratica pi consigliata quella di utilizzare il disco dinstallazione originale di Windows, ma come alternativa potreste utilizzare Ubuntu. Ecco come fare: Avviare il live CD di Ubuntu. Andare nel menu Sistema > Amministrazione > Sorgenti Software ed abilitare gli Universal repository. Aprire il terminale con permessi da amministratore e dare il comando sudo apt-get install ms-sys per installare ms-sys (http://ms-sys.sourceforge.net/) Rilevare la partizione in cui installato Windows dando il comando sudo fdisk -l. La partizione di Windows dovrebbe chiamarsi pi o meno /dev/sda1 1 9327 74919096 83 NTFS. Da notare il /dev/sda1 che indica la partizione e la voce NTFS che ne indica il file system. Dare il comando sudo ms-sys mbr /dev/sda1 (dove /dev/sda1 sta per la partizione, quindi potreste doverlo cambiare) per riparare il MBR. Riavviare il PC. SITOGRAFIA: Note sul bios (http://www.compago.it/manuali/35-utilita/147-note-sul-bios.html ) Codici errore bios (http://www.compago.it/manuali/35-utilita/216-codici-errore-del-bios.html ) MBR (http://www.compago.it/index.php/manuali/34-linux/64-master-boot-record-mbr ) Boot.ini (http://www.compago.it/manuali/39-windows/93-guida-al-bootini.html ) Sector Inspector (http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&familyid=DD3EF22AA586-4079-9489-C3EA14573FC4 ) MBR Wizard (http://firesage.com/download.php ) MBR Tool (www.diydatarecovery.nl/mbrtool.htm ) MS-SYS (http://ms-sys.sourceforge.net )