64 bit Native VHD deployment [1]

This is my first post since the big earthquake hit Christchurch on 22nd February. I’m not going to write here on the earthquake itself except to say that we have been closed for the past 14 days and will reopen next week. At the moment I am just picking up where things have been 14 days ago. I was just finishing the preparation of a 64 bit VHD ready for our computer suite. Since our 32 bit VHD deployment was, from a technical viewpoint, successful, I have decided to move things along and use native VHD more as a deployment system. Hence I have started to produce 64 bit native VHDs for our two major deployment imaging requirements: staff laptops and student computers. The idea is that the computer that is running Windows AIK tools that are used to service these images can be running 64 bit Windows OS (in this case Server 2008 R2) and so I don’t need to maintain a 32 bit OS VM to service 32 bit images as is the requirement when using x86 images. Therefore I can store the images on the network shares of the server itself without having to copy them to the 32 bit VM to use DISM on a local disk as it won’t work on a network drive.

The second reason for building new images is to get around the Sysprep Rearm limit as detailed in my last posting. The 32 bit laptop images in particular were subject to this limit because they had been sysprepped multiple times. Therefore a new 64 bit image has to be built from scratch which is copied before it is sysprepped. My first attempt to build a VHD attached to a Hyper-V VM failed rather spectacularly when it came to the point where it had to be loaded onto the target platform (to install platform specific applications). It got partway into the boot screen (the point where the Windows 7 logo gets drawn from various moving parts) and then bluescreened. I poked around trying to debug what was happening but couldn’t work it out even though a Temp folder is put onto the boot drive which appears to contain information to help tracking down the problem. I think the issue is that Native VHD is very specialised and as yet not well enough documented beyond the MS group that created it.

So I have started again with building images, this time from scratch on each of the target platforms. The starting point in each case being a generic VHD that had been configured to be dynamically expandable to 127 GB maximum size and loaded with the Windows 7 x64 Ent installation files on it. When the target gets booted to this VHD for the first time it will set up Windows on it. It is not sysprepped, it just acts like a first time Windows 7 installation for any target platform.

The 64 bit image for our computer suite has been successfully test deployed and so far it looks good. A trial deployment will follow shortly in along with preparing to reopen our computer suite along with the rest of the school. The laptop image will be completed this week as we have to get the new laptops ready (the completion of this was deferred due to the earthquake). The tricky thing however about Windows PE is that I will need to create 64 bit boot media or use a MDT 64 bit boot CD that I already have. So my SD card will have to be updated to a 64 bit edition of Windows PE, including net card driver injection. This is mainly because BCDBOOT comes in 32 bit and 64 bit editions and therefore the 32 bit Windows PE image can’t run BCDBOOT which is needed to set up the BCD when creating a new system from scratch.