Il Master Boot Record (MBR) contiene due cose:
- Codice di avvio : i primi 440 byte dell'MBR contengono il codice del caricatore di avvio. Può essere il boot loader di Microsoft, il codice di primo stadio di GRUB o qualcos'altro. Su un disco non di avvio o se il computer si avvia utilizzando il sistema EFI più recente, questo spazio può essere vuoto (ovvero tutti gli 0).
- Tabella delle partizioni : gli ultimi 72 byte del settore contengono la tabella delle partizioni. (Si noti che i primi sei byte di quest'area contengono una firma del disco / un numero seriale. Alcuni caricatori di avvio spingono in quest'area, ma la maggior parte no.)
Queste parti dell'MBR sono in genere scritte da strumenti diversi. Sotto Linux, grub-install
, lilo
, ed utensili simili scrivono il codice di avvio, mentre fdisk
, parted
, GParted, e di altri programmi di partizionamento scrivere la tabella delle partizioni. In termini di chiamate di sistema, tuttavia, i settori sono scritti in maniera quasi nulla, quindi gli strumenti pertinenti possono leggere, archiviare e riscrivere la parte del settore che non toccano ufficialmente. Questo di solito funziona bene, ma può causare la corruzione se c'è un bug nel programma o una sorta di errore di sistema.
Per ulteriori informazioni sull'MBR, consultare la pagina di Wikipedia sull'argomento.
Alcuni strumenti possono modificare entrambi i tipi di dati. Ad esempio, GRUB può modificare i dati della tabella delle partizioni durante l'esecuzione. Lo fa per "nascondere" determinate partizioni in base all'avvio.
Puoi eseguire il backup dell'intero MBR (sia il codice di avvio che la tabella delle partizioni) in Linux usando il dd
comando, come in:
dd if=/dev/sda of=sda.mbr bs=512 count=1
In questo esempio viene eseguito il backup dell'MBR del primo disco ( /dev/sda
) su un file chiamato sda.mbr
. Fai molta attenzione quando usi dd
; invertire le opzioni if=
e of=
, omettendo o modificando altre opzioni o facendo altri errori può causare un cestino!