One of the coolest features in Windows 7 is the ability to boot VHD files. I find this very useful for having multiple systems on my laptop, for connecting to different networks. Apart from my installed Windows 7, I have a Windows 7 for connecting to our corporate network, as well as one for my lab environment and one to record instruction videos and host webinars on. So in total I can choose between 4 Windows 7 systems when I’m booting my laptop. And as I keep a copy of my master VHD, I can quickly create additional systems. I also make a back-up every week of my production systems, just for a quick restore if it’s needed.

Setting up these systems is very easy. To prepare for this, download and install the Windows Automated Installation Kit for Windows 7, as we will be using the ImageX utility from the kit. You will also need the installation DVD for Windows 7.

Step 1: Creating a VHD

There are two ways of creating the VHD files. First I’ll show how to create those via the GUI, then the easy steps of using the DISKPART utility to do the same.

  1. Open the Computer Management console and right-click on Disk Management.
  2. Select the ‘Create VHD’ option.

    1-01 VHD Creation Step 1

  3. Next select the location and filename, as well as the size for the VHD. A basic installation of Windows 7 requires roughly 5GB of space. I always create a VHD of 20GB. You will also need to select if you want a dynamically growing VHD (less disk space required at the start) or a fixed size VHD (larger but you won’t run out of disk space later).

    1-02 VHD Creation Step 2

  4. The creation of the disks takes anywhere from a second (dynamically expanding) to a few minutes (fixed size). The VHD will be automatically attached in the Disk Manager. The next step is to initialize the disk. Right-click the disk and select ‘Initialize’.

    1-03 VHD Creation Step 3
    1-04 VHD Creation Step 4
  5. The final step in preparing the VHD disk is to format it. In this process you will select a drive letter for it, you can use any free letter for this.1-05 VHD Creation Step 5

After formatting the VHD disk you will see a 20GB drive in your Explorer. If you look at the VHD file, you will notice that it’s either 20GB (fixed space) or much smaller when you are using a dynamically expanding file.

1-06 VHD Creation Step 6

Using the DISKPART utility you can achieve the same results. Open a Command Prompt with elevated rights and start DISKPART. The use the commands as in the screenshot below.

1-07 VHD Creation CLI

Step 2: Installing Windows 7 into the VHD disk

For this we will be using the ImageX utility and the install.wim file from your original Windows 7 installation media. If you are using the Windows 7 Enterprise DVD, then there is only one edition of Windows 7 in the install.wim file. But if you are using a regular installation DVD, you will have to choose which edition to unpack into the VHD file.

For convenience, I have copied the ImageX.exe file from the \Program Files\Windows AIK\tools folder (it’s actually in a subfolder there based on the OS version you’re using, so the x86 if you have Windows 7 32-bit installed) to a folder in the root of my drive.

  1. Open a Command Prompt with elevated rights and go to the folder with ImageX. To see which number corresponds with the edition of Windows 7 you want to install, use the following command (assuming D:\ is your DVD drive or drive with the installation media):
    ImageX /info d:\sources\install.wim

    You will see all the editions listed. Look for the edition you want to install and the corresponding Image Index number.

    1-08 Apply Image Step 1

  2. Then apply the image to your VHD disk. Use the following command for that (assuming X:\ is the drive with your mounted VHD disk):
    ImageX /apply d:\sources\install.wim <image number> x:\

    1-09 Apply Image Step 2

    Depending on your installation source, applying the image takes about 15 minutes.

Step 3: Configuring your boot options

The final step is to use BCDEdit to configure the boot loader to allow you to boot from your new Windows 7 VHD.

  1. Open a Command Prompt with elevated rights.
  2. Copy the current boot option to a new one with the command:
    bcdedit /copy {current} /d “<description for new boot option>”
  3. BCDEdit will return a new GUID for the new boot option. Mark and copy this GUID, as you will need this for configuring the boot option.
  4. Point the device and the OS device to the new VHD. Instead of using the full path to the VHD file, we will use the option [locate]. This will tell the boot loader to search the disk for the correct file and allows you to move the VHD file around. Use the following two commands:
    bcdedit /set <guid> device vhd=[locate]\<folder>\<vhd filename>
    bcdedit /set <guid> osdevice vhd=[locate]\<folder>\vhd filename>
    Update: in the screenshot below the vhd= statement is wrong, as I forgot to add the folder where the VHD is located. I noticed that this morning when I tried to boot my VHD. I’ll update the screenshot later today.

    1-10 BCDEdit Step 1

  5. Some x86 systems will need a boot option for the kernel to detect the hardware. I never needed this, but if you experience problems when booting your VHD disk, use the following command:
    bcdedit /set <guid> detecthal on
  6. Confirm the correct creation of your VHD boot system with the command:
    bcdedit /v

    1-11 BCDEdit Step 2
  7. If you want to remove a boot option, you can do this with the command:
    bcdedit /delete <guid> /cleanup

