Creating a Hyper-V workstation

This content is 15 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

A couple of years back, I was running Windows Server 2008 on my everyday notebook PC so that I could work with Hyper-V. That wasn’t really ideal and, these days, I’m back on a client OS – Windows 7 as it happens…

Even so, I’ve been discussing the concept of a developer workstation with my friend and colleague, Garry Martin, for some time now. I say “developer”, because Garry works in our application services business but the setup I came up with is equally valid for sysadmins who need a client side virtualisation solution (and no, type 2 hypervisors do not cut it – I want to run on bare metal!).

I finally got Hyper-V Server running from a USB flash drive a few days before Microsoft announced that it is a supported scenario (although I still haven’t seen the OEM document that describes the supported process). That provided the base for my solution… something that anyone with suitable hardware can use to boot from USB into a development environment, without any impact on their corporate build. Since then, I’ve confirmed that the RTM version of Hyper-V Server 2008 R2 works too (my testing was on the RC).

Next, I integrated the network card drivers for my system before starting to customise the Hyper-V Server installation. This is just the same as working with a server core installation of Windows Server but these days sconfig.vbs makes life easier (e.g. when setting up the computer name, network, remote management, Windows updates, etc.), although it was still necessary to manually invoke the control intl.cpl and control timedate.cpl commands to convince Hyper-V that I’m in the UK not Redmond…

Other changes that I made included:

The real beauty of this installation is that, now I’ve got everything working, it’s encapsulated in a single virtual hard disk (.VHD) image that can be given to any of our developers or technical specialists. I can take my bootable USB thumb drive to any machine and boot up my environment but, if I used an external hard disk instead, then I could even take my virtual machine images with me – and Garry has done some research into which drives/flash memory to use, which should appear as a guest post later this week. Creating and managing VMs can be done via PowerShell (remember, this setup is mobile and is unlikely to be accessible from a management workstation) and access to those running VMs is possible from PowerShell or Remote Desktop. I could even install Firefox if I wanted (actually, I’ve not tried that on Hyper-V Server but it works on Windows Server 2008 server core)

Of course, what I’d really like is for Microsoft to produce a proper client-side hypervisor, like Citrix XenClient but, until that day, this setup seems to work pretty well.

So how, exactly, should a company license a hosted VDI solution with Windows?

This content is 15 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Late last night, I got myself involved in a Twitter conversation with @stufox, who works for Microsoft in New Zealand. I’ve never met Stu – but I do follow him and generally find his tweets interesting; however, it seems that we don’t agree on Microsoft’s approach to licensing Windows for virtual desktop infrastructure.

It started off with an article by Paul Venezia about the perfect storm of bad news for VDI that Stu thought was unfairly critical of Microsoft (and I agree that it is in many ways). The real point that upset Stu is that the article refers to “Microsoft’s draconian licensing for Windows XP VDI” and I didn’t help things when I piled in and said that, “at least from a managed service perspective. Windows client licensing makes VDI prohibitively expensive“.

Twitter’s 140 character messages don’t help much when you get into an argument, so I said I’d respond on this blog today. Let me make one thing clear – I’m not getting into a flame war with Stu, nor am I going to disclose anything from our conversation that isn’t already on our Twitter streams, I just want to explain, publicly, what one of my colleagues has been struggling with and for which, so far at least, Microsoft has been unable to provide a satisfactory solution. Hopefully Stu, someone else at Microsoft, or someone else in the virtualisation world will have an answer – and we can all be happy:

Stu asked me if I thought Microsoft should give away Windows for free. Of course not, not for free (but then I remembered that, after all, that is what they do with Windows Server if I buy Datacenter Edition). I understand that Microsoft is in business to make money. I also understand that all of those copies of Windows used for VDI need to be licensed but there also needs to be a way to do it at a reasonable price (perhaps the price that OEMs would pay to deploy Windows on physical hardware).

