Wat is het VHD-bestandsformaat?
Een .vhd-bestand bevat een virtuele kopie van een harde schijf, gebruikt door virtualisatieplatforms zoals Microsoft Hyper-V, Oracle VirtualBox en Windows Virtual PC. Een enkel .vhd-bestand kan alle gegevens bevatten die op een fysieke harde schijf zijn opgeslagen, bewaard in dezelfde structuur - partities, systeembestanden, gewone bestanden en mappen.
Mogelijkheden van .vhd-bestanden
.vhd-bestanden worden doorgaans gebruikt als virtuele machineschijven, wat het mogelijk maakt om meerdere besturingssystemen te installeren en uit te voeren zonder dat daarvoor meerdere fysieke schijven of aparte computers nodig zijn. Dit biedt vele mogelijkheden - bijvoorbeeld het onderhouden van programma's en applicaties in verschillende omgevingen. .vhd-bestanden maken het ook mogelijk om gekozen mappen of een hele harde schijf te herstellen. In Windows 7 en later kan een .vhd rechtstreeks worden gekoppeld via Schijfbeheer of met de Mount-DiskImage PowerShell-cmdlet, zonder software van derden.
Korte geschiedenis van het VHD-formaat
Het VHD-formaat is gemaakt door Connectix, een bedrijf dat in 2003 door Microsoft werd overgenomen, dat vervolgens het product Microsoft Virtual PC ontwikkelde. Microsoft publiceerde daarna de VHD-specificatie onder de Open Specification Promise, waardoor het formaat royaltyvrij te implementeren is. In 2012 werden aanzienlijke upgrades geïntroduceerd als een nieuw formaat - .VHDX - dat grotere schijven ondersteunt (tot 64 TB) en de weerbaarheid tegen corruptie verbetert.
Typen VHD-bestanden
.vhd-bestanden kunnen in verschillende typen worden onderverdeeld, wat het beheer ervan vergemakkelijkt:
- Vaste harde schijf-image - heeft een vaste grootte die gelijk is aan de grootte van de virtuele schijf; alle opslagruimte wordt toegewezen op het moment van aanmaak.
- Dynamische harde schijf-image - de bestandsgrootte begint klein en groeit naarmate er gegevens worden geschreven; het bevat alleen de sectoren die daadwerkelijk zijn gebruikt.
- Differentieel schijf-image - een apart
.vhd-bestand dat alleen wijzigingen registreert ten opzichte van een bovenliggende (basis) schijf; Hyper-V gebruikt de gerelateerde .AVHD extensie voor VM-checkpointbestanden. - Gekoppeld (pass-through) - bevat alleen een link naar een fysieke schijf, waardoor de virtuele machine directe toegang krijgt tot de hardware.
Concurrerende formaten voor virtuele schijven zijn onder meer .VMDK (VMware) and .VDI (VirtualBox native). De tool qemu-img kan tussen al deze formaten converteren op Linux en macOS.
Beveiliging & veiligheid
RISICO: MEDIUMEen .vhd is een schijf-image, niet direct uitvoerbaar op de host - maar het kan een volledig opstartbaar OS bevatten, dus een gedownloade VHD kan malware bevatten binnen de gastomgeving. Voer niet-vertrouwde VM's geïsoleerd uit (geen gedeelde mappen, beperkt netwerk). Het koppelen van een VHD via Schijfbeheer stelt het bestandssysteem bloot aan de host, dus scan onbekende images voordat u bestanden opent. VHD's bevatten ook alle gevoelige gegevens die de gast had (inloggegevens, persoonlijke bestanden) - behandel ze als vertrouwelijk. Ze zijn groot; zorg voor voldoende vrije ruimte voordat u ze converteert of kopieert.
Formaatdetails
in een notendopProgramma's die VHD-bestanden openen
Technische details
diepe specificaties| Containertype | Binair virtuele harde schijf-container - raw schijf-image met een 512-byte footer toegevoegd aan het einde van het bestand |
| Footer cookie (magic bytes) | ASCII-tekenreeks `conectix` (8 bytes) aan het begin van de 512-byte footer; aan het einde van het bestand voor vaste VHD's, en bovendien op byte-offset 0 voor dynamische en differentiële VHD's |
| Footer-grootte | 512 bytes; een tweede kopie wordt geplaatst op byte 0 in dynamische en differentiële VHD-bestanden, waar het dient als de bestandsheader |
| Maximale virtuele schijfgrootte | ~2040 GB (~2 TB), beperkt door 32-bits geometrievelden in de VHD-footer |
| MIME-type | application/x-vhd |
| Ondersteunde schijf-imagetypen | Vast (vooraf toegewezen), Dynamisch (sparse, groeit bij schrijven), Differentieel (kindschijf die wijzigingen ten opzichte van een ouder registreert), Pass-through (verwijzing naar een fysieke schijf) |
| Dynamische blokgrootte | Standaard 2 MB per blok; elk blok heeft een bijbehorende sector-bitmap die bijhoudt welke 512-byte sectoren daarin zijn beschreven |
| Footer byte-volgorde | Big-endian (netwerk byte-volgorde) voor alle multi-byte footer-velden, inclusief grootte, geometrie en tijdstempels |
| Integriteitsverificatie | CRC-32 checksum ingebed in zowel de 512-byte footer als de dynamische schijfheader |
| Codering schijfgeometrie | Cylinder-Head-Sector (CHS) waarden opgeslagen in de footer voor BIOS-compatibel opstarten |
| Native Windows-koppeling | Koppelbaar op Windows 7 en later zonder tools van derden - via Schijfbeheer, `diskpart attach vdisk`, of de `Mount-DiskImage` PowerShell-cmdlet |
| Opvolgend formaat | Vervangen door `.vhdx`, dat tot 64 TB virtuele schijven ondersteunt en metadata-journaling toevoegt voor crashbestendigheid |
| Geëmuleerde sectorgrootte | 512 bytes (traditionele HDD-geometrie), ongeacht de fysieke sectorgrootte van de hostschijf |
| Parent locator-vermeldingen | Differentiële VHD's slaan tot 8 parent locator-vermeldingen op, wat flexibele padresolutie over verschillende platforms ondersteunt |
| Licentiemodel | Gepubliceerd onder Microsoft's Open Specification Promise, waardoor royaltyvrije implementatie door derden is toegestaan |
| Uitgebracht | Connectix Virtual PC (early 2000s); Microsoft published the VHD spec under its Open Specification Promise in 2006 |
| Open standaard | Ja · royaltyvrij |
| Specificatie | learn.microsoft.com |