Accedere di dischi virtuali (.VHD) come dischi fisici della macchina host

Voglio segnalarvi una "chicca" di Virtual Server 2005 R2 SP1 

Virtual Server 2005 R2 SP1 (adesso in beta due e scaricabile da qui) mette a disposizione un'interessante utility da linea di comando che consente di fare il mount di dischi virtuali (non in uso da parte di macchine virtuali) come dischi fisici della macchina host.

L'utility si chiama VHDmount.exe e viene installata nella directory C:\Program Files\Microsoft Virtual Server\Vhdmount.

Il suo utilizzo è semplicissimo:

VHDMOUNT /p VHDFileName
VHDMOUNT /m VHDFileName [Lettera disco]
VHDMOUNT /u VHDFileName | All
VHDMOUNT /q VHDFileName | All

/p          Installa il disco virtuale senza farne il mount del volume (è possibile assegnare una lettera al disco da Disk Management)
/m         Oltre ad installare il disco virtuale ne esegue il mount come volume e gli assegna una lettera (quella indicata come parametro addizionale o la prima libera se non se ne indica una)
/u          Esegue l'unmount del voulme e disinstalla il disco virtuale (il parametro All esegue l'azioen per tutti i dischi).
/q          Ritorna il nome del device associato al disco virtuale indicato (il parametro All esegue l'azione per tutti i dischi) 

E' possibile in questo modo modificare il contenuto dei dischi virtuali senza la necessità di avviare la relativa macchina virtuale.

ATTENZIONE: non è possibile installare patch o Service Pack in questo modo perchè il motore di patching di Windows non è in grado di lavorare in modalità off-line (i team che si occupano dello sviluppo delle tecnologie di virtualizzazione e del motore di patching stanno analizzando la possibilità di implementare questa funzionalità, ma al momento NON è disponibile).

Ben Armstrong (un PM del team di sviluppo di Virtual Server e di Windows Virtualization) ha messo a disposizione il "sorgente" di un file .reg che, una volta "eseguito", consente di avere a disposizione i comandi Mount e Dismount nel menù contestuale associato ai file .VHD (click con il tasto destro sul file VHD).

Ecco il "sorgente" del file .reg (trovate l'articolo originale qui)

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell]
@="Mount"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Dismount]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Dismount\command]
@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /u \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Mount]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Mount\command]
@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /p \"%1\""
[HKEY_CLASSES_ROOT\.vhd]
@="Virtual.Machine.HD"

(dovete eventualmente sostituire i percorsi indicati con quelli da voi utilizzati per l'installazione di Virtual Server)

Molto comodo! Grazie Ben!

Buon lavoro a tutti.

PierGiorgio Malusardi