Volume Boot Record (VBR): struttura, posizione e processo di avvio

Struttura, posizione e processo di avvio del Volume Boot Record (VBR)

A Record di avvio del volume (VBR) è una struttura dati relativa all'avvio memorizzata all'inizio di un volume del file system. Contiene informazioni che descrivono la struttura del volume e può includere anche il codice di avvio utilizzato durante l'avvio legacy. Sebbene il VBR sia comunemente associato al primo settore di una partizione, la sua struttura e il suo ruolo esatti dipendono dal file system e dall'architettura di avvio.

Questa distinzione è importante perché un VBR non è la stessa cosa di un MBR e i moderni sistemi Windows basati su UEFI normalmente non eseguono il codice di avvio tradizionale del VBR durante l'avvio.

Indice dei contenuti

Che cos’è un Volume Boot Record?

A Record di avvio del volume è la struttura iniziale di un volume relativa all'avvio. È comunemente chiamata anche “settore di avvio del volume” o, in molti contesti relativi alle unità di archiviazione dei PC, “record di avvio della partizione” (PBR).

Il VBR ha due finalità correlate:

  • Identificazione e descrizione del volume: Memorizza i parametri che aiutano il software a interpretare il file system, quali la dimensione dei settori, la dimensione dei cluster, la lunghezza del volume e le posizioni dei metadati specifici del file system.
  • Supporto Bootstrap: A seconda del file system e dell'ambiente di avvio, potrebbe contenere codice eseguibile che trasferisce il controllo alla fase successiva del processo di avvio del sistema operativo.

I contenuti esatti non sono universali. Il settore di avvio FAT32, il settore di avvio NTFS e il settore di avvio principale exFAT descrivono i rispettivi volumi in modo diverso.

Ad esempio, un settore di avvio FAT32 contiene un BIOS Parameter Block (BPB), mentre un settore di avvio exFAT utilizza campi quali VolumeLunghezza, FatOffset, e ClusterHeapOffset. Queste strutture hanno finalità simili, ma non sono intercambiabili.

VBR, settore di avvio del volume e record di avvio della partizione

I termini Record di avvio del volume, Settore di avvio del volume, e Record di avvio della partizione vengono spesso utilizzati in modo intercambiabile, sebbene la terminologia vari a seconda delle fonti tecniche.

Una distinzione utile è la seguente:

  • Settore di avvio del volume: Di solito si riferisce al primo settore di un volume del file system.
  • Record di avvio del volume: Spesso si riferisce alla struttura relativa all'avvio memorizzata all'inizio di quel volume. Alcuni file system definiscono una regione di avvio più ampia anziché una struttura a settore singolo.
  • Record di avvio della partizione: Di solito si riferisce al settore di avvio all'inizio di una partizione.

Su un disco di base convenzionale, in cui una partizione contiene direttamente un volume che inizia allo stesso indirizzo, il PBR e il VBR fanno generalmente riferimento allo stesso settore.

Tuttavia, questi termini descrivono concetti di archiviazione diversi. Una partizione definisce un’area di un disco, mentre un volume rappresenta lo spazio di archiviazione organizzato per un file system. Non si deve dare per scontato che tra i due vi sia una relazione uno a uno in ogni configurazione di archiviazione.

Dove si trova il Volume Boot Record?

Il VBR si trova all'inizio del volume del proprio file system.

Su un disco partizionato in modo convenzionale, il volume inizia all'indirizzo di blocco logico (LBA) iniziale della partizione. Pertanto, il VBR si trova normalmente nel primo settore logico di quella partizione.

Si consideri una struttura del disco a titolo illustrativo:

Area del disco

LBA iniziale

Scopo

MBR o MBR protettivo

0

Compatibilità a livello di disco e informazioni sulle partizioni

Intestazione GPT primaria

1 (disco GPT)

Descrive la struttura del GPT

Partizione 1

2,048

Inizia la prima partizione

Partizione 1 VBR

2,048

Settore di avvio del primo volume

Partizione 2

Inizio di un'altra partizione

Inizia la seconda parte

Partizione 2 VBR

Inizio della partizione 2

Settore di avvio del secondo volume

L'esempio presuppone che ogni partizione contenga direttamente un volume e utilizzi una dimensione logica del settore pari a 512 byte. L'LBA iniziale effettivo dipende dalla struttura del disco.

Per una partizione che inizia all'LBA 2.048, il VBR si trova all'LBA 2.048 rispetto al disco fisico, non all'LBA 0.

Un dispositivo non partizionato può contenere anche un volume del file system. In tal caso, il volume può iniziare dal primo settore logico del dispositivo, pertanto non è detto che sia presente una tabella di partizione MBR o GPT separata.

Perché il VBR non si trova sempre all'LBA 0 del disco

Il primo settore logico di un disco e il primo settore logico di un volume corrispondono a posizioni di indirizzo diverse.

  • L'LBA 0 del disco indica l'inizio del disco.
  • Il settore relativo al volume 0 identifica l'inizio del volume.
  • L'LBA iniziale della partizione collega questi due spazi di indirizzamento su un disco partizionato convenzionale.

Confondere queste posizioni può far sì che un editor di disco o uno strumento diagnostico esamini il settore sbagliato.

Per una spiegazione più approfondita della struttura a livello di disco, consultare il Tabella delle partizioni MBR.

