Che cosa è L’MBR
Il Master Boot Record (MBR) viene creato ogni qual volta si crea la prima partizione sull’hard disk. Questo contiene la Tabella delle Partizioni del disco e un piccolo spazio dedicato all’esecuzione del codice per il boot start. Ovvero il codice necessario a far partire il sistema operativo in genere.
All’MBR è sempre dedicato il primo settore dell’Hard Disk. I primi 446 (0x1BE) bytes sono dell’MBR, gli altri 64 bytes sono dedicati alla Tabella delle Partizioni e gli ultimi 2 (0x55AA) bytes vengono usati per la “signature word” del settore.
Cosa succede se il primo settore viene danneggiato da un virus?
Potrebbero essere stati sovrascritti i primi 16 bytes con degli zero. Quindi l’MBR avrà questo aspetto:
000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000010 BF 1B 06 50 57 B9 E5 01 F3 A4 CB BE BE 07 B1 04 ?..PW?a.o¤E??.±.
……… ………………………………………… …………….
……… ………………………………………… …………….
Se si dovesse verificare una cosa del genere allora quando proveremo ad avviare la nostra macchina ci troveremo di fronte a una schermata bianca priva di messaggi prima delle procedure di hardware testing. Questo significa che il pezzo di codice all’inizio dell’MBR non può essere eseguito correttamente ed è il motivo per cui non vengono mostrati messaggi di errore. Comunque sia, se avvieremo da floppy, saremo in grado di vedere la partizione FAT, i files su questa e potremo eseguire le comuni operazioni di lettura,copia,esecuzione, ecc. Nel nostro esempio viene danneggiata soltanto la parte dell’MBR che serve all’avvio del sistema operativo quindi la tabella delle partizioni è salva e per esempio possiamo accedere a queste tramite un sistema operativo installato su un altro disco.
Cosa succede se l’ultima parola (0x55AA) cioè la signature del settore viene rimossa o danneggiata?
Un’ipotesi è che sia stata sovrascritta con degli zero e di conseguenza la signature avrà questo aspetto:
Physical Sector: Cyl 0, Side 0, Sector 1
0000001E0 41 65 0F FE BF 4A 25 83 57 00 66 61 38 00 00 00 Ae.??J%?W.fa8…
0000001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
Quando proveremo ad avviare vedremo un errore del tipo “Operating System not found”. Cioè non viene rilevato alcun sistema operativo prima esistente. In tal caso la prima cosa da fare è controllare il primo settore fisico sul Hard Disk e controllare che sia un MBR valido cioè:
- Controllare che l’MBR non sia stato sovrascritto con degli zero o con qualsiasi altro singolo carattere.
- Controllare che non vengano rilevati messaggi di errore quali “Invalid Partition Table”,”Operating System not found”.
- Controllare che sia presente la disk signature cioè gli ultimi 2 bytes dell’MBR (0x55AA).
Come riparare l’MBR
Questa parte può essere utile a coloro che installano linux usando un loader quali GRUB o LILO sull’MBR e che essendo poco pratici potrebbero incontrare dei problemi nell’ipotesi in cui tolgono linux senza rimettere a posto l’MBR del proprio Hard Disk su cui magari conviveva anche Windows! Se sul nostro Hard Disk è installato Windows 95,98,Me o MS-DOS la cosa più semplice per riparare o ricreare l’MBR è usare il comando fdisk seguito dal parametro /MBR. Quindi passare in modalità MS-DOS e digitare:
A:\ FDISK.EXE /MBR
Se invece si possiede Windows NT,2000,XP si può avviare il pc tramite il CD-ROM di installazione di Windows (NT,2000 o XP), scegliere l’opzione repair al prompt di setup e passare in modalità Recovery Console.
A questo punto ci viene richiesta la password di amministratore e una volta inserita non dobbiamo far altro che digitare FIXMBR e premere invio.
L’MBR dovrebbe quindi essere tornato nel suo stato iniziale senza problemi. Oltre a questi due sistemi si possono usare vari tool di recupero che si trovano in giro per la rete.