Stu’s final (for now) public comment on the subject was that “Blaming VECD licensing for ruining VDI is like saying ‘I’d buy the Ferrari if the engine wasn’t so expensive’“. Sure, VDI is not a cheap option (so a supercar like a Ferrari is probably the right analogy). It requires a significant infrastructure investment and there are technical challenges to overcome (e.g. for multimedia support). In many cases, VDI may be more elegant and more manageable but it presents a higher risk and greater cost than a well-managed traditional desktop solution (many desktop deployments fail in the well-managed part of that). So, the real issue with VDI is not Windows licensing – but Windows Licensing is, nevertheless, one of the “engine” components that needs to be fixed before this metaphorical Ferrari becomes affordable. Particularly when organisations are used to running a fleet of mid-priced diesel saloons.

VDI is not a “silver bullet”. I believe that VDI is, and will continue to be, a niche technology (albeit a significant niche – in the way that thin client/server-based computing has been for the last decade). What I mean by this is that there will be a significant number of customers that deploy VDI, but there will be many more for whom it is not appropriate, regardless of the cost. For many, the traditional “thick” client, even on thinner hardware, and maybe even running virtualised on the desktop, will continue to be the norm for some time to come. But if Microsoft were to sort out their licensing model, then VDI might become a little more attractive for some of us. Let’s give Microsoft the benefit of the doubt here – maybe they are not sabotaging desktop virtualisation – but how, exactly, is a company supposed to license a hosted VDI solution with Windows?

Licensing does tend to follow technology and we’ve seen instances in the past where Microsoft’s virtualisation licensing policies have changed as a result of new technology that they have introduced. Perhaps when Windows Server 2008 R2 hits the streets and Remote Desktop Services allows provides a Microsoft product to act as a VDI broker, we’ll see some more sensible licensing policies for VDI with Windows…

Upgrading from Windows 7 RC to RTM… you had to try it didn’t you?

This content is 15 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

In-place Windows upgrades are never a good idea. Sure, if you reinstall from scratch you have to reinstall applications, but at least they are installed on something known and supportable. In addition, if you manage more than a few PCs, it’s probably worth creating an automated installation, although that may cause some issues where applications require activation.

Regardless of whether it’s a good idea or not, it is possible to upgrade to Windows 7 RTM from previous releases. XP users have two paths: a two step migration via Vista, which will keep the applications; or what effectively amounts to an archive and reinstall, as described by Scott Hanselman. [Update: From Vista, follow Tim Andersen’s post on in-place upgrade adventures with Windows 7.]

For those of us who were running pre-release versions of Windows 7, it is possible to upgrade to the RTM (Tim Andersen wrote about it recently) but Windows does put a few blockers in the way.

Firstly, it might be necessary to edit the \sources\cversion.ini file to allow upgrades from older versions of Windows 7.

Next, although the install.wim file on the DVD includes several editions of Windows, setup no longer presents a list to choose from and will refuse to continue if there is a version mismatch between the installed version (typically ultimate edition, for a release candidate or beta installation) and the RTM media (even if it’s enterprise edition – which has the same features and functionality). Some comments over at 4sysops suggest editing or removing the \sources\ei.cfg file but that didn’t work out for me (this is how it should work). I had to restart my upgrade using the correct media and, this time, Windows didn’t like the fact that I had profiles stored on another drive. Even changing the ProfilesDirectory in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList was not enough. I had to completely remove the profile and then restore it from backup after the installation was completed.

Furthermore, because my backup was taken whilst logged in as the user whose profile I needed to restore, Windows refused to load it (even after I restored the associated registry settings) and logged on with a temporary profile each time, regardless of me renaming the registry key to remove the .bak from the end of the SID and changing the state from 0x00008000 (backup) to 0x00000000. In effect, the profile was there, including all of my data, but it could not be loaded.