VBR vs. MBR: qual è la differenza?

La differenza principale tra un VBR e MBR è il loro livello di stoccaggio e la loro responsabilità.

Un MBR fa parte della struttura di partizionamento a livello di disco. Un VBR appartiene a un volume del file system.

Caratteristica

MBR

VBR

Livello di archiviazione

A livello di disco

Livello del volume

Ubicazione tipica

LBA del disco 0

Prima parte del volume

Contenuti principali

Codice di avvio, voci di partizione, firma del disco

Parametri del file system e, a seconda del formato, codice di avvio

Scopo principale

Descrivere la struttura delle partizioni del disco legacy e indicare un punto di avvio

Descrivere il volume e i processi di avvio supportati

Dipendenza dal file system

Non definisce la struttura completa di un singolo file system

La sua struttura dipende dal file system

Accordi in materia di backup

MBR di backup non standard

Dipende dal file system

Su un disco convenzionale partizionato con MBR, l'MBR contiene quattro voci di partizione, ciascuna delle quali descrive la posizione e la dimensione di una partizione. Il suo codice di avvio è in grado di individuare la partizione di avvio selezionata e di trasferire il controllo al settore di avvio di quella partizione.

Il VBR fornisce quindi informazioni specifiche sul volume e, in una catena di avvio BIOS tradizionale, può eseguire la fase successiva del bootstrap.

Il Guida alla tabella delle partizioni MBR Amagicsoft spiega in modo più dettagliato le voci relative alle partizioni a livello di disco.

In che modo il VBR è correlato al GPT?

GPT e VBR descrivono diverse parti dell'architettura di archiviazione.

Il GPT definisce la struttura delle partizioni del disco. Contiene un’intestazione GPT primaria, un array di voci di partizione e le relative strutture di backup. Un disco GPT contiene inoltre, di norma, un MBR protettivo all’LBA 0.

Un VBR, al contrario, appartiene al volume del file system all’interno di una partizione.

Una struttura semplificata del disco GPT è la seguente:

  1. MBR di protezione all'LBA 0.
  2. Intestazione GPT primaria all'LBA 1.
  3. Array delle voci di partizione GPT primario.
  4. Spazio su disco utilizzabile contenente partizioni.
  5. Eseguire il backup delle strutture GPT situate nella parte finale del disco.

Il volume del file system inizia all'inizio della propria partizione, dove si trova il settore di avvio o la regione di avvio.

Pertanto, un disco GPT può contenere volumi NTFS, FAT32 ed exFAT, ciascuno con le proprie strutture di avvio.

Il GPT non sostituisce il VBR. Esso definisce dove iniziano e finiscono le partizioni, mentre il file system definisce come sono organizzati i dati all’interno di un volume.

Vedi il Guida Amagicsoft GPT per una spiegazione più approfondita delle intestazioni GPT e delle voci di partizione.

Come si inserisce il VBR nel processo di avvio di Windows

ESPLORATORE INTERATTIVO DEI PERCORSI DI AVVIO

Scegli una modalità firmware per vedere come Windows raggiunge il proprio boot manager e se il codice di avvio VBR tradizionale fa parte di quel percorso.

  1. 1
    Firmware BIOS Inizializza la piattaforma e seleziona un dispositivo di avvio.
  2. 2
    Record di avvio a livello di disco · LBA 0 Codice di avvio MBR Utilizza le informazioni sulla partizione legacy per individuare la partizione di avvio selezionata.
  3. 3
    Record di avvio a livello di volume · Inizio della partizione Codice di avvio VBR / PBR Riceve il controllo nella catena BIOS/MBR convenzionale e avvia la fase successiva dell'avvio. ESECUZIONE DEL CODICE VBR TRADIZIONALE
  4. 4
    Gestore di avvio di Windows bootmgr Legge la configurazione di avvio e seleziona il programma di avvio di Windows.
  5. 5
    Caricatore del sistema operativo winload.exe Carica il kernel di Windows e i driver necessari all'avvio.
Cosa significa questo per il VBR

In un avvio convenzionale di Windows con BIOS/MBR legacy, il record di avvio della partizione è una fase eseguibile della catena. La sua posizione è a livello di volume, non all'LBA 0 del disco.

Modello didattico di un percorso di avvio tipico di Windows. Le configurazioni di avvio effettive possono includere voci di ripristino, gestori di avvio aggiuntivi o fasi specifiche del produttore. Questo modulo non esegue alcuna analisi del disco fisico.

Il ruolo del VBR dipende dal fatto che Windows venga avviato tramite BIOS legacy o UEFI nativo.

Questi ambienti utilizzano meccanismi diversi per individuare e caricare il gestore di avvio di Windows.

BIOS tradizionale e sequenza di avvio MBR

Su un sistema Legacy BIOS convenzionale che utilizza un disco di sistema partizionato con MBR, il processo di avvio segue questa sequenza generale:

  1. Il BIOS avvia il computer e seleziona un dispositivo di avvio.
  2. Il BIOS carica l'MBR dal disco all'indirizzo LBA 0.
  3. Il codice di avvio dell'MBR individua la partizione di avvio selezionata.
  4. Il primo settore della partizione, comunemente denominato VBR o PBR, riceve i comandi.
  5. Il codice di avvio VBR avvia la fase di avvio successiva, che porta al Windows Boot Manager (bootmgr).
  6. Viene caricato il Boot Manager di Windows winload.exe.
  7. Il loader di Windows inizializza il kernel e i driver necessari all'avvio.

