Note: This article is an archive post originally published (in Croatian) on Sistemac, a portal for IT professionals maintained by the University of Zagreb University Computing Centre (SRCE), on 28 September 2009.
Napomena: Ovaj članak izvorno je objavljen na portalu Sistemac dana 28. rujna 2009.
U ovom članku osvrnut ćemo se na virtualne tvrde diskove (Virtual Hard Disk, VHD) koje možemo kreirati i koristiti unutar Microsoftovih sustava za virtualizaciju i unutar Microsoftovih operacijskih sustava.
Prilikom kreiranja novog virtualnog računala unutar Virtual PC-ja ili Virtual Servera stvorit će se dvije datoteke. Prva ima nastavak .vmc i ona u sebi sadrži podatke o konfiguraciji virtualnog računala. Druga datoteka ima nastavak .vhd i predstavlja virtualni tvrdi disk na koji će se instalirati OS. Ukoliko se odlučite za migraciju s jednog sustava za virtualizaciju na drugi, možda ćete naići na probleme; zbog razlika među sustavima za virtualizaciju, odnosno HAL-ovima (Hardware Abstraction Layer) unutar njih, nije dovoljno samo prekopirati datoteke s jednog sustava na drugi već je potrebno pratiti određenu proceduru za prebacivanje.

Osim kompletnog virtualnog računala, unutar sustava za virtualizaciju možemo kreirati samostalni virtualni tvrdi disk, tj. VHD datoteku. Takav virtualni tvrdi disk možemo iskoristiti, primjerice, za pohranu korisničkih podataka.
Tipovi VHD datoteka
Postoje tri osnovna tipa VHD datoteka, odnosno virtualnih tvrdih diskova:
- Fixed Hard Disk Image — prilikom kreiranja ovog tipa VHD datoteke ona odmah na disku zauzima veličinu jednaku veličini virtualnog diska. Ako kreiramo virtualni tvrdi disk od 50 GB, pripadajuća VHD datoteka zauzimat će 50 GB odmah nakon stvaranja.
- Dynamic Hard Disk Image — prilikom kreiranja ovog tipa VHD datoteke ona na disku zauzima mali dio prostora u odnosu na zadanu veličinu virtualnog tvrdog diska. Ako kreiramo virtualni tvrdi disk od 50 GB, VHD datoteka u početku će zauzimati svega nekoliko MB. Kako se virtualni tvrdi disk popunjava, tako će i veličina VHD datoteke rasti do maksimuma koji je zadan prilikom kreiranja.
- Differencing Hard Disk Image — ovaj tip VHD datoteke sadrži blokove koji su modificirani u odnosu na parent image, tj. VHD datoteku koja predstavlja osnovu. Diferencijalna datoteka ne može funkcionirati bez VHD datoteke na kojoj se bazira.
Kompletnu specifikaciju VHD formata možete naći na stranici Virtual Hard Disk Image Format Specification.
VHD i sigurnosne kopije
VHD je format datoteke koji se ne koristi samo unutar Microsoftovih sustava za virtualizaciju (Virtual PC, Virtual Server, Hyper-V) ili u sklopu drugih sustava za virtualizaciju kao što su Sun VirtualBox ili VMware ESX server. Ona može nastati i kao rezultat nekih operacija na računalu, npr. sigurnosne pohrane (backup). Ukoliko napravimo sigurnosnu kopiju cijelog sustava pomoću alata koji dolaze s Windows Vista OS-om (opcija Backup your computer) ili Windows 7 OS-om (opcija Create a system image), ona će biti pohranjena u VHD formatu. Takva sigurnosna kopija može se iskoristiti za povrat cjelokupnog sustava upotrebom Windows Recovery Environment.
Pristupanje sadržaju VHD datoteke
Postoji nekoliko mogućnosti za pristupanje sadržaju VHD datoteke:
- Pridruživanje VHD datoteke virtualnom računalu kao dodatnom disku — zahtijeva podizanje virtualnog računala.
- Korištenjem alata
vhdmount.exekoji dolazi s Virtual Server 2005 SP1. - Na Windows 7 OS-u — kroz Disk Management (izbornik Action → Create VHD / Attach VHD) bez potrebe za dodatnim alatima.
vhdmount pod Windows XP OS-om
U slučaju da na računalu imate instaliran Virtual Server 2005 SP1, koristite alat vhdmount.exe (zadano mjesto instalacije: C:\Program Files\Microsoft Virtual Server\Vhdmount). Primjer naredbe za montiranje:
vhdmount /p D:\Backup\ead57bd3-91b1-11de-b5dd-806e6f6e6963.vhd
Ukoliko niste ljubitelj komandne linije, možete u registry bazu dodati sljedeće linije koje će omogućiti mount i unmount VHD datoteke putem kontekstnog izbornika:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD]
@="Virtual Hard Disk"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell]
@="Plug in"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Plug in]
@="&Plug in"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Plug in\command]
@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /p \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Unplug (discard changes)]
@="Unplug (&discard changes)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Unplug (discard changes)\command]
@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /u /d \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Unplug (commit changes)]
@="Unplug (&commit changes)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Unplug (commit changes)\command]
@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /u /c \"%1\""
[HKEY_CLASSES_ROOT\.vhd]
@="Virtual.Machine.HD"
Rad s VHD-om u Windows 7 OS-u
Unutar Windows 7 GUI-a rad s virtualnim diskovima moguć je kroz Disk Management. Unutar izbornika Action nalaze se naredbe za kreiranje (Create VHD) i montiranje virtualnih diskova (Attach VHD).

Ako želimo iskoristiti postojeći virtualni tvrdi disk, prilikom montiranja (Attach VHD) možemo odrediti da se disk tretira kao read-only. Prilikom demontiranja (desni klik na disk unutar Disk Management → Detach VHD) možemo odabrati opciju da se VHD datoteka obriše — oprezno s ovom opcijom!