Tag Archives: hyper-v

Microsoft Hyper-V, codenamed Viridian and formerly known as Windows Server Virtualization, is a native hypervisor; it can create virtual machines on x86-64 systems running Windows.

Hyper-V: Synthetic SCSI Controller Error When Booting from ISO

Forgive my ignorance, but this just pissed me off. I downloaded Server 2012 R2 from TechNet. I created myself a nice Hyper-V guest VM on my Windows 8.1 x64 system. I then spent a good 30 minutes researching what the $@#! this error message meant when trying to power my VM on after attaching the downloaded ISO to it. I read everything from a permissions problem, path length problem, etc. I found the answer. Finally.

capture2

The Solution

First, I have a question. Why is this a solution? What is it that is so special about this that makes it work!? Is it a file stream or something?

Ok – the solution. Are you ready? Seriously?

Make a copy of the ISO and mount that ISO to the VM’s DVD drive.

*facepalm*

Windows Server 2012 R2 RTM (CRITICAL_STRUCTURE_CORRUPTION)

Receiving a BSOD on a Windows Server 2012 RTM fresh install processing updates. This is a Hyper-V VM.

2014-05-14_124102

Windbg Analysis

0: kd> .bugcheck
Bugcheck code 00000109
Arguments a3a01f58`921465fa b3b72bde`e4946739 00000000`000001a0 00000000`00000007
0: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

CRITICAL_STRUCTURE_CORRUPTION (109)
This bugcheck is generated when the kernel detects that critical kernel code or
data have been corrupted. There are generally three causes for a corruption:
1) A driver has inadvertently or deliberately modified critical kernel code
 or data. See http://www.microsoft.com/whdc/driver/kernel/64bitPatching.mspx
2) A developer attempted to set a normal kernel breakpoint using a kernel
 debugger that was not attached when the system was booted. Normal breakpoints,
 "bp", can only be set if the debugger is attached at boot time. Hardware
 breakpoints, "ba", can be set at any time.
3) A hardware corruption occurred, e.g. failing RAM holding kernel code or data.
Arguments:
Arg1: a3a01f58921465fa, Reserved
Arg2: b3b72bdee4946739, Reserved
Arg3: 00000000000001a0, Failure type dependent information
Arg4: 0000000000000007, Type of corrupted region, can be
	0 : A generic data region
	1 : Modification of a function or .pdata
	2 : A processor IDT
	3 : A processor GDT
	4 : Type 1 process list corruption
	5 : Type 2 process list corruption
	6 : Debug routine modification
	7 : Critical MSR modification

Debugging Details:
------------------


PG_MISMATCH:  40000

DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT

BUGCHECK_STR:  0x109

PROCESS_NAME:  mscorsvw.exe

CURRENT_IRQL:  2

ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) amd64fre

DPC_STACK_BASE:  FFFFF80049477FB0

STACK_TEXT:
fffff800`494778a8 00000000`00000000 : 00000000`00000109 a3a01f58`921465fa b3b72bde`e4946739 00000000`000001a0 : nt!KeBugCheckEx


STACK_COMMAND:  kb

SYMBOL_NAME:  ANALYSIS_INCONCLUSIVE

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: Unknown_Module

IMAGE_NAME:  Unknown_Image

DEBUG_FLR_IMAGE_TIMESTAMP:  0

IMAGE_VERSION:

BUCKET_ID:  BAD_STACK

FAILURE_BUCKET_ID:  BAD_STACK

ANALYSIS_SOURCE:  KM

FAILURE_ID_HASH_STRING:  km:bad_stack

FAILURE_ID_HASH:  {75814664-faf6-4b70-bbc7-dc592132ecdd}

Followup: MachineOwner
---------

Update 1: Applying Security Updates

I decided to apply just Security Updates right now. So far so good.

2014-05-14_130315

After that completed, these are the remaining updates for this pass.

2014-05-14_130441

I will install these on a one-by-one basis.

Interestingly enough, that first update (685KB) failed install; re-checked for updates and there was only one update (9.6MB) so I assume it to have been a roll-up? Anyway it installed fine.

Now, I re-checked updates and I have a Windows 2012 R2 Update (~800MB).

2014-05-14_130725

Working on installing this now.

That update installed, ran check and found additional updates; those installed as well.

One last update remains, 97MB and it installed and rebooted seemingly OK.

2014-05-14_133434

After prompt to restart, got the following error on boot though:

2014-05-14_133309

Booted back into Windows OK but I see the update did not install.

This update is the “Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 update rollup: May 2014”

Prerequisite indicates KB2919355.

Checking system for KB2919355 shows I have it:

2014-05-14_133720

Re-attempting to install this update.

Resolution

All updates installed, however, still getting a Bugcheck code of 0x109 randomly.

What is VDI?

Virtual desktop infrastructure or VDI is a computing model that adds a layer of virtualization between the server and the desktop PCs.

VMware describes Virtual Desktop Infrastructure (VDI) as “delivering desktops from the data center”. In other words, VDI is where enterprise desktop computers are virtualized, moved to the data center, then presented over the LAN or WAN to the end users. Once VDI is used, typically the end user devices are replaced with thin-client devices.  I’ve worked with some thinclient devices such as the HP T5740

While VMware has a VDI product called VDM (Virtual Desktop Manager), VDI is not a product exclusive to VMware. Other VDI vendors include Citrix XenDesktop & Kidaro (now owned by Microsoft).

With VDI, virtual desktops are served by enterprise virtualization servers running products like VMware ESX, Microsoft Hyper-V, and Xen Server. With the addition of the VDI products, these desktops can be dynamically created, pooled & shared, or even accessed from a GUI menu, over a web page.

Here is a nice infographic regarding what it will take for VDI to take off.

References:

http://en.wikipedia.org/wiki/Desktop_virtualization