In questa configurazione, il VBR costituisce una fase eseguibile nella catena di avvio tradizionale.

Il settore di avvio della partizione non ha il compito di definire l'intera struttura del disco. Entra in funzione dopo che il codice di avvio a livello di disco ha identificato la partizione di avvio.

Sequenza di avvio UEFI e partizione di sistema EFI

Un'installazione nativa di Windows con UEFI utilizza una procedura di avvio diversa.

Anziché eseguire il codice di avvio tradizionale MBR e VBR, il firmware UEFI utilizza il proprio Boot Manager per individuare e caricare un'applicazione EFI.

Una tipica sequenza di avvio UEFI di Windows è la seguente:

  1. Il firmware UEFI inizializza la piattaforma.
  2. Il firmware legge le opzioni di avvio e identifica la partizione di sistema EFI (ESP).
  3. Il firmware accede al file system dell'ESP e carica \EFI\Microsoft\Boot\bootmgfw.efi.
  4. Viene caricato il Boot Manager di Windows winload.efi.
  5. Il loader di Windows inizializza il kernel e i driver necessari all'avvio.

Il Documentazione sulla risoluzione dei problemi relativi all'avvio di Microsoft Windows distingue le fasi di avvio del BIOS e dell'UEFI e identifica i diversi percorsi del Boot Manager di Windows e del caricatore del sistema operativo.

La specifica UEFI spiega inoltre che il suo Boot Manager carica le applicazioni UEFI da file anziché eseguire il tradizionale codice di avvio MBR legacy. Si veda il Specifiche UEFI: Panoramica e Struttura del disco GPT.

L'UEFI dispone ancora di un VBR?

Sì. Un sistema UEFI può comunque contenere settori di avvio dei volumi.

In una normale installazione di Windows in modalità UEFI/GPT, la partizione di sistema EFI è formattata con FAT32. Di conseguenza, presenta un settore di avvio con file system FAT32 e le relative strutture del file system.

Tuttavia, il normale processo di avvio UEFI non esegue il tradizionale codice di avvio x86 memorizzato in quel VBR. Il firmware accede invece al file system FAT32 e carica il gestore di avvio EFI come file.

Questa distinzione è importante:

  • Il VBR dell'ESP fa parte della struttura del volume FAT32.
  • L'applicazione EFI è il punto di ingresso eseguibile utilizzato dall'avvio nativo UEFI.
  • La presenza di un VBR non implica che il suo codice di avvio tradizionale debba essere eseguito.

Microsoft’s Guida alla partizionatura dei dischi rigidi basati su UEFI/GPT specifica i requisiti FAT32 per la partizione di sistema EFI di Windows.

Struttura del settore di avvio del volume: cosa contiene un VBR?

Non esiste un unico modello universale Struttura del settore di avvio del volume comune a tutti i file system.

Un settore di avvio tipico può contenere diversi tipi di informazioni:

Componente

Scopo

Istruzione di salto

Trasferisce l'esecuzione al codice di avvio, quando applicabile

Identificatore del file system

Identifica o descrive il formato del file system

Blocco dei parametri del BIOS (BPB) o campi equivalenti

Descrive le dimensioni del settore, del cluster e del volume, nonché altri parametri

Campi specifici del file system

Indica le strutture importanti o la loro ubicazione

Codice Bootstrap

Fornisce istruzioni per un ambiente di avvio compatibile

Informazioni relative alla firma o al checksum

Aiuta a identificare o convalidare parti specifiche della struttura

I campi esatti, gli offset in byte, le lunghezze e le regole di convalida dipendono dal file system.

Ad esempio, la specifica FAT definisce un BPB, mentre exFAT definisce i propri campi del Main Boot Sector. Considerare questi formati come identici può portare a un’interpretazione errata dei dati grezzi del disco.

Il blocco dei parametri del BIOS (BPB)

Il blocco dei parametri del BIOS è un insieme di campi che descrivono i parametri fondamentali del file system.

Nei file system FAT, il BPB si trova nel primo settore del volume. Fornisce informazioni quali:

  • Byte per settore.
  • Settori per cluster.
  • Numero di settori riservati.
  • Numero e dimensione delle strutture FAT.
  • Settori per volume totale.
  • Informazioni sulla directory principale, se del caso.

FAT32 estende il BPB con campi aggiuntivi relativi al cluster della directory radice, al settore FSInfo e al settore di avvio di backup.

Il BPB non costituisce l'intero VBR. È una parte della struttura del settore di avvio.

Il Specifiche FAT di Microsoft fornisce le definizioni dei campi e gli offset in byte per FAT12, FAT16 e FAT32.

Perché il modello 55 AA Signature non dimostra la validità di un VBR

Molti formati tradizionali del settore di avvio utilizzano i due byte 55 AA agli offset 510–511 come firma di avvio.

Questo indicatore è utile durante l'ispezione di un settore, ma non è sufficiente per stabilire che l'intera struttura sia valida.