So, in short, you can carry out an in-place upgrade to Windows 7 from a previous version but do you really want to? It’s potentially a lot of hassle for limited reward, particularly as the resulting machine is bound to suffer from various nuances where things have changed at each release. For me, this was just an experiment and tomorrow my machine will be rebuilt from a standard image that, if we get it right, should deliver a reliable end user experience for years to come.

[Update 22:36: Windows7Hacker’s post confirms I did the right thing to work around the profile issue. I just didn’t have a good enough profile backup… and I didn’t actually need to delete the profile either – I could have just changed the ProfileImagePath in the registry.]

[Update 11 August 2009: corrected the part where I suggested Tim Andersen’s post relates to Windows 7 RC to RTM upgrades. Sorry Tim.]

Come in [Internet Explorer] number 6, your time is up

This content is 15 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Bring Down IE6As from this evening, anyone who visits this website using Microsoft Internet Explorer (IE) 6 or earlier will be greeted with a message advising them that their browser is outdated and suggesting options for an upgrade. I thought long and hard about this (just as I have thought about blocking anyone who uses an ad blocker) and, for a long time, I was of the view that it’s not up to me to dictate the web browsers that people use to access my site but, more recently, I’ve been convinced that legacy versions of Internet Explorer are holding back web development, or at the very least increasing the cost of developing for the web due to the need to integrate various hacks to address browser quirks. With the release of Internet Explorer 8 and many corporates starting to look at moving from Windows XP to Windows 7, I expect to see Internet Explorer 6 usage dropping off quickly in the next 12-18 months and it’s probably time to “encourage” people to update their browser even sooner.

I know that Internet Explorer 6 is still widely used in the enterprise (including at the company where I work) and many corporates have application support issues that preclude movement to a later browser but that’s why the move from XP to 7 on the desktop will be key – as organisations carry out application remediation for their desktop applications, they will also be looking at the intranet. Meanwhile, on the Internet, we’re seeing large sites such as YouTube dropping IE6 support and, whilst YouTube is owned by Google (whose motives are hardly altruistic), as more sites drop support for IE6, the movement to more modern alternatives is likely to increase. In fact, I just checked the analytics on this site and IE only accounts for 45% of my visitors (closely followed by Firefox with 39%, Safari with 8%, Google Chrome with just under 6% and Opera with less than 2%). Of the IE visitors, 46.5% run IE8, 37.5% run IE7 and just 16% run IE6. Effectively IE6 is already a minority browser on my site, although the stats for less technical websites are likely to show fewer users at the cutting edge.

The code I’m using to advise users is adapted from the IE6 No More site and the logo on this page relates to a recent article in .net Magazine.

I’m not saying that you can only view this site if you have a modern browser. That would be arrogant and reminiscent of the late 1990s when it was commonplace to see notices that said something like “this site is written for Netscape Navigator 4 with a screen resolution of 800×600”. It’s just that, these days, we have web standards and even Microsoft browsers support them.

My aim is to support all screen sizes from mobile devices, through netbooks (1024×576) up to multi-monitor and large displays (like my 1680×1050 and 2048×768 displays) and all modern (standards-compliant) web browsers on all operating systems. That’s a lot of testing and I’m just one guy so, if and when I get around to redeveloping this site using a recent version of WordPress, it will use semantically correct XHTML and there will be no hacks for legacy browsers.

If you’re running something recent (i.e. the currently released browser from Apple, Google, Microsoft or Mozilla) then your experience should be fine. Anything else and, as they say, your mileage may vary.

Windows 7 RTM running on my netbook

This content is 15 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Last year I blogged about the Lenovo S10e that I bought to test Windows 7. I ran the netbook with Mac OS X for a while but the Hackintosh is no more. Today, the new Akamai download links for “top downloads” delivered the Windows 7 RTM bits to me in just over an hour (my first attempt direct from TechNet had slowed to a crawl overnight) and I installed Windows 7 Ultimate Edition on my netbook in about 15-20 minutes, although I didn’t actually time it.

