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

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:
- MBR di protezione all'LBA 0.
- Intestazione GPT primaria all'LBA 1.
- Array delle voci di partizione GPT primario.
- Spazio su disco utilizzabile contenente partizioni.
- 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.
-
1Firmware BIOS Inizializza la piattaforma e seleziona un dispositivo di avvio.
-
2Record 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.
-
3Record 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
-
4Gestore di avvio di Windows
bootmgrLegge la configurazione di avvio e seleziona il programma di avvio di Windows. -
5Caricatore del sistema operativo
winload.exeCarica il kernel di Windows e i driver necessari all'avvio.
-
1Firmware Gestore di avvio UEFI Utilizza le opzioni di avvio del firmware per identificare un dispositivo e un'applicazione EFI.
-
2Struttura delle partizioni del disco GPT e la partizione di sistema EFI Il firmware identifica la partizione di sistema. Un disco di sistema Windows UEFI utilizza il formato GPT; la sua partizione ESP è in formato FAT32.
-
3Applicazione EFI sull'ESP
\EFI\Microsoft\Boot\bootmgfw.efiL'UEFI carica questo file tramite i servizi del filesystem. Non esegue il tradizionale codice di avvio x86 presente nell'MBR o nel VBR. IL FILE EFI È STATO CARICATO -
4Caricatore del sistema operativo Windows
winload.efiCarica il kernel di Windows e i driver necessari all'avvio.
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.
L'ESP presenta ancora un settore di avvio con file system FAT32 poiché si tratta di un volume formattato. Tuttavia, il normale percorso UEFI di Windows carica un'applicazione EFI come file; non esegue il codice di avvio VBR legacy.
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:
- Il BIOS avvia il computer e seleziona un dispositivo di avvio.
- Il BIOS carica l'MBR dal disco all'indirizzo LBA 0.
- Il codice di avvio dell'MBR individua la partizione di avvio selezionata.
- Il primo settore della partizione, comunemente denominato VBR o PBR, riceve i comandi.
- Il codice di avvio VBR avvia la fase di avvio successiva, che porta al Windows Boot Manager (
bootmgr). - Viene caricato il Boot Manager di Windows
winload.exe. - 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:
- Il firmware UEFI inizializza la piattaforma.
- Il firmware legge le opzioni di avvio e identifica la partizione di sistema EFI (ESP).
- Il firmware accede al file system dell'ESP e carica
\EFI\Microsoft\Boot\bootmgfw.efi. - Viene caricato il Boot Manager di Windows
winload.efi. - 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 |
| Istruzione di salto | 3 byte | Istruzioni per l'avvio del sistema |
| ID OEM | 8 byte | Identifica il file system NTFS utilizzando |
| BPB | 25 byte | Parametri di volume di base |
| Numero di settori | 8 byte | Numero di settori per volume |
|
| 8 byte | Numero iniziale del cluster logico della tabella dei file principali |
|
| 8 byte | Numero iniziale del cluster logico del mirror MFT |
| Cluster per record MFT | 1 byte | Definisce la codifica della dimensione dei record MFT |
| Gruppi per record di indice | 1 byte | Definisce la codifica "index-record-size" |
| Numero di serie del volume | 8 byte | Identifica il volume |
| Campo del checksum | 4 byte | Campo del checksum del settore di avvio |
| Area Bootstrap | 426 byte | Codice relativo al boot e spazio riservato |
| Indicatore di fine settore | 2 byte |
|
Settore di avvio e spazio di riserva alla fine della partizione
ILLUSTRATIVO · NTFSCampione da 1 GiB · 512 B/settore · 4 KiB/cluster · la partizione inizia all'LBA 2.048 del disco
Campo decodificato
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 |
| 11 | 2 byte | Byte per settore |
| 13 | 1 byte | Settori per cluster |
| 14 | 2 byte | Dimensione della regione riservata |
| 36 | 4 byte | Settori occupati da un FAT |
| 44 | 4 byte | Primo cluster della directory radice |
| 48 | 2 byte | Posizione del settore FSInfo |
| 50 | 2 byte | Posizione del record di avvio di backup |
BPB, FSInfo e record di avvio di backup
A TITOLO ESEMPLIFICATIVO · FAT32Campione da 1 GiB · 512 B/settore · 4 KiB/cluster · la partizione inizia all'LBA 2.048 del disco
Campo decodificato
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.
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 |
| 0 | 3 byte | Istruzioni per il salto con il bootstrap |
| 3 | 8 byte | Identifica il file system come exFAT |
| 64 | 8 byte | Offset di partizione relativo ai media |
| 72 | 8 byte | Lunghezza del volume in settori |
| 80 | 4 byte | Settore iniziale del primo FAT |
| 84 | 4 byte | Lunghezza di ciascun FAT |
| 88 | 4 byte | Settore iniziale dell'heap del cluster |
| 92 | 4 byte | Numero di cluster nel Cluster Heap |
| 96 | 4 byte | Cluster iniziale della directory radice |
| 106 | 2 byte | Flag di stato del file system |
| 108 | 1 byte | Codifica basata sulle dimensioni del settore |
| 109 | 1 byte | Codifica basata sulla dimensione dei cluster |
| 110 | 1 byte | Numero di strutture FAT |
| 112 | 1 byte | Percentuale segnalata dei cluster assegnati |
Aree di avvio principali e di backup
A TITOLO ESEMPLIFICATIVO · exFATCampione da 1 GiB · 512 B/settore · 4 KiB/cluster · la partizione inizia all'LBA 2.048 del disco
Campo decodificato
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.
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:
- Leggi i primi 11 settori della Main Boot Region.
- Escludere il
Indicatori di volumebyte agli offset 106–107 e ilPercentuale di utilizzobyte all'offset 112. - Elabora i byte rimanenti in ordine.
- 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.
- 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:
- Aprire un'immagine disco o il dispositivo fisico corrispondente utilizzando un editor esadecimale adeguato.
- Passare all'offset in byte calcolato.
- Esaminare i byte iniziali e l'identificatore del file system.
- Interpretare i campi pertinenti utilizzando le specifiche del file system corrispondenti.
- 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.

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?
Il VBR si trova sempre all'LBA 0?
Un disco GPT ha un volume boot record?
L'UEFI utilizza il Volume Boot Record?
Cosa significa la sigla "55 AA" in un settore di avvio?
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?
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?
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.
