Run Microsoft Hyper-V Server From USB

See also more Hyper-V pages

FIXME I'm not really sure how well this works because it was so slow to boot up that I decided I'd rather use a 32GB SSD and Velcro…

http://technet.microsoft.com/en-us/library/ee731893%28WS.10%29.aspx

On a Windows 7 Technician Workstation

:!: During this procedure, carefully keep track of the disk numbers, partition numbers and drive letters. A mistake can ruin your whole disk!

G: = Mounted Hyper-V Server install DVD R: = Mounted VHD file Z: = Mounted USB flash drive 1 = Disk number of 16GB USB flash drive 2 = Disk number of VHD 1 = Partition number on VHD 1 = Index number of the image within install.wim (there is only one image within the Hyper-V Server install.wim)

1) Download and install WAIK: http://www.microsoft.com/en-us/download/details.aspx?id=5753

2) Download the Hyper-V Server .iso file

3) Mount the Hyper-V Server .iso file

4) Insert the 16GB USB flash drive

5) Create, mount and prepare the VHD (virtual hard disk)

:!: Windows will prompt you to format the VHD; just click 'Cancel'

Open a command prompt as administrator:

mkdir c:\hvvhd
diskpart
create vdisk file=c:\hvvhd\hyperV.vhd maximum=12288 type=fixed
select vdisk file=c:\hvvhd\hyperV.vhd
attach vdisk
create partition primary
assign letter=r
format quick fs=ntfs label=hyperV

6) Apply the install image to the VHD.

Leave the “diskpart” window open and open another command prompt as administrator.

:!: Change into the appropriate directory (x86 or amd64) based on the architecture of your technician workstation

cd "C:\Program Files\Windows AIK\Tools\<arch>\"
imagex.exe /apply g:\sources\install.wim /check 1 r:\

7) After imagex finishes, switch back to the “diskpart” command window (where diskpart is still running) to prep the USB flash drive

detach vdisk

Determine the disk number of the USB flash drive and prepare it:

list disk

select disk 1
clean
create partition primary
select partition 1
active
format quick fs=ntfs
assign letter=z

8) Switch back to the “imagex” window and copy the VHD to the USB target disk:

copy c:\hvvhd\hyperV.vhd z:

9) Prep the boot sector of the USB flash drive:

cd /d "c:\program files\Windows AIK\tools\PETools\<arch>" 
bootsect /nt60 z: /force /mbr

10) Switch back to the “diskpart” window, mount the VHD file on the USB flash drive:

select vdisk file=z:\HyperV.vhd 
attach vdisk

11) Back in the “imagex” window, make the USB flash drive bootable:

bcdboot r:\windows /s z: /v

12) Disable paging.

reg load HKLM\HyperVTemp r:\windows\system32\config\system
reg add "HKLM\HyperVTemp\ControlSet001\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ /d "" /f
reg delete "HKLM\HyperVTemp\ControlSet001\Control\Session Manager\Memory Management" /v ExistingPageFiles /f
reg unload HKLM\HyperVTemp

13) Switch back to the “diskpart” window, dismount the VHD file and exit diskpart:

detach vdisk
exit

14) Safely Remove the USB flash drive from the technician workstation and test.