Ultimate? Yes, Starter is too restrictive (no multi-monitor support – e.g. when presenting), I want to join a domain (so I need at least Professional), and it’s a mobile device, so I intend to use features like BitLocker (for which Ultimate or Enterprise Edition is required) – incidentally, the information I used for the Windows 7 feature comparison is on Dan Delaney’s blog (although it’s slightly out of date as the 3-app restriction on Starter edition was dropped a whole back). Of course, getting a free copy from Microsoft is always a bonus!

Installation was smooth, fast, and uneventful – as the best installs should be. Only one device was banged out in Device Manager – ACPI\VPC2004, which turns out to be a Lenovo Energy Management Driver, for which the Vista driver for the Lenovo IdeaPad Y710 can be used.

DVD drive is bigger than the netbook!One thing that made me chuckle as I installed this was my DVD drive. This was a bargain picked up a few months ago (and unused until today) but is bigger than the netbook I was installing onto (it has an external power supply too that’s not even shown in the picture!).

I could have installed Windows from an external hard drive or USB flash drive but, even with tools to assist with USB boot drive creation, DVD was the fastest route.

Next up, I’ll try upgrading the x64 notebook that I use for work (I know it’s not supported, but I have to try it!) before I nuke that next week and apply an image using the Microsoft Deployment toolkit. I’m sure I have better things to be doing but playing with technology is far more fun.

Injecting network drivers into a Hyper-V Server (or Windows Server) installation

This content is 15 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

A couple of weeks ago, I blogged about running Windows from a flash drive – specifically running Hyper-V Server 2008 R2. One thing I hadn’t got around to at that time though was injecting the necessary drivers to provide network access to/from the server – which is pretty critical for a virtualisation host! Under network settings, the Hyper-V Server Configuration (sconfig.vbs) showed that there were no active network adapters found but I knew this should be pretty easy to fix.

One of the strengths of the Hyper-V architecture is that it uses the standard Windows device driver model. This is in stark contrast to the monolithic model used for VMware ESX (and ESXi) and is the reason that I can’t do something similar with ESXi. In fact, adding network drivers to Hyper-V Server (or for that matter Windows Server 2008 running in server core mode, or even for command line administration of a full Windows Server 2008 installation) is pretty straightforward.

The network card I needed to support is a Marvell Yukon 88E8055 PCI-E Gigabit Ethernet Controller and, even though Windows 7 recognised the hardware and installed the appropriate drivers at installation time, I couldn’t find the drivers in the install.wim file on the DVD. That was no problem – Marvell’s download site had x64 drivers for Windows 7 available and these are also be suitable for Windows Server 2008 R2 and Hyper-V Server 2008 R2. Armed with the appropriate driver (yk62x64.sys v11.10.7.3), I ran pnputil -i -a yk62x64.inf on my Hyper-V Server:

Microsoft PnP Utility

Processing inf :            yk62x64.inf
Successfully installed the driver on a device on the system.
Driver package added successfully.
Published name :            oem0.inf

Total attempted:              1
Number successfully imported: 1

(oem0.inf and an associated oem0.pnf file were created in the %windir%\inf\ folder)

With drivers loaded, I restarted the server (probably not necessary but I wanted to ensure that all services were running) and Hyper-V Server recognised the network card, allowing me to make configuration changes if required.

To validate the configuration, I ran pnputil -e, to which the response was:

Microsoft PnP Utility

Published name :            oem0.inf
Driver package provider :   Marvell
Class :                     Network adapters
Driver date and version :   07/20/2009 11.10.7.3
Signer name :               Microsoft Windows Hardware Compatibility Publisher

