Right-Click On Start And Windows+X Fail To Open Power User Menu On Windows 8.X

This one has been bugging me for a couple of weeks and I just managed to find a fix. Right-clicking on the start button and pressing Windows+X failed to do anything.

The fix?

1) Open up command prompt and run:

xcopy %SystemDrive%UsersDefaultAppDataLocalMicrosoftWindowsWinX %userprofile%AppDataLocalMicrosoftWindowsWinX /e /y

2) Log out and log in again. Everything should work as expected.

Technorati Tags: ,

Memory Page Combining

My reading of the Windows Server 2012 R2 (WS2012 R2) Performance and Tuning Guide continues and I’ve just read about a feature that I didn’t know about. Memory combining is a feature that was added in Windows 8 and Window Server 2012 (WS2012) to reduce memory consumption. There isn’t too much text on it, but I think memory combining stores a single instance of pages if:

  • The memory is pageable
  • The memory is private

Enabling page combining may reduce memory usage on servers which have a lot of private, pageable pages with identical contents. For example, servers running multiple instances of the same memory-intensive app, or a single app that works with highly repetitive data, might be good candidates to try page combining.

Bill Karagounis talked briefly about memory combining in the old Sinofsky Building Windows 8 blog (where it was easy to be lost in the frequent 10,000 word posts):

Memory combining is a technique in which Windows efficiently assesses the content of system RAM during normal activity and locates duplicate content across all system memory. Windows will then free up duplicates and keep a single copy. If the application tries to write to the memory in future, Windows will give it a private copy. All of this happens under the covers in the memory manager, with no impact on applications. This approach can liberate 10s to 100s of MBs of memory (depending on how many applications are running concurrently).

The feature therefore does not improve things for every server:

Here are some examples of server roles where page combining is unlikely to give much benefit:

  • File servers (most of the memory is consumed by file pages which are not private and therefore not combinable)
  • Microsoft SQL Servers that are configured to use AWE or large pages (most of the memory is private but non-pageable)

You can enable (memory) page combining using Enable-MMAgent and query the status using Get-MMAgent.

You’ll find that memory combining is enabled by default on Windows 8 and Windows 8.1.  That makes these OSs even more efficient for VDI workloads. It is disabled by default on servers – analyse your services to see if it will be appropriate.

There is a processor penalty for using memory combining. The feature is also not suitable for all workloads (see above).  So be careful with it.

KB2905412 – Stop Error 0xD1 On Windows-Based Computer With Multiple Processors

Not strictly a Hyper-V issue, but you’ll understand why I am blogging about this one; A hotfix has been released for when a stop error 0xD1 on a Windows-based computer with multiple processors.


Your multiprocessor Windows-based computer crashes every two to three days. Additionally, Stop error 0xD1 is generated when the computer crashes.


This problem occurs because of a race condition that exists in the TCP/IP driver in a multiprocessor environment. If duplicate TCP segments are received on different processors, they may be sequenced incorrectly, and this triggers the crash.

A hotfix is available

KB2902014 – Guest System Time Incorrect After VM Crashes On Win8 or WS2012 Hyper-V Host

This is a busy month for hotfixes!  Microsoft has released a fix for when system time of a virtual machine becomes incorrect after it crashes or resets in a 64 bit Windows 8-based or Windows Server 2012-based Hyper-V host.


Consider the following scenario:

  • You create a virtual machine (VM) on a Hyper-V host that runs 64 bit Windows 8 or Windows Server 2012.
  • You disable the Hyper-V time synchronization integration service on the VM.
  • The VM crashes or resets.

In this situation, the system time of the VM is incorrect when it starts again.


This issue occurs because the time information of the VM is not saved on VHD as expected when the VM crashes or resets. When the VM starts again, it uses the old and out-of-date time information that was saved.

A hotfix is available to prevent this issue.

KB2894485 – Cross-Page Memory Operation Crashes VM on Win8 or WS2012 Hyper-V Host

Microsoft has released a hotfix for when a cross-page memory read or write operation crashes virtual machine that runs on 64-bit Windows 8-based or Windows Server 2012-based Hyper-V host.


Assume that you install a Windows system virtual machine on a Hyper-V host that runs 64-bit Windows 8 or Windows Server 2012. You have an application that runs on the virtual machine. This application performs memory read or write operation that touches MMIO (Memory Mapped Input Output) region. The operation crosses page boundary. In this situation, the virtual machine crashes.

