Punto informatico Network
Canali
20080829222917

Alla scoperta del Master Boot Record (MBR)

21/01/2010
- A cura di
Tecniche Avanzate - MBR - Master Boot Record, il settore LBA 0 di un disco rigido o di un qualsiasi dispositivo di memorizzazione di massa riscrivibile non ottico. Un solo settore che trattiene in sé poche ma importantissime informazioni sulla struttura primaria del dispositivo fisico.

Tag

Passa qui con il mouse e visualizza le istruzioni per utilizzare i tag!

mbr (1) , master boot record (1) .

Valutazione

  •  
Voto complessivo 5 calcolato su 97 voti

LBA - Indirizzamento logico

Il Logical Block Addressing è un metodo molto semplice per localizzare un settore di un disco. La numerazione LBA è un singolo numero, e parte da 0 (il MBR) e termina con l'ultimo settore disponibile del disco rigido. Su una tabella di partizione odierna lo spazio riservato per la numerazione dei settori è molto più ampio di quello dedicato alla numerazione CHS, ed è possibile avere partizioni grandi fino a 2TB.

Struttura logica di un MBR

Adesso che abbiamo definito tutta la teoria necessaria possiamo finalmente andare a vedere di che cos'è fatto un MBR e che importanza ha per un disco.

Il MBR è un settore come un altro, e quindi ha una capacità di 512 byte. Ciò che importa è capire come sono strutturati questi byte e quali campi vanno presi in considerazione.

Mbr_str_01a.png

  • Codice Bootloader: offset 0000 - 01B7, 440 byte. Quando il BIOS va a vedere le unità configurate come avviabili legge nel settore 0 i 440 byte del primo stadio del bootloader e, se esiste un programma, lo esegue. Se non viene identificato nessun programma e non esiste una tabella di partizione valida, o se il disco non è avviabile, il BIOS mostra un messaggio di errore e la macchina si arresta, in attesa che l'utente connetta una unità avviabile.
  • Signature disco opzionale: offset 01B8 - 01BB, 4 byte. Questo è un gruppo di byte opzionale, definito dal programma di partizionamento. Può contenere valori nulli (00).
  • Null bytes: offset 01BC - 01BD, 2 byte. Questi due byte sono generalmente sempre nulli (00 00).
  • Tabella di partizione: offset 01BE - 01FD, 64 byte. È il cuore del Master Boot Record, in essa sono registrate le dimensioni e i tipi di partizione contenuti nel disco fisico. Essa permette di identificare le partizioni e leggere i filesystem in esse contenuti, con i relativi file. La tabella di partizione è suddivisa in quattro campi da 16 byte ciascuno, che identificano altrettante partizioni primarie. Ogni campo di una partizione primaria è a sua volta suddiviso in sei sottosezioni, ciascuna con una precisa funzione. Nella figura è evidenziata la prima voce di partizione all'interno della riga verde.
  • Signature disco: offset 01FE - 01FF, 2 byte. Per i PC IBM compatibili essa è sempre AA 55. Se volete cancellare tutto di un MBR tranne la tabella di partizione, lasciate anche gli ultimi due byte di signature, servono ai programmi di partizionamento per sapere con che tipo di tabella di partizione hanno a che fare.

Vediamo ora sommariamente la struttura di una voce interna alla tabella di partizione.

Voce di partizione

Le "voci di partizione" sono dei gruppi di codici esadecimali che descrivono una partizione: dicono se è attiva, quale tipo di partizione contiene, qual è la sua dimensione. Nella figura seguente vediamo i campi presenti in una voce di partizione. Tra parentesi sono presenti i valori estratti dallo schema.

Voci_di_partizione.png

  • A: boot flag. 80 se la partizione è avviabile; 00 se non è avviabile. Qualsiasi altro valore è sconosciuto. (00)
  • B: HSC di partenza della partizione, in notazione esadecimale. È la stessa dicitura CHS, ma leggermente cambiata. Per poterla leggere c'è bisogno di uno schema a parte. (01 01 00)
  • C: ID (identificatore) della partizione. Dice al bootloader o al kernel del sistema operativo che tipo di partizione è quella presa in esame. (82)
  • D: HSC di fine della partizione. (FE 7F 2F)
  • E: numero di settori, in notazione esadecimale little-endian, da cui la partizione esaminata è distante dal settore 0. (00 00 00 3F)
  • F: la dimensione della partizione, in settori, in notazione esadecimale little-endian. (00 4A 84 F1)

I più attenti tra voi si saranno sicuramente accorti che le dimensioni dei settori tra parentesi e quelli scritti realmente nella tabella di partizione sono invertiti, casella per casella. Quindi, prima di andare avanti, è doveroso introdurre un concetto particolare di memorizzazione dati su supporti esterni, chiamato endianness.

Pagina successiva
Endianness
Pagina precedente
Alla scoperta del Master Boot Record (MBR)

 

Segnala ad un amico

Tuo nome Tuo indirizzo e-mail (opzionale)
Invia a:
    Aggiungi indirizzo email
    Testo

    © Copyright 2025 BlazeMedia srl - P. IVA 14742231005

    • Gen. pagina: 1.22 sec.
    •  | Utenti conn.: 50
    •  | Revisione 2.0.1
    •  | Numero query: 45
    •  | Tempo totale query: 0.08