Un settore può contenere la firma prevista pur presentando:

  • Parametri di settore o cluster errati.
  • Informazioni relative alla lunghezza del volume non valide.
  • Campi specifici del file system che esulano dagli intervalli consentiti.
  • Riferimenti incoerenti ad altre strutture del file system.
  • Codice di avvio danneggiato o incompleto.

Una firma valida conferma solo la presenza di quel particolare marcatore. Non dimostra che il volume possa essere montato, che tutti i metadati siano integri o che il processo di avvio possa essere completato.

Alcuni file system definiscono anche meccanismi di convalida aggiuntivi. Ad esempio, exFAT utilizza un checksum di avvio per le sue regioni di avvio principale e di backup.

In che modo le strutture VBR differiscono tra NTFS, FAT32 ed exFAT

Sebbene NTFS, FAT32 ed exFAT presentino tutti strutture relative all'avvio all'inizio di un volume, la loro struttura e i loro meccanismi di backup differiscono in modo significativo.

Settore di avvio NTFS

Un volume NTFS inizia con un settore di avvio NTFS contenente i parametri del file system e i campi relativi al bootstrap.

La struttura standard del settore di avvio NTFS da 512 byte, documentata nella definizione della struttura su disco di Linux-NTFS, comprende:

Offset in byte

Campo

Dimensione

Scopo

0x00

Istruzione di salto

3 byte

Istruzioni per l'avvio del sistema

0x03

ID OEM

8 byte

Identifica il file system NTFS utilizzando NTFS

0x0B

BPB

25 byte

Parametri di volume di base

0x28

Numero di settori

8 byte

Numero di settori per volume

0x30

$MFT LCN

8 byte

Numero iniziale del cluster logico della tabella dei file principali

0x38

$MFTMirr LCN

8 byte

Numero iniziale del cluster logico del mirror MFT

0x40

Cluster per record MFT

1 byte

Definisce la codifica della dimensione dei record MFT

0x44

Gruppi per record di indice

1 byte

Definisce la codifica "index-record-size"

0x48

Numero di serie del volume

8 byte

Identifica il volume

0x50

Campo del checksum

4 byte

Campo del checksum del settore di avvio

0x54

Area Bootstrap

426 byte

Codice relativo al boot e spazio riservato

0x1FE

Indicatore di fine settore

2 byte

55 AA nell'ordine dei byte su disco

Laboratorio didattico sul VBR di NTFS

Settore di avvio e spazio di riserva alla fine della partizione

ILLUSTRATIVO · NTFS

Campione da 1 GiB · 512 B/settore · 4 KiB/cluster · la partizione inizia all'LBA 2.048 del disco

OFFSET / HEX / ASCII

Campo decodificato

IdentitàRispondere aMetadatiIntegritàRiempimento scuro = selezionato
Impaginazione, note di esempio e fonte

NTFS. Il campo "totale settori" NTFS convenzionale in questo caso è pari a 2.097.151, escluso il settore di riserva finale; la partizione che lo contiene ha un settore in più. Il settore di riserva si trova quindi al settore 2.097.151 del volume, non al valore del campo meno uno. $Boot è illustrato come un'area iniziale di 16 settori; solo il suo primo settore è duplicato alla fine della partizione. $MFTMirr è un mirror separato dei metadati. Il byte F6, che indica la dimensione del record con segno, significa −10 → 2¹⁰ = 1.024 byte. I byte inutilizzati e il checksum legacy inutilizzato sono pari a zero; il riempitivo di bootstrap è F4.

Byte didattici costruiti, non una cattura del disco né un'immagine montabile. Gli offset sono valori esadecimali relativi al settore; i campi interi utilizzano la codifica little-endian. LBA del disco = 2.048 + settore del volume. Tutti gli intervalli di settori sono inclusivi; la mappa è schematica. Selezionare un campo o fare clic sui relativi byte; i punti in ASCII indicano i byte non stampabili. Il contenuto di avvio è un riempitivo didattico.

Fonte: Struttura dei campi NTFS3 · Convenzione relativa ai settori di riserva di mkntfs.

Questa tabella descrive la struttura documentata dall'implementazione Linux-NTFS. Si tratta di un utile riferimento alla struttura su disco, ma non sostituisce la specifica completa di Microsoft NTFS.

Un settore particolarmente importante è quello $MFT LCN.

LCN sta per Logical Cluster Number (numero logico di cluster). Identifica un cluster relativo al volume NTFS, non un LBA (Logical Block Address) del disco fisico.

Se il $MFT Come è noto, la posizione iniziale della Master File Table può essere calcolata utilizzando la dimensione dei cluster del volume:

Offset in byte dell'MFT = LCN dell'MFT × byte per cluster

Questo non indica la posizione di ogni singolo file, ma identifica la posizione iniziale del $MFT struttura.

Il $MFTMirr Il campo identifica la posizione di una copia limitata dei record iniziali importanti della MFT. Non si tratta di un backup completo della Master File Table né dei file utente.

Per una spiegazione più approfondita di questa relazione, si veda il Guida alla tabella dei file master Amagicsoft.

La struttura su disco di Linux-NTFS indica inoltre la presenza di un settore di avvio di backup nell'ultimo settore della partizione per Windows NT 4.0 e versioni successive, mentre i sistemi più vecchi, come NT 3.51 e precedenti, utilizzavano una posizione diversa. Si tratta di un riferimento storico e relativo all'implementazione; è necessario verificare l'effettiva struttura del volume prima di dare per scontata una determinata posizione di backup.