A hotfix is available to prevent this problem.

KB2893986 – Vulnerability in WS2012 & Windows 8 Hyper-V Could Allow Elevation of Privilege

In November, Microsoft released the MS13-092 (aka CVE-2013-3898) security fix for Windows Server 2012 Hyper-V and Windows 8 Client Hyper-V. 

An attacker who successfully exploited this vulnerability could execute arbitrary code as System in another virtual machine (VM) on the shared Hyper-V host. An attacker would not be able to execute code on the Hyper-V host, only on guest VMs on the same host. The vulnerability could also allow denial of service in Hyper-V on the same platforms, allowing an attacker to cause the Hyper-V host to stop responding or restart.

We’ve only had a handful of security fixes for Hyper-V since it was released on Windows Server 2008.  This looks like the most important one of the lot.

Please test/deploy as quickly as you can.

WS2012 R2 Hyper-V Manager Can Be Used With WS2012 Hyper-V

Most everything we get told at MVP Summit is under NDA, but this is an exception.  In fact, Ben Armstrong asked a few of us to blog about this last night at the Summit party.

The new generation of Hyper-V Manager (Windows Server 2012 R2 and Windows 8.1) can be used to manage Hyper-V of the most recent generation (Windows Server 2012 and Windows 8). 

This is a first for Hyper-V.  We’ve always needed to use a matching version of Hyper-V Manager on our PC.  For example, you needed RSAT for Windows 7 to manage W2008 R2 Hyper-V from your PC.  Windows Server 2012 R2 and Windows 8.1 introduced an anomaly; Windows 8.1 is a free upgrade from Windows 8 so it was expected that many administrators would upgrade their PCs.  However, Windows server is not a free upgrade and businesses are often slower to upgrade servers OSs, even on hosts.  This could lead to a situation where an IT department upgrades their PCs but could no longer use their shiny new 8.1 Hyper-V Manager to manage their recently new WS2012 hosts.

The new Hyper-V Manager won’t do anything noticeably different (with one tiny exception for the eagle-eyed) when you use it normally.  The GUI calls either the 2012 or the 2012 R2 binaries depending on the generation of the host you are configuring.  That teeny exception?  Hyper-V snapshots will appear as “snapshots” in the UI for 2012 hosts, and they’ll appear as “checkpoints” (the new term to cause less confusion) for 2012 R2 hosts.

There is one thing to be careful of and this will affect very few people.  A few people launch the connect tool by running the executable directly.  I’ve only ever done this by accident when searching for “Hyper-V” on Windows 8/8.1.  I normally launch connect from Hyper-V Manager or Failover Cluster Manager.  If you do run this tool directly, then you need to run VMCONNECT.EXE for the older host versions and run VMCONNECT.6.2.EXE for VMs running on Windows 8.1 or Windows Server 2012 R2 hosts.

Note that everything I have said here for Hyper-V Manager also applies to Failover Cluster Manager.  The clustering team used the same approach as the Hyper-V team.

And no, you cannot manage legacy versions such as W2008 R2.  This is because of significant changes to the underlying WMI; WS2012 introduced WMIv2.

And before you ask: you need VMM 2012 R2 to manage WS2012 R2 Hyper-V from System Center.

My BAD Experience Of Upgrading From Windows 8 to Windows 8.1

I deliberately held off from upgrading my Samsung ATIV Windows 8 Pro Atom tablet from Windows 8 to 8.1 to experience the process.  It started kind of rough.

You start, not in the Windows Store, but on Windows.com.


Click the link and the upgrade process should start.  Instead, I got a HTTP 403 Forbidden Access Denied error.  Whoops!  First day jitters.  I hope someone quickly deployed more Azure instances! 😉

I tried again about 2 hours later and the link opened the Windows Store where I clicked on Download.


Then a download starts.  For me, on a fast line, it was slow.


After a long wait I was informed that the machine would reboot automatically after a 15 minute wait.  I triggered it to happen immediately.  The very slow count from 1 to 100% began after the reboot.  Bear in mind that the storage in these tablets appears to be very slow.

My machine hung on a black screen during this stage and that stuffed the install.  I rebooted and it reset this stage of the upgrade.  Another power reset and the issue repeated. 

