Che cos'è il formato di file VHD?
Un file .vhd contiene un'immagine virtuale di un disco rigido, utilizzata da piattaforme di virtualizzazione come Microsoft Hyper-V, Oracle VirtualBox e Windows Virtual PC. Un singolo file .vhd può contenere tutti i dati memorizzati su un disco rigido fisico, salvati con la stessa struttura - partizioni, file di sistema, file comuni e cartelle.
Possibilità offerte dai file .vhd
I file .vhd sono tipicamente utilizzati come dischi per macchine virtuali, il che rende possibile installare ed eseguire più sistemi operativi senza la necessità di diversi dischi fisici o computer separati. Ciò abilita molte possibilità - ad esempio, mantenere programmi e applicazioni in ambienti diversi. I file .vhd consentono anche il ripristino di directory scelte o di un intero disco rigido. Su Windows 7 e versioni successive, un VHD può essere montato direttamente tramite Gestione disco o con il cmdlet PowerShell Mount-DiskImage, senza software di terze parti.
Breve storia del formato VHD
Il formato VHD è stato creato da Connectix, una società acquisita da Microsoft nel 2003, che ha poi sviluppato il prodotto Microsoft Virtual PC. Microsoft ha successivamente pubblicato la specifica VHD sotto la sua Open Specification Promise, rendendo il formato libero da royalty per l'implementazione. Nel 2012 sono stati introdotti aggiornamenti significativi come nuovo formato - .VHDX - che supporta dischi più grandi (fino a 64 TB) e migliora la resilienza contro la corruzione.
Tipi di file VHD
I file .vhd possono essere identificati in diverse tipologie, il che ne facilita la gestione:
- Immagine disco rigido fissa (Fixed) - ha una dimensione fissa pari alla dimensione del disco virtuale; tutto lo spazio di archiviazione viene allocato al momento della creazione.
- Immagine disco rigido dinamica (Dynamic) - la dimensione del file inizia piccola e cresce man mano che i dati vengono scritti; contiene solo i settori che sono stati effettivamente utilizzati.
- Immagine disco differenziale (Differencing) - un
.vhdseparato che registra solo le modifiche rispetto a un disco genitore (base); Hyper-V utilizza l'estensione correlata .AVHD per i file di checkpoint delle VM. - Collegato (pass-through) - contiene solo un collegamento a un'unità fisica, garantendo alla macchina virtuale l'accesso diretto all'hardware.
I formati di disco di virtualizzazione concorrenti includono .VMDK (VMware) e .VDI (nativo di VirtualBox). Lo strumento qemu-img può convertire tra tutti questi formati su Linux e macOS.
Sicurezza e incolumità
RISCHIO: MEDIUMUn .vhd è un'immagine disco, non direttamente eseguibile sull'host - ma può contenere un intero sistema operativo avviabile, quindi un VHD scaricato potrebbe ospitare malware all'interno dell'ospite. Esegui VM non attendibili in isolamento (niente cartelle condivise, rete limitata). Il montaggio di un VHD tramite Gestione disco espone il suo filesystem all'host, quindi scansiona le immagini sconosciute prima di aprire i file. I VHD contengono anche tutti i dati sensibili dell'ospite (credenziali, file personali) - trattali come riservati. Sono di grandi dimensioni; assicurati di avere spazio libero prima di convertirli o copiarli.
Dettagli del formato
in sintesiProgrammi che aprono file VHD
Dettagli tecnici
specifiche approfondite| Tipo di contenitore | Contenitore binario per disco rigido virtuale - immagine disco raw con un piè di pagina di 512 byte aggiunto alla fine del file |
| Footer cookie (magic bytes) | Stringa ASCII `conectix` (8 byte) all'inizio del piè di pagina di 512 byte; alla fine del file (EOF) per i VHD fissi, e addizionalmente all'offset 0 per i VHD dinamici e differenziali |
| Dimensione del piè di pagina | 512 byte; una seconda copia è posizionata al byte 0 nei file VHD dinamici e differenziali, dove funge da intestazione del file |
| Dimensione massima del disco virtuale | ~2040 GB (~2 TB), limitata dai campi di geometria a 32 bit nel piè di pagina VHD |
| Tipo MIME | application/x-vhd |
| Tipi di immagine disco supportati | Fisso (pre-allocato), Dinamico (sparse, cresce in scrittura), Differenziale (disco figlio che registra i delta rispetto a un genitore), Pass-through (riferimento a un'unità fisica) |
| Dimensione blocco dinamico | Predefinito 2 MB per blocco; ogni blocco ha una bitmap di settore associata che traccia quali settori da 512 byte al suo interno sono stati scritti |
| Ordine dei byte del piè di pagina | Big-endian (ordine dei byte di rete) per tutti i campi multi-byte del piè di pagina, inclusi dimensione, geometria e timestamp |
| Verifica dell'integrità | Checksum CRC-32 incorporato sia nel piè di pagina di 512 byte che nell'intestazione del disco dinamico |
| Codifica geometria del disco | Valori Cylinder-Head-Sector (CHS) memorizzati nel piè di pagina per l'avvio compatibile con BIOS |
| Montaggio nativo Windows | Montabile su Windows 7 e versioni successive senza strumenti di terze parti - tramite Gestione disco, «diskpart attach vdisk» o il cmdlet PowerShell `Mount-DiskImage` |
| Formato successore | Sostituito da `.vhdx`, che supporta dischi virtuali fino a 64 TB e aggiunge il journaling dei metadati per la resilienza ai crash |
| Dimensione settore emulata | 512 byte (geometria HDD tradizionale), indipendentemente dalla dimensione del settore fisico dell'unità ospite |
| Voci del localizzatore genitore | I VHD differenziali memorizzano fino a 8 voci del localizzatore genitore, supportando la risoluzione flessibile dei percorsi tra diverse piattaforme |
| Modello di licenza | Pubblicato sotto la Open Specification Promise di Microsoft, che consente l'implementazione libera da royalty da parte di terzi |
| Rilasciato | Connectix Virtual PC (early 2000s); Microsoft published the VHD spec under its Open Specification Promise in 2006 |
| Standard aperto | Sì · royalty-free |
| Specifica | learn.microsoft.com |