Settore di avvio FAT32, FSInfo e record di avvio di backup

FAT32 utilizza un BPB nel primo settore della regione riservata del volume.

Diversi ambiti rivestono particolare importanza:

Campo

Offset in byte

Dimensione

Scopo

BPB_BytsPerSec

11

2 byte

Byte per settore

BPB_SecPerClus

13

1 byte

Settori per cluster

BPB_RsvdSecCnt

14

2 byte

Dimensione della regione riservata

BPB_FATSz32

36

4 byte

Settori occupati da un FAT

BPB_RootClus

44

4 byte

Primo cluster della directory radice

BPB_FSInfo

48

2 byte

Posizione del settore FSInfo

BPB_BkBootSec

50

2 byte

Posizione del record di avvio di backup

Laboratorio didattico FAT32 VBR

BPB, FSInfo e record di avvio di backup

A TITOLO ESEMPLIFICATIVO · FAT32

Campione da 1 GiB · 512 B/settore · 4 KiB/cluster · la partizione inizia all'LBA 2.048 del disco

OFFSET / HEX / ASCII

Campo decodificato

IdentitàRispondere aMetadatiIntegritàRiempimento scuro = selezionato
Impaginazione, note di esempio e fonte

FAT32. Questo esempio utilizza un record di avvio a tre settori in stile Microsoft posizionato a 0–2, copiato a 6–8, all’interno di 32 settori riservati. Il settore 1 è FSInfo e il settore 7 ne contiene la copia iniziale; l’indirizzo autorevole di FSInfo rimane 1. I settori del codice di avvio utilizzano il riempitivo F4. I restanti settori riservati contengono zeri. Con due FAT da 2.048 settori, i dati iniziano a 4.128; floor((2.097.152 − 4.128) / 8) = 261.628 cluster, al di sopra della soglia FAT32 di 65.525. Ciascuna tabella FAT contiene 262.144 voci, sufficienti per le 261.630 voci richieste. Le indicazioni di allocazione di FSInfo sono esplicitamente sconosciute.

Byte didattici costruiti, non una cattura del disco né un'immagine montabile. Gli offset sono valori esadecimali relativi al settore; i campi interi utilizzano la codifica little-endian. LBA del disco = 2.048 + settore del volume. Tutti gli intervalli di settori sono inclusivi; la mappa è schematica. Selezionare un campo o fare clic sui relativi byte; i punti in ASCII indicano i byte non stampabili. Il contenuto di avvio è un riempitivo didattico.

Fonte: Specifiche FAT di Microsoft v1.03 (PDF), pagg. 8–22.

Il BPB_FSInfo Il campo punta normalmente al settore 1. Questo settore contiene informazioni quali l'ultimo conteggio noto dei cluster liberi e l'indicazione del cluster libero successivo.

Il BPB_BkBootSec Il campo identifica la posizione del record di avvio di backup. Nelle specifiche FAT di Microsoft, il suo valore è 0 o 6. Quando è impostato su 6, la struttura di backup inizia al settore 6 relativo al volume.

Un dettaglio importante è che il record di avvio FAT32 non è semplicemente una copia di un singolo settore. Le specifiche Microsoft descrivono il record di avvio completo come composto da tre settori, con una sequenza di backup corrispondente. Nella sequenza di backup è presente anche una copia della struttura FSInfo.

Queste strutture hanno diverse finalità:

  • Il settore di avvio contiene il BPB e le informazioni relative all'avvio.
  • FSInfo memorizza le indicazioni relative allo spazio libero.
  • Il record di avvio di backup fornisce una copia alternativa delle informazioni di avvio più importanti.

FSInfo non è un secondo VBR e il numero di cluster liberi che riporta non è necessariamente un valore esatto e aggiornato in tempo reale.

Regioni di avvio principali e di backup di exFAT: exFAT utilizza una struttura più estesa denominata “regione di avvio”.

Secondo il Specifiche del file system exFAT di Microsoft, il volume contiene una regione di avvio principale e una regione di avvio di backup, ciascuna delle quali occupa 12 settori.

Settore relativo al volume

Area di avvio principale

Area di avvio di backup

0 / 12

Settore di avvio

Settore di avvio di backup

1–8 / 13–20

Settori di avvio estesi

Backup dei settori di avvio estesi

9 / 21

Parametri OEM

Backup dei parametri OEM

10 / 22

Riservato

Riserva di backup

11 / 23

Checksum di avvio

Checksum di avvio di backup

Il settore di avvio principale contiene i parametri primari utilizzati per descrivere il volume exFAT.

Tra i campi più importanti figurano:

Campo

Offset in byte

Dimensione

Scopo

JumpBoot

0

3 byte

Istruzioni per il salto con il bootstrap

Nome del file system

3

8 byte

Identifica il file system come exFAT

Offset della partizione

64

8 byte

Offset di partizione relativo ai media

VolumeLunghezza

72

8 byte

Lunghezza del volume in settori

FatOffset

80

4 byte

Settore iniziale del primo FAT

FatLength

84

4 byte

Lunghezza di ciascun FAT

ClusterHeapOffset