And then I was greeted by

Restoring Your Previous Version Of Windows

Yes, the upgrade failed for no reason.  So much for the upgrade process.  Looks like I’ll be doing a fresh install instead.

FYI, I saw another machine (also Windows 8 OEM but another hardware brand) even refuse to upgrade for an unknown reason.  This is what I was greeted with when Windows 8 was restored and I logged in.

Couldn’t Upgrade To Windows 8.1

Sorry, we couldn’t complete the update to Windows 8.1.  We’ve restored your previous version of Windows to this PC.

0xC1900101 – 0x40017

This is why there is value in public beta testing, unlike in the much smaller restricted private TAPs.

A Toshiba Z10t “Convertible Ultrabook” (Pro Tablet) Just Landed On My Desk

Look what just arrived:


This is an Intel Core i5 processor powered Toshiba Z10t “tablet”, just like the Surface Pro is.  It docks into a clamshell rigid keyboard (no extra battery)


Look Pa, no hands:


And I don’t need to stand 6 foot 5 tall to get the thing to sit on my lap.  Yes, like all the pro tablets, it’s top heavy so it really needs a hand on the keyboard … but that’s where they coincidentally sit when I’m, you know, typing!

Toshiba don’t call this device a tablet.  I think that’s clever.  Say “tablet” to someone and they think $500 or less.  Put an i5, business level build, and a keyboard into a device and you’re talking $1000+.  That’s a big $500 (or more) psychological barrier to get over!

The tablet has a full-sized SD slot (handy for cameras) and USB 3.0 port.  The keyboard adds a USB 2.0 port, a full size HDMI port (they sit better than micro-HDMI), VGA (really needed for presenting at public venues), and RJ45.  It’s that last one that caught my eye when I played with one of these a while ago … that RJ45 means PXE BOOT!  And that means enterprise admin can deploy their Windows 8.1 Enterprise images to this machine using the network based tools that they are using for all other PC types.  This model that we got came with a digitizer stylus.  I find the stylus really useful for OneNote (drawing diagrams) and for using with the Isoboard app to white board via the projector (connected 99.9999% of the time via a VGA cable).

It came with Windows 8 Pro, so I’m upgrading it to Windows 8.1 Pro for demo purposes.

I reckon this is a good business offering for those looking for a hybrid tablet/laptop solution.  In my opinion, the true “lapability” of these device trounces the non-existence of this feature on Surface Pro and Surface Pro 2.

Hopefully I’ll get some time on this machine over the coming weeks/months so I can talk more about it.

Available on:

KB2885465 – CPU Not Allocated Correctly VMs On Win8 Or WS2012 Hyper-V

Microsoft has released a KB article for when CPU resources are not allocated correctly for a virtual machine running on Windows 8 Client Hyper-V or Windows Server 2012 Hyper-V.

This article is related to unexpected behaviour with the virtual processor resource control settings of a VM in Hyper-V.  Most people never touch these settings, and probably aren’t even aware of what they do.  My guess is the only people who touch them are maybe hosting companies, and those who want to dedicate processor to SQL Server, Exchange, or SharePoint VMs by reserving 50% or 100% of a logical processor (physical core, or half core with Hyperthreading enabled) capacity to each vCPU in the VM.  That’s probably why this article has appeared now rather than a long time ago.



When the Hyper-V role is installed on a Windows Server 2012-based computer, or the Hyper-V feature is enabled on a Windows 8-based computer, you experience the following issues.

Issue 1

When you set the CPU limit on a virtual machine to a value that is 15 percent or less of the total CPU resources on the computer, the virtual machine crashes.
Note This issue does not occur when the virtual machine is running Windows 8, Windows Server 2012, or a later version of Windows.

Issue 2

When you configure the CPU limit on a virtual machine, the virtual machine is allocated less resources than the limit that you configured. For example, if you set the CPU limit on a virtual machine to 20 percent of CPU resources on the computer, the virtual machine is allocated less than 20 percent of CPU resources.



Cause of Issue 1

This issue occurs because the timer clock interrupts are not sent to the virtual machine in time. Therefore, the virtual machine assumes that a hardware error occurred.

Cause of Issue 2

This issue occurs because the hypervisor throttles the resources that are provided to the virtual machine.

A supported hotfix is available from Microsoft.