So, that’s installing network drivers on Hyper-V Server, what about removing them? Here, I was less successful. I tried removing the plug and play package with pnputil -f -d oem0.inf and this removed the package from %windir%\inf but, after a reboot, my network settings persisted. I also used devcon.exe, the command line equivalent to the Windows Device Manager (making sure I had the amd86 version, not i386 or ia64) to successfully remove the PnP package (devcon -f dp_delete oem0.inf) as well as the network interface (devcon remove "PCI\VEN_11AB&DEV_4363") but this still left several copies of yk62x64.sys available in various Windows system folders. Again, after a reboot the network card was re-enabled. Uninstalling network drivers is not a very likely scenario in most cases but, with a bootable flash device potentially roaming between hardware platforms, it would be good to work out how to do this. Of course, my work is based on the release candidate – the RTM version of Hyper-V Server 2008 R2 is yet to be released to web.

(Failing to) run VMware ESXi on a notebook computer

This content is 15 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

In an attempt to re-acquaint myself with some of the VMware product set (it’s now over 3 and a half years since I studied for my VMware Certified Professional accreditation and I’ve hardly touched a VMware product since), I decided to have a play with VMware ESXi.

In fact, one of my colleagues wants to have a system whereby his colleagues, who get supplied with images from EMC in VMware format and Microsoft in VHD format, can dual-boot between hypervisors. I couldn’t see why that wouldn’t work (I suggested just using VMware Server and Virtual Server on the same box but he was worried about future-proofing the solution), so I set about trying to dual-boot Microsoft Hyper-V Server 2008 and VMware ESXi on the same machine.

First up, I downloaded ESXi 4.0 and started to run the installer, which detected my hardware but then returned:

Failed to load
Failed to load lvmdriver

It turns out that ESXi 4.0 requires that a compatible network card is available before it will install and, not surprisingly, the Marvell Yukon 88E8055 PCI-E Gigabit Ethernet Controller in my notebook PC is not the kind of server-class hardware that ESX is designed for!

So I gave up on ESXi 4.0 and tried ESXi 3.5. This installed pretty quickly but, of course the network card was still unsupported and my IP address was 0.0.0.0 (no way of managing the box!).

As this is a notebook computer, I can’t upgrade the network card (unless I use a USB-connected NIC) but my plea for help on the VMware forums didn’t turn up anything useful. It seems I can run VMware ESX in VMware Workstation or I can run VMware Player from a USB drive. The long and the short of it is that, if VMware don’t provide driver support in ESX/ESXi, you are stuffed. No great surprises there but it’s really frustrating not to be able to get something working!

Windows Virtual PC and XP Mode release candidates

This content is 15 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Earlier this evening, Microsoft announced that the release candidate for WIndows XP Mode (Virtual PC 7) is now available. It’s good timing really. In the next couple of days I should be able to download the RTM bits for Windows 7 and, as upgrading from the XP Mode beta is not supported, it means I should have the new version of WIndows XP Mode before I rebuild my workstation onto an RTM build.

There have been a few changes in Windows XP Mode between beta and RC:

  • USB devices can now be attached to Windows XP Mode applications directly from the Windows 7 superbar, making them available to applications running in Windows XP Mode without the need to go into full screen mode.
  • Windows XP Mode applications can now be accessed with a jump-list allowing a right-click on the Windows XP Mode applications from the superbar to select and open most recently used files.
  • It is possible to customise where Windows XP Mode differencing disk files are stored.
  • Differencing disks may be compacted.
  • There is a new option to turn off and discard changes when using Undo disks.
  • Drive sharing between Windows XP Mode and Windows 7 can be disabled.
  • Initial setup includes a new user tutorial about how to use Windows XP Mode.
  • Faster setup.
  • The ability to install Windows XP components without access to media.

Interestingly, Microsoft is now saying you need an additonal 1GB of RAM for XP Mode (2GB recommended). Of course, you don’t need 1GB of RAM in order to run a copy of Windows XP and a virtual machine manager but that tells you what you might want for any level of performance. In addition to the requirement for hardware that offers virtualisation assistance, this is just one more reason why XP Mode is not a solution for clients looking to sweat their existing hardware assets a while longer… this is purely a software sticking plaster for legacy applications. On the other hand, it’s working pretty well for me with Outlook 2007 in a VM to support Google Calendar Sync and Outlook 2010 on my workstation as my client of choice.