88

4 byte

Settore iniziale dell'heap del cluster

ClusterCount

92

4 byte

Numero di cluster nel Cluster Heap

Primo cluster della directory principale

96

4 byte

Cluster iniziale della directory radice

Indicatori di volume

106

2 byte

Flag di stato del file system

Spostamento dei byte per settore

108

1 byte

Codifica basata sulle dimensioni del settore

Settori per cluster di turno

109

1 byte

Codifica basata sulla dimensione dei cluster

Numero di grassi

110

1 byte

Numero di strutture FAT

Percentuale di utilizzo

112

1 byte

Percentuale segnalata dei cluster assegnati

Laboratorio didattico su exFAT VBR

Aree di avvio principali e di backup

A TITOLO ESEMPLIFICATIVO · exFAT

Campione da 1 GiB · 512 B/settore · 4 KiB/cluster · la partizione inizia all'LBA 2.048 del disco

OFFSET / HEX / ASCII

Campo decodificato

IdentitàRispondere aMetadatiIntegritàRiempimento scuro = selezionato
Impaginazione, note di esempio e fonte

exFAT. I settori da 0 a 11 e da 12 a 23 formano due aree di avvio distinte, ciascuna composta da 12 settori. Il checksum viene calcolato a partire dagli 11 settori precedenti di ciascuna regione, saltando i byte 106, 107 e 112 del settore di avvio, quindi ripetuto 128 volte nel proprio settore di checksum. In questo esempio, il settore principale e quello di backup iniziano in modo identico; i flag di backup e la percentuale di utilizzo vengono considerati obsoleti dai lettori. Non viene fornito alcun bootstrap: i byte del codice di avvio principale sono F4; il codice esteso è zero. I parametri OEM sono nulli; i byte riservati sono zero. L’heap ha 261.632 cluster; il cluster radice 12 lascia spazio per la bitmap e i metadati relativi alle maiuscole, il cui contenuto esula dall’ambito di questo laboratorio.

Byte didattici costruiti, non una cattura del disco né un'immagine montabile. Gli offset sono valori esadecimali relativi al settore; i campi interi utilizzano la codifica little-endian. LBA del disco = 2.048 + settore del volume. Tutti gli intervalli di settori sono inclusivi; la mappa è schematica. Selezionare un campo o fare clic sui relativi byte; i punti in ASCII indicano i byte non stampabili. Il contenuto di avvio è un riempitivo didattico.

Fonte: Specifiche exFAT di Microsoft, §§2–3.

A differenza del tradizionale FAT BPB, exFAT definisce una propria struttura dei parametri. La sua MustBeZero Il campo occupa inoltre l'intervallo corrispondente all'area BPB dei file system FAT12/16/32, contribuendo a impedire che le implementazioni FAT meno recenti interpretino erroneamente un volume exFAT come un volume FAT.

Come funziona il checksum di avvio exFAT

Il checksum di avvio exFAT offre un meccanismo di convalida più efficace rispetto alla sola verifica della firma.

La specifica definisce il seguente processo:

  1. Leggi i primi 11 settori della Main Boot Region.
  2. Escludere il Indicatori di volume byte agli offset 106–107 e il Percentuale di utilizzo byte all'offset 112.
  3. Elabora i byte rimanenti in ordine.
  4. Per ogni byte, ruotare a destra di un bit il checksum corrente a 32 bit e sommare il valore del byte, mantenendo il risultato entro i 32 bit.
  5. Memorizzare il checksum ottenuto come sequenza ripetitiva di quattro byte in tutto il settore del checksum di avvio.

La regione di avvio di backup prevede un proprio calcolo del checksum.

L'esclusione di Indicatori di volume e Percentuale di utilizzo è intenzionale. Questi campi possono essere aggiornati senza ricalcolare il checksum di avvio. La specifica precisa inoltre che i valori corrispondenti nel settore di avvio di backup devono essere considerati obsoleti.

Ciò significa che un confronto byte per byte tra le regioni di avvio principale e di backup non costituisce un metodo di convalida universale adeguato.

Ogni regione deve invece essere verificata in base al proprio checksum e alle proprie regole di validità dei campi.

Come ispezionare e convalidare un Volume Boot Record

Per eseguire l'ispezione di un VBR è necessario sapere dove inizia il volume e quale file system ne definisce la struttura.

Un settore non formattato non dovrebbe essere interpretato utilizzando un modello generico senza aver prima identificato il formato del volume.

Fase 1: Identificare l'LBA iniziale del volume

Determinare la posizione iniziale della partizione o del volume utilizzando informazioni affidabili sulla struttura del disco.

Su un disco di base convenzionale, l'LBA iniziale della partizione corrisponde normalmente alla posizione iniziale del volume in essa contenuto.

Non dare per scontato che ogni volume inizi all'LBA 0 o che una lettera di unità identifichi un offset fisico del disco.

Fase 2: Calcolare l'offset in byte

Per individuare il primo settore del volume in un'immagine disco non formattata, utilizzare:

Offset in byte = LBA iniziale del volume × Dimensione del settore logico

Ad esempio, se una partizione inizia all'LBA 2.048 e il dispositivo utilizza settori logici da 512 byte:

2.048 × 512 = 1.048.576 byte