And this is all it is to native-boot a VHD disk with Windows 7. You can do some nice things with differential disks, cloning disks and even use Hyper-V created VHD disks. But as a start, this will save a lot of time configuring and installing your system again and again. I know it has for me.

Thanks to Mark Minasi for his excellent session on this topic during Tech-Ed Europe 2009 in Berlin. Also thanks to my colleague Andreas van Wingerden at Citrix Benelux for doing most of the research. Much appreciated :)

Unbelievable how your experience with a customer support organisation can vary, based on who you get to speak. On Friday I had a very unsupportive line manager on the line, who once again blamed me and said she couldn’t do anything for me. And she promised that the delivery would take place on Friday, as the drivers need to return empty. Of course, no delivery on Friday (nor on Saturday) and I was ready to cancel my order.

Today I called them once again and the person started by actually noting that the delivery should have arrived by now and that something was wrong. Then he told me that the status update didn’t read ‘property not accessible’ but that the driver couldn’t find the property. That’s possible, although based on the address code there is only one building that qualifies. But in the dark there may have been a problem with that, so we chatted a bit about the specifics and I gave as much details as possible. So I feel confident that tomorrow will be the day that the delivery arrives.

And even though my issue hasn’t been solved yet, the attitude and service from the person on the phone gives me the confidence it will be resolved quick enough. It’s nice to have someone actually look at the order and notice what’s wrong, instead of me having to tell them what the problem is (if after a few days the delivery status hasn’t changed, I’m probably not calling about the quality or missing items). And giving accurate information and asking additional information to help resolving the issue is a great next step. I can live with the fact that a delivery couldn’t be made because the driver had a problem finding the property. But telling me that he couldn’t access the property doesn’t help me, as I don’t live in a gated community and everyone can freely access our front door.

Hopefully the wine arrives tomorrow and Tesco will hire more people like the one I’ve spoken to today, then everything will be alright…

Update: Finally the wine arrived on Saturday, 11 days after the original delivery date and after we had given up all hope that the order would still be delivered. Tesco got in touch yesterday and refunded part of the order, which is nice. But still very frustrating to get different stories every day. They really need to work on their customer support procedures.

Last Sunday I placed an order with Tesco Wine for some mixed cases of wine. Delivery was scheduled for Tuesday, so I made sure I was at home all day. As the day progressed, no delivery was being made. I checked my mailbox, perhaps I had somehow missed the delivery man and he had left a note for me. As there was nothing to be found, I called Tesco’s customer support for details on Wednesday morning. The lovely lady told me the driver ‘hadn’t been able to get access to the property’, but she refunded my delivery charge and told me the driver would definitely deliver the wine that day.

Well, Wednesday went past and I tried calling Tesco again. The customer support lines were all busy and when I finally got through I was informed that the waiting time was over 30 minutes. I called again on Thursday morning, asking about the status and was once again told that the driver once again couldn’t get access to the property. I told the support person that I had been at home for two full days (I actually hadn’t left my house, my girlfriend was kind enough to do the grocery shopping) and that no note had been left behind nor had I seen anyone. My mobile phone number was written down and I was informed the driver would contact me.

With good spirits I spent another day waiting for the wine to arrive. The driver didn’t call me, nor did I get the delivery. So once again I called Tesco customer support and they told me the driver had attempted to deliver but nobody had answered the door. They basically told me it was my own fault that I hadn’t received the wine yet, as they had attempted multiple times to deliver. I told them that I had been promised that the driver would call me when he was in the area, so I could guide him to the property if needed, and that I hadn’t heard a thing. I also told them that I had stayed at home for three days now, hinting at some kind of urgency to get my delivery sorted out. No solution was offered other than cancelling the order or attempting the delivery again. I decided I would give it a go once more.

Now, something is clearly going wrong with Tesco customer support. Their system should show that I’ve already called a number of times asking where my delivery is. Someone should get an alert from this and start asking questions why this delivery hasn’t been made yet. And when a customer says that he has stayed at home for three days (now almost four), you have to take that signal and offer a resolution that’s better than ‘you can cancel the order if you like’. I never experienced problems with Tesco deliveries in the past, however this is the first time I’ve ordered some cases of wine with them. And finally, if you promise that the customer gets a call, make sure that the call is actually made.

Needless to say, I’m really frustrated right now. I have stayed at home for four days now and still haven’t received my delivery. The delivery window for today is closing fast, if it doesn’t arrive today I’ll cancel the order. And probably will never order from Tesco again, even though my experiences with the regular groceries are pretty good. You just can’t tell lies to a customer, as they have clearly not tried to deliver my order. And telling someone will call me and then not call, that’s not a way to handle customers. Tesco Wine: #BIG FAIL!

