Co to jest format pliku VHD?
Plik .vhd zawiera wirtualny obraz dysku twardego, używany przez platformy wirtualizacyjne, takie jak Microsoft Hyper-V, Oracle VirtualBox i Windows Virtual PC. Pojedynczy plik .vhd może zawierać wszystkie dane zapisane na fizycznym dysku twardym, zachowując tę samą strukturę - partycje, pliki systemowe, zwykłe pliki i foldery.
Możliwości wynikające z plików .vhd
Pliki .vhd są zazwyczaj używane jako dyski maszyn wirtualnych, co umożliwia instalację i uruchamianie wielu systemów operacyjnych bez konieczności posiadania kilku fizycznych napędów lub oddzielnych komputerów. Daje to wiele możliwości - na przykład utrzymywanie programów i aplikacji w różnych środowiskach. Pliki .vhd umożliwiają również przywracanie wybranych katalogów lub całego dysku twardego. W systemie Windows 7 i nowszych, plik .vhd można zamontować bezpośrednio przez Zarządzanie dyskami lub za pomocą polecenia PowerShell Mount-DiskImage, bez potrzeby instalowania oprogramowania firm trzecich.
Krótka historia formatu VHD
Format VHD został stworzony przez firmę Connectix, przejętą przez Microsoft w 2003 roku, która następnie rozwinęła produkt Microsoft Virtual PC. Microsoft opublikował później specyfikację VHD w ramach inicjatywy Open Specification Promise, czyniąc format bezpłatnym do implementacji. W 2012 roku wprowadzono znaczące ulepszenia w postaci nowego formatu - .VHDX - który obsługuje większe dyski (do 64 TB) i poprawia odporność na uszkodzenia.
Typy plików VHD
Pliki .vhd można podzielić na kilka typów, co ułatwia zarządzanie nimi:
- Stały obraz dysku twardego (Fixed) - ma stały rozmiar równy rozmiarowi dysku wirtualnego; cała przestrzeń jest alokowana w momencie tworzenia.
- Dynamiczny obraz dysku twardego (Dynamic) - rozmiar pliku zaczyna się od niewielkiego i rośnie w miarę zapisywania danych; zawiera tylko te sektory, które zostały faktycznie użyte.
- Różnicowy obraz dysku (Differencing) - oddzielny plik
.vhd, który rejestruje tylko zmiany w stosunku do dysku nadrzędnego (bazowego); Hyper-V używa powiązanego rozszerzenia .AVHD dla plików punktów kontrolnych maszyn wirtualnych. - Połączony (pass-through) - zawiera jedynie łącze do fizycznego napędu, przyznając maszynie wirtualnej bezpośredni dostęp do sprzętu.
Konkurencyjne formaty dysków wirtualnych to .VMDK (VMware) oraz .VDI (natywny dla VirtualBox). Narzędzie qemu-img pozwala na konwersję między wszystkimi tymi formatami w systemach Linux i macOS.
Bezpieczeństwo
RYZYKO: MEDIUMPlik .vhd jest obrazem dysku, nie jest bezpośrednio wykonywalny na hoście - może jednak zawierać pełny rozruchowy system operacyjny, więc pobrany plik VHD może skrywać złośliwe oprogramowanie wewnątrz gościa. Uruchamiaj niezaufane maszyny wirtualne w izolacji (brak udostępnionych folderów, ograniczona sieć). Montowanie VHD przez Zarządzanie dyskami wystawia jego system plików na hosta, więc przeskanuj nieznane obrazy przed otwarciem plików. Pliki VHD przechowują również wszelkie wrażliwe dane gościa (poświadczenia, pliki osobiste) - traktuj je jako poufne. Są duże; upewnij się, że masz wolne miejsce przed konwersją lub kopiowaniem.
Szczegóły formatu
w pigułceProgramy otwierające pliki VHD
Szczegóły techniczne
specyfikacja| Typ kontenera | Binarny kontener wirtualnego dysku twardego - surowy obraz dysku z 512-bajtową stopką dołączoną na końcu pliku |
| Cookie stopki (magiczne bajty) | Ciąg ASCII „conectix” (8 bajtów) na początku 512-bajtowej stopki; na końcu pliku (EOF) dla stałych dysków VHD, oraz dodatkowo na offsecie 0 dla dynamicznych i różnicowych dysków VHD |
| Rozmiar stopki | 512 bajtów; druga kopia jest umieszczana w bajcie 0 w dynamicznych i różnicowych plikach VHD, gdzie służy jako nagłówek pliku |
| Maksymalny rozmiar dysku wirtualnego | ~2040 GB (~2 TB), ograniczony przez 32-bitowe pola geometrii w stopce VHD |
| Typ MIME | application/x-vhd |
| Obsługiwane typy obrazów dysków | Stały (pre-alokowany), Dynamiczny (rzadki, rośnie przy zapisie), Różnicowy (dysk potomny rejestrujący zmiany względem nadrzędnego), Pass-through (odniesienie do fizycznego napędu) |
| Rozmiar bloku dynamicznego | Domyślnie 2 MB na blok; każdy blok ma powiązaną bitmapę sektorów śledzącą, które 512-bajtowe sektory w jego obrębie zostały zapisane |
| Kolejność bajtów stopki | Big-endian (sieciowa kolejność bajtów) dla wszystkich wielobajtowych pól stopki, w tym rozmiaru, geometrii i znaczników czasu |
| Weryfikacja integralności | Suma kontrolna CRC-32 osadzona zarówno w 512-bajtowej stopce, jak i w nagłówku dysku dynamicznego |
| Kodowanie geometrii dysku | Wartości Cylinder-Head-Sector (CHS) przechowywane w stopce dla rozruchu zgodnego z BIOS |
| Natywne montowanie w Windows | Możliwość montowania w systemie Windows 7 i nowszych bez narzędzi firm trzecich - poprzez Zarządzanie dyskami, „diskpart attach vdisk” lub polecenie PowerShell „Mount-DiskImage” |
| Następca formatu | Zastąpiony przez „.vhdx”, który obsługuje dyski wirtualne do 64 TB i dodaje kronikowanie metadanych dla odporności na awarie |
| Emulowany rozmiar sektora | 512 bajtów (tradycyjna geometria HDD), niezależnie od fizycznego rozmiaru sektora napędu hosta |
| Wpisy lokalizatora rodzica | Różnicowe dyski VHD przechowują do 8 wpisów lokalizatora rodzica, wspierając elastyczne rozwiązywanie ścieżek na różnych platformach |
| Model licencyjny | Opublikowany w ramach Microsoft Open Specification Promise, zezwalający na bezpłatną implementację przez strony trzecie |
| Wydano | Connectix Virtual PC (early 2000s); Microsoft published the VHD spec under its Open Specification Promise in 2006 |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | learn.microsoft.com |