Il VBR inizia all'offset di byte 1.048.576 in quell'immagine disco esemplificativa.

Per un settore logico da 4.096 byte, lo stesso LBA corrisponderebbe a un offset in byte diverso. Utilizzare sempre la dimensione effettiva del settore logico del dispositivo, anziché dare per scontato che ogni disco utilizzi settori da 512 byte.

Fase 3: Esaminare la struttura utilizzando un editor esadecimale

Un editor di disco o un editor esadecimale è in grado di visualizzare i byte grezzi dei settori e i relativi offset.

Per un'ispezione in sola lettura:

  1. Aprire un'immagine disco o il dispositivo fisico corrispondente utilizzando un editor esadecimale adeguato.
  2. Passare all'offset in byte calcolato.
  3. Esaminare i byte iniziali e l'identificatore del file system.
  4. Interpretare i campi pertinenti utilizzando le specifiche del file system corrispondenti.
  5. Verificare che i valori dei campi siano coerenti tra loro.

Ad esempio, un settore di avvio NTFS dovrebbe essere interpretato in base alla struttura dei campi NTFS, mentre un settore FAT32 dovrebbe essere interpretato in base alle definizioni BPB di FAT32.

Non modificare il disco di origine durante l'esecuzione di un'ispezione. Se il disco di origine contiene dati importanti, è preferibile utilizzare un'immagine in sola lettura.

Fase 4: Verifica della coerenza specifica del file system

Un VBR dovrebbe essere valutato sulla base di più indicatori anziché di un unico elemento distintivo.

Tra i controlli utili figurano:

  • Se il valore di byte per settore riportato è valido per il formato.
  • Se "settori per cluster" è un valore consentito.
  • Se la lunghezza del volume rientra nei limiti della partizione disponibile o dell'estensione del volume.
  • Se gli offset specifici del file system puntano a posizioni plausibili.
  • Se le strutture di backup si trovano nei percorsi specificati dal formato di riferimento.
  • Se i checksum e le firme richiesti risultano validi.

Per FAT32, esaminare i campi BPB e la relazione tra il settore di avvio, FSInfo e il record di avvio di riserva.

Per NTFS, esaminare il numero di settori del volume e le posizioni dei cluster relativi alla MFT. Una possibile $MFT Il fatto che sia presente un LCN non dimostra di per sé che l’MFT sia intatto.

Per exFAT, verificare separatamente i checksum di avvio principale e di backup e assicurarsi che i campi corrispondenti rientrino negli intervalli specificati.

Fase 5: Interpretare attentamente i risultati

Il superamento del controllo della firma non garantisce che un volume sia integro.

Allo stesso modo, una struttura di avvio di backup valida non garantisce che tutti i metadati del file system o i dati dell'utente rimangano intatti.

Una valutazione adeguata dovrebbe distinguere tra:

  • Un settore di avvio leggibile.
  • Parametri del file system strutturalmente validi.
  • Una struttura di backup valida.
  • Un file system montabile.
  • Una catena di avvio del sistema operativo completa ed eseguibile.

Si tratta di condizioni correlate ma diverse.

Cosa succede quando il Volume Boot Record è danneggiato?

Danni a un Record di avvio del volume può impedire l'avvio di un sistema o rendere difficile l'identificazione e il montaggio di un volume.

L'impatto esatto dipende dai campi o dalle strutture interessati e dal modo in cui il sistema operativo li utilizza.

Danni

Risultato possibile

Danni al codice Bootstrap

L'avvio tramite BIOS tradizionale potrebbe non riuscire

BPB o danno da parametri di volume

Il file system potrebbe non essere riconosciuto o montato correttamente

Informazioni di avvio NTFS non valide

L'interpretazione del volume NTFS potrebbe non riuscire

Danno al settore di avvio FAT32

Le operazioni di montaggio o di avvio in FAT32 potrebbero risentirne

Incoerenza nella regione di avvio exFAT

L'identificazione o la convalida del file system potrebbero non andare a buon fine

Danni alla struttura principale del sistema di avvio con un backup valido

Il recupero potrebbe essere possibile utilizzando la procedura specifica per il file system in questione

Un danno causato dal VBR non comporta automaticamente la cancellazione del file

Un VBR contiene informazioni relative alla struttura e all'avvio del sistema. Normalmente non memorizza il contenuto dei normali file utente.

Pertanto, un danneggiamento di un VBR non implica automaticamente che foto, documenti, video o altri contenuti dei file siano stati cancellati.

Ad esempio, un volume NTFS potrebbe presentare un settore di avvio danneggiato, mentre alcuni o tutti i suoi record MFT e i cluster contenenti i dati utente rimangono leggibili.

Tuttavia, il recupero dipende dallo stato delle altre strutture del file system, dalla leggibilità fisica del dispositivo di archiviazione e dal fatto che eventuali operazioni di scrittura successive abbiano sovrascritto metadati importanti o il contenuto dei file.

Un volume che non si avvia può comunque contenere dati recuperabili. Al contrario, un VBR leggibile non garantisce che il resto del file system sia integro.

Danni al VBR rispetto ai danni all’MBR o al GPT