One of the weirdest bands I’ve ever seen, but they rocked in America last week. Blaas of Glory is a great ‘joekskapel’ playing all your favorite rock classics. They definitely need a few gigs here in London!

Last week I attended Rowwen Heze’s Slotconcert in America, a small village in the province of Limburg. One of the support acts was Mala Vita. Those guys rock!! Check out this video…

While staffing our booth during Microsoft Tech.Ed Europe 2009, a lot of questions on the upcoming Citrix XenClient were asked. It definitely is cool technology and one of the missing pieces for a complete dynamic desktop solution. Pete Blum, the Product Manager for XenClient, posted a couple of nice introduction videos discussing the various features of XenClient.

Citrix XenClient Overview

Citrix XenClient Business & Personal

Citrix XenClient HDX Performance

Citrix XenClient Secure Application Sharing

I’m leaving for a longer business trip (3 weeks in total) this Sunday. During that period, both the NFL and NCAA football seasons start. My problem: the EPG on my Sky HD box doesn’t have the programming information for more than a few days. And as a result, I’m not able to schedule to record the games I might want to see when I return.

Sky offers a great service called Remote Record. On their website I can schedule the programmings I’d like to record and then that information is transmitted to my Sky HD box. Works great and I will definitely use this to record the games. But it would be much cooler to have a native application on my iPhone that connects to Sky for the EPG and allows me to select the programs to record. This shouldn’t be too hard to do for the engineers at Sky and the web interface they have right would work on an iPhone as well.

Well, hopefully we’ll see an application for this soon. Not because it’s the killer app for the iPhone, but just because it’s cool to show off to your mates in the pub.

It’s my final day in Newport today. I’m sad to leave, as I’ve had a great time. The cycling and walking cleared my mind for the coming weeks, so with the busy weeks ahead (three XenApp training sessions and a distributor event in Denmark), I’m good to go.

Spending time with Kristen is always great. She is one of the most wonderful people I know. Unfortunately she had to work a lot, leaving only time at night to do things together. But I certainly enjoyed my time with her and will be back here very soon.

The final day consists of getting rid of all the alcohol I consumed last night (thanks Joe and Gordon for introducing me to that great drink), going out for a nice lunch and then later on to the airport. My flight is at 7.45pm and I’ll be arriving at London Heathrow tomorrow morning at 7.15am. It’s not too long, hopefully I get some sleep on the plane. As I’m tired already, that shouldn’t be too much of a problem.

According to Ars Technica, Apple removed the push notification functionality from the current iPhone 2.1 firmware beta. While it’s certainly true that there are more pressing matters to fix in a new release (my Mail.App crashes very frequently when sending mail via my Exchange account), this functionality is definitely needed quickly. The value of an applications like AIM is now very limited and I’d like to see those apps coming for MSN and Yahoo as well.

While it’s not the biggest issue in the world, it would be bad if Apple can’t keep its promises and misses the announced September release for this functionality.

My short vacation in Rhode Island is coming to an end. Two more days to enjoy the weather and the good company of Kristen. I really had a great time and wish I could stay longer. Not because Newport is such a great place to be (it is fun, but there is not really a lot to do), but because being around Kristen really makes me happy.

After we had dinner and some drinks last night, we made plans to go cycling this morning. So I woke up at 6.30am, got dressed and we were on our way at 7am. We took the Ocean Drive in the opposite direction I took last Monday. Although Kristen says she is a bit out of shape, nothing like that showed while we were riding our bikes. She is in a good shape and I’m horribly out of shape. I really need to start cycling when I return to the UK. But unfortunately within a week of returning I start another 3-week trip to the continent. So no cycling for me before the end of September or even early October.

We finished our lap of Ocean Drive and the Salve Regina campus in about an hour. We didn’t really push ourselves, but had a great time on the road. After that, we had a nice breakfast at Katrina’s. The blueberry scone I had was really good. With breakfast taken care of, we went into the Boardwalk, the local surf shop. Kristen fell in love with a real nice board and I would’ve bought it for her if she would let me. Of course, I can buy it and then store it at her place, but it’s kinda odd to buy a board when you have never surfed. Still, it’s a nice board and she deserves a great board to surf.

For the rest of the day not many activities are planned. We’re going to the beach later today, skipping lunch because we are still full. I might get my first surfing lessons this afternoon, which if I really enjoy it would give me an opportunity to buy a board and lend it to Kristen. With the current Pound Sterling – Dollar exchange rates, it’s not even that expensive. I’ll have to watch to not max out my credit card again this early in the month, as I’ve a lot of business travel coming up.

Next Page »