I dischi differenziali sono uno dei mezzi forniti da Virtual PC 2007/2004 e da Virtual Server 2005 per poter risparmiare spazio su harddisk del computer host e per poter mettere in piedi velocemente nuove macchine virtuali partendo da immagini già preparate, ma senza rovinarle.
Praticamente si usa un harddisk virtuale come base (in sola lettura) e un harddisk virtuale su cui verranno effettuate fisicamente le scritture (eventualmente anche con possibilità di Undo).
Lo stesso hd virtuale può essere usato come base per più harddisk differenziali, e un disco differenziale può essere usato come base per altri hd differenziali.
Purtroppo non è possibile creare al volo delle virtual machines "differenziali" sulla base di VPC esistenti, bisogna prima creare i dischi e poi le virtual machines.
La sequenza giusta per farlo è la seguente.
1) Creazione della VPC base
Si procede normalmente a creare la VPC di base, installando il sistema operativo prescelto, installando tutte le patch disponibili fino a quel momento, gli eventuali software comuni (office, etc...) e ottimizzandolo secondo le proprie esigenze.
Si può quindi compattarlo a livello di VHD (eliminando gli spazi inutilizzati) e poi comprimerlo con la compressione NTFS (tanto verrà usato solo in lettura e così guadagnamo spazio e performance).
NOTA: Se l'harddisk virtuale va utilizzato come base di più macchine virtuali (NT, 2000, XP o 2003) collegate alla stessa rete contemporaneamente, bisogna cambiare il SID del computer (oltra che al nome del PC Windows).
Per fare questo si può usare Sysprep (Microsoft) o NewSID (Sysinternals).
- Sysprep è più invasivo, richiede dei passi preparatori come mostrato in questa guida (specifica per VPC) o in questa (più generica), e richiede una gestione più attenta del licensing, soprattutto in XP. Richiede il reboot e rigenera il SID dopo aver fatto il boot. Questo significa che dovete usare Sysprep dopo aver lanciato il Virtual Disk Precompactor e prima di far compattare l'HD al Virtual Disk Manager. Il vantaggio di Sysprep è che lo si fa una volta e non ci si pensa più...
- NewSID è molto più tranquillo, e modifica al volo il registry e il file system della macchina (attenzione, bisogna fermare il servizio IISAdmin se attivo) e poi richiede il reboot, quindi va usato sulla VPC dopo aver creato l'harddisk differenziale, a differenza di Sysprep, altrimenti ci troveremmo tutte le macchine con un nuovo SID uguale tra di loro... Quindi bisogna ricordarsi di farlo ogni volta che si usa l'harddisk come base di un nuovo HD. Anche con NewSID è possibile specificare un nuovo nome per la macchina Windows, utilizzando l'opzione /a NuovoNome. Attenzione: l'utilizzo di NewSID non è supportato da Microsoft, quindi (anche se lo uso tranquillamente e non mi ha mai dato problemi) non usatelo se intendete sfruttare il supporto tecnico di Microsoft per qualsiasi problema riguardante quella Virtual Machine.
Entrambe le utility sono gratuite, e di NewSID è disponibile anche il codice sorgente. Esistono poi altre utility, legate ai produttori di utility che clonano i dischi (Ghost e simili) che però non aggiungono nulla e vanno acquistate separatamente.
Al termine dell'operazione consiglio di eliminare la VPC e di mantenere solo l'harddisk virtuale proteggendo in scrittura il file .VHD

2) Creazione dell'harddisk differenziale
A questo punto si può lanciare il Virtual Disk Wizard:

si sceglie di creare un nuovo disco virtuale

e poi si sceglie di creare un nuovo HD virtuale...

si sceglie il nome da dargli...

e finalmente si specifica di crearlo come HD differenziale (differencing)

e poi si dice sulla base di quale HD crearlo:

e finalmente... se premete finish avete creato l'HD differenziale...

Congratulazioni

3) Creazione della VPC associata
A questo punto bisogna creare la VPC normalmente, l'unica accortezza è di specificare di utilizzare un HardDisk esistente e di scegliere l'HD differenziale appena creato.


Come si vede dall'immagine è possibile utilizzare i dischi di Undo anche sui dischi differenziali, senza nessun problema.
FAQ:
1) Come faccio a spostare il disco base?
Basta spostarlo fisicamente (a VPC spenta) e poi far ripartire la (o le) VPC che usano quel disco come base. A quel punto il sistema si accorgerà della mancanza del disco base e richiederà il nuovo path.
2) Cosa succede se per sbaglio sposto il disco base?
Non succede niente di particolare, viene semplicemente richiesto il nuovo path (si veda il punto 1 della FAQ)
3) Cosa succede se per sbaglio CANCELLO il disco base?
Se non avete una copia non è più possibile riutilizzare i dischi differenziali basati su quello cancellato. Quindi vi consiglio caldamente di farne un back-up.