Questi malfunzionamenti interessano diversi livelli di archiviazione.

  • Danni all'MBR: Potrebbe influire sul codice di avvio legacy o sulle voci di partizione memorizzate all'LBA 0 del disco.
  • Danni GPT: Potrebbe influire sulla struttura delle partizioni, sulle intestazioni GPT o sugli array delle voci delle partizioni.
  • Danni causati dal VBR: Influisce sulla struttura iniziale relativa all'avvio di un volume specifico.
  • Danni alla partizione di sistema EFI: Potrebbe impedire al firmware UEFI di individuare o caricare il gestore di avvio EFI di Windows.

La procedura di riparazione deve essere adeguata al componente danneggiato.

Ad esempio, bootrec /fixmbr riscrive il codice di avvio dell'MBR; non ricostruisce un VBR NTFS danneggiato, non ripara le intestazioni GPT né ripristina le voci di partizione mancanti.

Per una spiegazione correlata sui problemi di avvio a livello di disco, consultare Guida di Amagicsoft al ripristino dell'MBR danneggiato.

Se non è possibile accedere a file importanti, proteggere i dati originali prima di tentare una riparazione basata sulla scrittura. Evitare di formattare, inizializzare, ripartizionare o eseguire comandi di riparazione che modifichino il file system prima di aver effettuato un backup o un'immagine adeguati.

danni-vbr-rispetto-a-danni-mbr-gpt

Conclusione

A Record di avvio del volume è una struttura a livello di volume che collega i parametri del file system alle informazioni relative all'avvio. Si trova solitamente nel primo settore logico di un volume, mentre la sua struttura esatta dipende dal file system.

La distinzione tra MBR, GPT e VBR è fondamentale: MBR e GPT descrivono la struttura delle partizioni a livello di disco, mentre il VBR appartiene a un volume del file system. L'avvio tramite BIOS tradizionale può eseguire il codice di avvio del VBR, mentre l'avvio nativo UEFI carica un'applicazione EFI dalla partizione di sistema EFI.

Comprendere le differenze tra le strutture di avvio NTFS, FAT32 ed exFAT aiuta anche a distinguere un record di avvio danneggiato da un problema più ampio di corruzione del file system o da un'effettiva perdita dei dati dell'utente.

Domande frequenti

Il Volume Boot Record è la stessa cosa del Partition Boot Record?

In molte configurazioni convenzionali dei dischi dei PC, i termini si riferiscono allo stesso settore, poiché il volume inizia all'inizio della propria partizione. Tuttavia, la terminologia varia. Una partizione descrive un'area del disco, mentre un volume descrive lo spazio di archiviazione organizzato per un file system.

Il VBR si trova sempre all'LBA 0?

No. Su un disco partizionato, il VBR si trova normalmente all'LBA iniziale del proprio volume. L'LBA 0 del disco appartiene alla struttura a livello di disco, come l'MBR o il Protective MBR. Un volume non partizionato può iniziare all'LBA 0 del dispositivo.

Un disco GPT ha un volume boot record?

Sì. Il GPT definisce la struttura delle partizioni del disco, non la struttura interna di ciascun file system. Un disco GPT può contenere volumi NTFS, FAT32 o exFAT, ciascuno con le proprie strutture relative all'avvio.

L'UEFI utilizza il Volume Boot Record?

L'avvio nativo UEFI normalmente non esegue il tradizionale codice di avvio x86 memorizzato in un VBR. Al contrario, l'UEFI carica un'applicazione EFI da un file system supportato, come la partizione di sistema EFI FAT32 utilizzata dalle installazioni UEFI standard di Windows. L'ESP dispone comunque di un proprio settore di avvio FAT32.

Cosa significa la sigla "55 AA" in un settore di avvio?

I byte 55 AA costituiscono una firma di avvio utilizzata da diversi formati tradizionali del settore di avvio. La loro presenza è un utile indicatore strutturale, ma non dimostra che il BPB, i parametri del file system, il codice di avvio o le strutture di backup siano validi.

Dove si trova il VBR di backup?

Non esiste una posizione universale per il backup. Il file system FAT32 utilizza comunemente il settore identificato da BPB_BkBootSec, spesso il settore 6. Nelle versioni più recenti di Windows NT, la struttura NTFS prevede solitamente un settore di avvio di backup posizionato nell'ultimo settore del volume. exFAT utilizza una regione di avvio di backup separata che inizia dal settore 12 relativo al volume.

Un VBR danneggiato può causare una perdita definitiva dei dati?

Non necessariamente. Un danno al VBR può impedire il montaggio o l'avvio di un volume, mentre altri metadati del file system e i cluster contenenti i dati dell'utente potrebbero rimanere intatti. L'esito del recupero dipende dall'entità del danno, dalle successive operazioni di scrittura e dalle condizioni fisiche del dispositivo.

Vasilii è uno specialista del recupero dati con circa 10 anni di esperienza pratica nel settore. Nel corso della sua carriera, ha risolto con successo migliaia di casi complessi riguardanti file cancellati, unità formattate, partizioni perse e file system RAW. La sua esperienza copre sia i metodi di recupero manuale utilizzando strumenti professionali come gli editor esadecimali, sia le soluzioni automatiche avanzate con i software di recupero. La missione di Vasilii è quella di rendere accessibile la conoscenza del recupero dati affidabile sia ai professionisti IT che agli utenti di tutti i giorni, aiutandoli a salvaguardare i loro preziosi beni digitali.