
eugenesergeev - Fotolia
Evaluate Windows Server Technical Preview with Boot to VHD
The forthcoming version of Windows Server can be evaluated using the Boot to VHD, here's how it's set up.
With a new version of Windows Server in the works, it is only natural that many administrators will want to begin exploring it. Although Windows Server Technical Preview can be installed to a VM, there are a number of reasons why organizations may want to test it on physical hardware. For instance, you may want to check hardware compatibility or performance.
Traditionally, installing a pre-release OS to a physical machine means formatting the hard disk and installing the OS in the same way you would install any other Windows Server OS. This approach can certainly be used with Windows Server 10, but it may be more advantageous to use the Boot to VHD (or VHDX) feature instead. The reason for this is that Boot to VHD makes it easy to create multiboot environments in which each OS resides on a separate virtual hard disk. That way, you can test various configurations without having to worry about the complexities that come from having multiple operating systems installed on a common hard disk.
Setting up a server that can boot from a series of virtual hard disks involves a few different tasks. These tasks include:
- Create the virtual hard disk;
- Apply the Windows Server image to the virtual hard disk;
- Prepare the destination server;
- Add the virtual hard disk to the destination server; and
- Add any additional virtual hard disks to the destination server.
In order to do this, you will need a computer to perform the prep work. Microsoft refers to this as a technician computer. You will also need a Windows PE boot disk and a Windows Server Technical Preview installation disk.
Creating the VHD
First, you will have to create the VHD. This has to be done on the technician computer from an elevated command prompt. The commands used will vary depending on the type of virtual hard disk you want to create. Here are the commands used to create a fixed length 20 GB VHD file (Figure 1).
Diskpart
Create vdisk file=C:\Windows10.VHD maximum 20480 type=fixed
Select vdisk file=c:\Windows10.vhd
Attach vdisk
Create partition primary
Assign letter=v
Format quick
Exit

As you can see in the figure above, we are creating a virtual hard disk, mounting it, creating a primary partition, assigning the virtual hard disk a drive letter of V: and then performing a quick format on the virtual hard disk.
The next step in the process is to apply the Windows Server 10 image to the virtual hard disk. For this process, I am going to be using a Windows Server 10 installation DVD. The Windows Server installation DVD contains a file named \Sources\Install.wim that we can use to provision our virtual hard disk. My DVD drive is D: and I am still using V: to reference the virtual hard disk. As such, the command used for applying the Windows Server image to the virtual hard disk is:
Dism /apply-image /imagefile:d:\Sources\install.wim /index:1 /ApplyDir:V:\

The next thing we have to do is to dismount our VHD file. After doing so, we will need to copy it to a network share. The VHD can be dismounted by entering the following commands:
Diskpart
Select vdisk file=C:\Windows10.vhd
Detach vdisk
Exit
For the sake of this article, I am moving the VHD file to a network share called \\tech\VHD (Figure 3).

The third step in the process is to prepare the server you want to boot from the virtual hard disk. Begin the process by booting the server using your Windows PE boot disk. Incidentally, if you haven’t created a Windows PE boot CD in a while, the process has changed a lot from what you might have used in the past. To create a Windows PE 8.1 (64-bit) boot disk, complete these steps:
- Install the Microsoft Assessment and Deployment Kit (make sure it’s the Windows 8.1 version).
- Launch the Deployment and Imaging Tools Environment command prompt (if you try to use a regular command prompt or even an elevated command prompt, the next step will fail).
- Enter the following command: CopyPE.cmd amd64 c:\WinPE_AMD64.
- Enter the following command: MakeWinPEMedia /ISO c:\WinPE_amd64 c:\WinPE_amd64.iso.
- Burn the resulting ISO file to a DVD.
- Boot your server from the Windows PE DVD you created.
Now we need to clean the disk on our empty server and create a system partition, which will initially use drive letter S and consume 300 MB of space, and a primary partition, which will use drive letter C (Figure 4). The commands for doing so are:
Diskpart
Select disk 0
Clean
Create partition primary size=300
Format quick fs=ntfs
Assign letter=s
Active
Create partition primary
Format quick fs=ntfs
Assign letter=c
Exit

Now we have to copy our VHD file to the server. To do that, I am going to map the Q: drive to the file share that we created earlier. The commands for doing so are (Figure 5):
Net Use Q: \\Tech\VHD
Copy q:\Windows10.vhd c:

Now that the file has been copied, we have to mount the VHD file on the server. In the code below, we will be using drive letter V for the virtual hard disk. You will also notice that each volume has its own volume number and we have to use the volume number that corresponds to the virtual hard disk (Figure 6). The commands that we need to use are:
Diskpart
Select vdisk file=c:\Windows10.vhd
Attach vdisk
List volume
Select volume (the volume number that goes with our virtual hard disk)
Assign letter=v
Exit

The next thing we have to do is copy the boot files to the Windows 10 virtual hard disk. The commands we will use for doing this are (Figure 7):
V:
Cd windows\system32
Bcdboot v:\windows

Finally, we need to detach the virtual hard disk. You can do that by entering these commands (Figure 8):
C:
Diskpart
Select vdisk file=c:\windows10.vhd
Detach vdisk
Exit

At this point, the virtual hard disk should be ready to use. Remove the Windows PE DVD from the server and boot the server from its hard disk. You should be able to boot from the virtual hard disk.
As I mentioned at the beginning of this article, the real beauty of this procedure is that you can create a multiboot environment in which you can experiment with booting from multiple Windows Server 10 configurations. Setting up a multiboot environment is fairly straightforward and involves using a tool called BCDEdit (instructions here).