A couple more notes worth mentioning…

Learn about managing AD using PowerShell and AGPM with the Active Directory UK user group

This content is 15 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Mark Parris is organising another meeting of the Active Directory UK User Group for 16 September 2009 and this time the topics will be:

  • An introduction to PowerShell, demo-heavy and presented by Richard Siddaway. In this session Richard will looking specifically at the new AD provider and cmdlets in PowerShell v2, which is included in Windows Server 2008 R2.
  • Managing GPOs with Advanced Group Policy Management (AGPM) 3.0, where Jane Lewis will present AGPM (part of MDOP), investigating and discussing some of its key features and looking at how it can help customers manage, control and secure Group Policy.‬‪

Registration is required.

Hackintosh netbook revisited

This content is 15 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Hackintosh Finder Icon by ~3ncA few months ago, I wrote about the installation of Mac OS X on my Lenovo IdeaPad S10e netbook. Whilst I was pleased to have a working installation of OS X there were still a few things that didn’t quite work as I’d have likef. This post details a few more tweaks I’ve made to the Hackintosh.

My S10e is a Hackintosh, rather than a Macintosh, so I replaced the standard Mac OS X Finder icon with the Hackintosh Finder Icon by ~3nc using LiteIcon.

I thought that the fans weren’t running as often as they had been under Windows… in fact I’m not even sure they were running at all. Furthermore, iStatMenus would only tell me the hard disk temperature so I wasn’t sure how warm the CPU was running, or how fasts the fans were turning. Thankfully, before I fried my netbook, a comment on this blog pointed me back to The Kitch and ultimately to a post on the Lenovo IdeaPad S Series Forums which linked to an updated version of AppleACPIPlatform.kext, which I then installed using Kext Helper. After a reboot, my fans have been running to keep the netbook cool(er), although it’s still pretty hot and I seem to have lost Bluetooth.

I had a play with a few options to scale the screen resolution; however the results were not really fantastic. I did eventually settle on using defaults write NSGlobalDomain AppleDisplayScaleFactor 0.96 to make the screen appear to be 600 pixels deep but some of the icons (e.g. the battery on the menu bar) were screwed up.

I also have a UK keyboard, so I followed Liquid State’s advice, using Ukelele‘s LogitechU.K.Intl.keylayout (copied to /Library/Keyboard Layouts and selected in the International system preferences) and then adjusting the modifier keys as described by Phil Gyford (alternatively, I could have swapped the Windows key and the alt key to keep them the same way around as on a Mac keyboard). Incidentally, Apple keyboards still have the ” and @ reversed (even with a UK layout) but at least with this configuration the labels on the keys matched the resulting output.

The biggest letdown was Ethernet connectivity. There was a project working on porting the Broadcom BCM57xx and 59xx Linux drivers to OS X but nothing is happening fast and it really seems to be one guy working with limited spare time and limited collaboration. Wireless is fine but wired Ethernet is more reliable (and often the only option in a hotel room) so this was probably the final nail in my Hackintosh’s coffin.

Now the S10 has been replaced by the S10-2 and Gizmodo reports that it’s not really suitable for hackintosh conversion. My Hackintosh was a fun experiment but ultimately I’m not finding it as useful as I would if it was running Windows. It’s not that there is anything wrong with Mac OS X but I use Macs for my digital media work and a netbook is not really the right computing platform for that. In addition, I’m missing out on things like reliable Bluetooth, sleep, and Ethernet connectivity – all of which I could get in a Mac… if I was prepared to pay the money. Let’s see if the Apple iPod tablet really does make it to market this winter.

In a few hours, I’ll take a final disk image of the Hackintosh for posterity and rebuild it to run the final release of Windows 7 (thanks to Microsoft for my complementary copy) – which is, after all, what I originally bought it for!