December 14, 2012 6:49 PM
Posted by: Ed Tittel
When is a PC not really a PC? When it’s a virtual machine (VM), of course. In that case, software is used to emulate a physical machine of sorts, as well as the operating system and applications it supports. Burning with curiosity this morning, I fired up DriverAgent to see its takes on what goes into the virtual innards of a Windows 8 VM in the company’s latest and greatest desktop environment.
An interesting grab-bag of generic PC parts.
The first thing I noticed about the listing was the lack of hardware details — such as, for example, no CPU (no Processor entry), no monitor, no physical storage devices, and so forth. The next thing is the presence of a number of numerous entries based on the old Intel 810 Chipset and its related 82371AB/EB controllers — including a PCI Bus Master IDE controller, a PCI to ISA bridge (ISA mode) controller, and a Pentium II Processor to PCI bridge. All of this points to an older and very generic Pentium II virtual machine architecture for Hyper-V desktop OSes. This makes sense, because a large number of virtualized device drivers are available for this virtual platform, and makes the rest of the plumbing for such VMs easy to define and hook up, including other no-name system elements like the COM1 communications port, the PCI bus, CMSO/real time clock, DMA controller, motherboard resources, numeric data processor, a programmable interrupt controller, and so forth. And when there’s IO to be done we see virtualized drivers including an Msft Virtual CD/ROM ATA device, and a Virtual HD ATA device.
All very simple if not also entirely rudimentary. Intel’s had emulators for all these parts kicking around for years. I’m pretty sure that where at least the baseline virtual PC elements in this architecture originate. It also gets interesting if you visit DriverAgent and right-click on the itty-bitty icons at the left of each entry that appears in the preceding screencap. Normally, anything with a “real driver” attaches to a link where you can find alternate drivers you might wish to substitute for what you’re currently using (at least on a non-virtual PC). As I click through the list, only the following elements have links attached:
- Intel 82371AB PCI Bus Master IDE Controllers PCI Drivers
- Microsoft Hyper-V S3 Cap (but the corresponding driver page is empty)
- Generic PnP Monitor (driver page empty)
- Intel 82371AB/EB PCI to ISA bridge (ISA mode)
- Intel 82443BX Pentium(r) II Processor to PCI Bridge PCI Drivers
- Microsoft Shared Fax Driver (driver page is empty)
- Microsoft XPS Document Writer v4 (driver page is empty)
Everything else is completely virtualized, probably integrated into the runtime virtual machine image that supports desktop operating systems inside Hyper-V v3. In pondering why Microsoft chose such simple, basic elements and such a rudimentary infrastructure for the virtual architecture, I’m struck by how far back in time the hardware upon which the virtual machine is modeled actually goes. It’s old enough to accommodate even “ancient” Windows versions (a lot of this stuff goes back to the 1999-2001 period) yet capable enough to provide useful PC emulation even for modern desktop operating systems like Windows 7 and 8. When I run either of those OSes on a modestly equipped host PC (i7 2600K with plenty of RAM) they are surprisingly fast and snappy, not much slower than the host OS itself, running on the same hardware.
Given that updating drivers for a virtual machine is fraught with peril, I’m glad that DriverAgent didn’t find any drivers it thinks need to be updated on the test VM where I captured the screenshot. I have to image that if and when such driver updates occur, they’ll be handling as part of a rebuild of the baseline VM images, and simply be passed down the line for ordinary users to test and deploy as they see fit.
December 12, 2012 11:04 PM
Posted by: Ed Tittel
I’m editing an upcoming book for Sybex from my friend and sometimes co-author Darril Gibson. Its current working title is MCSA: Microsoft Windows 8 Complete Study Guide: Exams 70-687 and 70-688 (ISBN-13: 978-1-118-55687-0), and it’s chock-full of interesting and useful information about Windows 8 internals, installation, deployment, and maintenance. I’ve been chewing my way through the Hyper-V chapters lately, and have had the unique pleasure of getting paid to learn stuff I need to know anyway. It’s been great fun, and it’s amped up my understanding of and appreciation for the latest Microsoft desktop OS. This book is due out in the March-April 2013 timeframe for those who may be interested in checking it out further…
In working with and installing VMs inside the Hyper-V environment on a couple of Windows 8 test machines to complete and evaluate the exercises that Darril provides in his book – worth the price of purchase all by themselves IMO – I’ve learned a number of very interesting lessons about working with VMs in Hyper-V on Windows 8, and made some equally interesting observations:
- For moderate usability and performance, Windows 8 and Windows Server 2012 VMs need RAM allocations of at least 3 GB (and with Windows and RAM, more is always better, as long as you can spare it—I try to leave no less than 8 GB of RAM for the host OS to do its thing at all times, which means I’m equipping my new systems with a minimum of 16 GB of RAM on notebooks, and 24-32 GB on desktops).
- Don’t forget you can use RDP to attach to VMs. It beats the default Virtual Machine Connection windows that double-clicking a VM entry opens through Hyper-V Manager: not only can you expand the RDP windows to fill the whole screen (for VMC windows, resolution is limited to 1024×768), but you also get access to audio from the VM, which the VMC window does not support. You don’t have to strike CTRL-ALT-Left Arrow to change the mouse focus, either: you can just mouse naturally in and out of the RDP window as you like.
- On PCs with (mostly smaller) SSD boot drives – my typical configuration nowadays, and I suspect likewise for many IT pros and PC enthusiasts – it’s necessary to move virtual hard disks (VHD and VHDX files) plus snapshots to another drive to keep from overstuffing storage on your system/boot drive. When you set up a VM you have the option to define an alternate location for such files. I strongly recommend you get in this habit, if space on your boot drive is constrained.
- In Darril’s book he recommends setting up Windows 8 and Windows Server 2012 test environments through a private virtual switch. This is probably a good way to run a test network day-to-day, but you must occasionally change the switch designation over to external (able to access the Internet through the host). First, this is necessary to activate Windows inside the individual VMs, and second, it’s needed to gain access to Windows Update to keep the patch levels of the guest OSes up-to-date and in synch with production environments.
- For test networks, Microsoft’s built-in Windows Defender anti-virus/anti-spyware package is plenty good enough for security protection. Unless you have to install a different security package to maintain parity with production networks, there’s no need to switch to something else. That said, you’ll want to exclude the physical disks where you store virtual hard disk images from antivirus scanning by the host system, not only because of potential performance impacts, but also because they’re already being scanned within the VMs anyway. OTOH, if your AV software permits process-level scanning exclusions, you’ll also want to exclude vmms.exe and vmwp.exe to keep additional process overhead out of the way.
- If possible, put your VHDs on a RAID 10 array, which offers striping performance with mirrored redundancy: this delivers the best I/O performance with the fault tolerance of mirroring. Takes more drives to implement this, to be sure, but offers the best of both worlds (performance and protection). Remember that static, fixed-size allocation VHDs also deliver better performance, while dynamically expanding VHDs help keep disk consumption lower. A classic speed-space trade-off!
- Hyper-V Dynamic Memory is the bomb! Though you must specify startup RAM and Maximum RAM sizes, it’s a boon to let Hyper-V manage memory consumption in real time. I recommend using a generous static memory allocation (4 GB or better for virtual desktops, 8 GB of better for virtual servers) along with Task Manager to observe test or reference VMs at work under various loads to record start-up and peak load memory consumption to set startup and maximum RAM allocations to make sure you don’t over- or under-provision them with RAM.
Given that RAM is so cheap these days (I just bought 32 GB – 4 x 8GB modules – for one of my desktops for a paltry $70) do your best to max out your systems with RAM if you want to work with Hyper-V. That way, you’ll be able to make sure the host OS and its guest VMs all have enough working space to get their jobs done!
December 10, 2012 8:19 PM
Posted by: Ed Tittel
If you work with Windows desktops, especially virtualized ones, you’re probably already wise to the wiles and virtues of working with Windows images, probably using some mix of virtual disk (.vhd or .vhdx) and Windows image (.wim) file formats. As you begin to work your way into Windows 8 images, you’ll find the built-in Windows Deployment Image Servicing and Management Tool, aka DISM, offers some interesting additions to and enhancements from its capabilities in Windows 7. DISM was also retro-fitted to Vista, but had to be downloaded in the form of the Windows Automated Installation Kit, aka WAIK, itself now superseded in Windows 8 with the Windows Assessment and Deployment kit, aka ADK. I’ve just started digging into the DISM utility more seriously, as I’m trying to work around an EFI disk partition issue on one of my Windows 8 desktops that’s preventing the new record image (recimg) command from capturing an image on that particular machine. Along the way to further understanding, I came across a peachy resource I wanted to share, because it’s likely to be as helpful to other readers as it’s already been to me — namely, the DISM technical reference from TechNet.
This reference not only includes a useful overview, it also includes a useful set of how-tos on using DISM, as well as the outright and typical command line reference information you’d expect for an important and complex management tool in any system administrator’s toolbox. So far, two items in the how-to collection have proven especially informative in my quest for a current refresh image for my Windows 8 desktops: they’re entitled Create and Manage a Windows Image and How to Take Inventory of an Image or Component. This items have helped me to better understand why, when, and how to use DISM in creating and manipulating Windows image files, and to get my head around the often-complex syntax of the DISM command. I’ve also discovered a CodePlex project called DISM GUI that presents a graphical shell around DISM (the following screenshot shows WIM information for a typical Windows image constructed for a bootable OS install UFD using the Windows 7 USB DVD Download Tool).
The DISM GUI project makes fooling around the this command a little easier.
DISM GUI promises to make real work with DISM more straightforward, too, but I’m not deep enough into its ways and workings yet to comment intelligently on that scenario. All I can say at this point is “Looks good!”
December 7, 2012 4:17 PM
Posted by: Ed Tittel
Windows 8 offers at least one major improvement over previous Windows versions — namely, the ability to refresh the underlying operating system while keeping personal files intact. That said, if you use the built-in Windows image file for that purpose on your Windows 8 machines, you’ll end up having to re-install all of the applications you added to the bare-bones version that Microsoft delivers to users and sysadmins alike. But you can avoid the extra work involved in those re-installs, and save lots of time and effort, if you generate a custom image file (.WIM) from a fully tricked-out version of Windows instead. Launching the refresh process is simple: from the Windows 8 Start screen, simply type “refresh,” then select the “Refresh Your PC” option that shows up among the Settings choices. But before you get anywhere near this command, create a more usable Windows image to refresh into, by following these instructions:
1. Launch the Command Prompt with Administrative permissions (right-click cmd.exe and choose “Run as administrator” or click Windows+X to launch system utilities, and select Command Prompt (Admin). Click Yes when the UAC warning appears.
2. Create a folder wherein the custom refresh image file will reside. On smaller SSD-based systems, you may want to select a different disk drive. On my test system I created a folder named
E:\RefreshImage. OTOH, you can create the image on your C: drive, then copy it elsewhere later on (on my Lenovo X220, I moved it to an external HD after creation, because it was much faster to build the image on the 120 GB SSD, then move it to the USB external HD thereafter). It can take 20-30 minutes to build an image file, even on a fast SSD, so be prepared to let the PC chunk away in the background on this task. On the Lenovo, the image file consumed just over 17 GB; on my i7 desktop, it topped 30 GB.
3. Type the create image command with appropriate parameters:
recimg /createimage E:\RefreshImage. It creates a file named
CustomRefresh.wim in the target directory.
Done! When you create your image, the
recimg command automatically registers that image with Windows 8, so the OS knows it should use this image when you run the refresh utility. If you maintain multiple images, you can select which one to register by using the
/deregister (to prevent Windows from using the most current image with
/setcurrent (to establish the refresh association you want) parameters with the
recimg command. Of course, now you need to remember to generate a fresh new image each time you add or remove another application from your Windows 8 desktop, or after applying patches or hotfixes to the OS. That way, you’ll keep your image current should you need to refresh it.
The refresh facility was a very nice addition to Windows 8. Using the recimg command to capture fresh images on an as-need basis makes it even nicer! Also, check out the free SlimUtilities RecImg Manager program, which puts a user-friendly graphical UI around the command line function.
December 5, 2012 8:41 PM
Posted by: Ed Tittel
Generally speaking, if your PC (desktop, notebook, or tablet) runs an i3, i5, or i7 CPU you should be able to install and use Client Hyper-V on a Windows 8 installation on that machine. But the only way to be 100% sure is to check the CPU’s various hardware capabilities to see what you’ve got at your disposal (please note: with only a very few exceptions — such as running Windows XP Mode inside a 32-bit Windows 7 VM on Client Hyper-V in Windows 8 — you can’t run a VM within a VM using Client Hyper-V).
The easiest way to check your PC’s ability to run Client Hyper-V is to download the Windows Sysinternals utility known as coreinfo and run it at the command prompt on the target machine to see what kind of output you get from a command string that reads
coreinfo -v. The following screenshots are labeled to distinguish a system that can run Client Hyper-V from one that cannot.
Coreinfo output that indicates support for hardware virtualization and SLAT.
Coreinfo output that shows SLAT support is absent.
Thus, the key differentiator is the asterisk (*) versus a dash (-), where the former means the feature is present, while the latter means it’s absent. For Client Hyper-V to work on a target system, both Intel hardware-assisted virtualization and Intel extended page tables (aka SLAT, or Second-Level Address Translation) must be present on Intel machines. On AMD processors this functionality is called Nested Page Tables (NPT or NP) in the context of AMD Virtualization (AMD-V) Technology. For the record, here’s a list of “AMD Processors with Rapid Virtualization Indexing Required to Run Hyper-V in Windows 8” from AMD itself.
This is what coreinfo output looks like from an AMD-based machine that (barely) meets the Hyper-V criteria:
Even this older AMD Athlon II P340 supports hardware-assisted virtualization and SLAT.
For AMD-based systems that don’t meet Client Hyper-V requirements, either or both of the SVM or NP entries will have a minus sign (-) instead of an asterisk (*), to indicate that the feature is missing. Because SVM predates NP, it’s more likely that NP will be absent, though on the oldest AMD CPUs both NP and SVM will not be supported. If you get both asterisks, you can run Client Hyper-V on your target machine; if either or both hardware-assisted virtualization or SLAT support is absent, you can can’t run Hyper-V on your target machine. That’s it!
December 3, 2012 5:03 PM
Posted by: Ed Tittel
Future Windows Come in Shades of Blue?
One of my favorite Windows pundits is Woody Leonhard (a bona fide Windows and Office guru). He definitely grabbed my attention, and started me thinking hard this morning, with his piece for the InfoWorld Tech Watch entitled “Is a new version of Windows 8 coming … every year?” He quotes Mary Jo Foley (ZDNet) and Tom Warren (The Verge) as circulating strong rumors to the effect that “yearly upgrades will be the norm for Windows soon.” The most profound basis for the upcoming Windows 8 versions currently code-named “Blue,” is to consolidate SDKs and APIs for Windows 8, Windows Phone 8, and Windows RT under a single umbrella. Woody quotes Tom Warren on this subject as follows:
Once Windows Blue is released, the Windows SDK will be updated to support the new release and Microsoft will stop accepting apps that are built specifically for Windows 8, pushing developers to create apps for Blue. Windows 8 apps will continue to run on Blue despite the planned SDK changes.
His re-interpretation of Warren’s remarks is consonant with my own — namely, that this updated version of the Windows SDK for Blue will cover all the bases, with requiring separate stuff (or compilations) for the various Winodws sub-platforms for ARM-based tablets, x86 platforms, or Windows Phone devices. Woody also remarks that “Once Blue is released, all new Windows Store aps will be required to work on all three platforms. At least, I think that’s what he’s saying.” FWIW, so do I, not just because of the admittedly opaque and obtuse language from Warren himself, but also because that’s what makes sense for users and developers alike (not to mention Microsoft, too, what with having to maintain only a single SDK and development environments once that convergence is completed).
Can this really happen in a year? It’s an ambitious goal, and there’s a lot of work for Microsoft to do to make things ready, after which there’ll be even more work for developers to do to catch up with the lastest state of the SDK and the tools that support it. Jury’s still out on the timing, but the idea is solid. I certainly hope MS can deliver on this goal, even if it takes a little longer than is currently forecast.
November 30, 2012 5:26 PM
Posted by: Ed Tittel
OK, so now we know more about the Microsoft Surface x86 models, the up-market, Windows 8 Pro-based big brothers to those ARM-based Surface platforms running Windows 8 RT. Here’s a quick recap of the specifications, straight from MS:
Microsoft Specs for Windows 8 Pro Surface tablet PC.
What’s missing from this description is the RAM (4 GB DDR3 soldered in, can’t find out if an 8 GB model is planned or available), the CPU (an ultra-low voltage i5 dual core Ivy Bridge CPU, probably an i5-3427U or i5-3317U, much like the models found in current MacBook Air offerings), and the display resolution (a full 1920 x 1080 vs. 1366 x 768 for the RT model). The 64 GB model bears an $899 MSRP and the 128 GB model a $999 MSRP (I’m guessing this means no 8 GB RAM-equipped models just yet). No covers are included in this pricing, either, so you’ll have to pay $99 for the ultra-slim Touch or $120 or so for the thicker but more “keyboardy” Type covers in addition. Nothing is known about battery life just yet, but the 42 W-h battery is slightly bigger than the 35 W-h battery included in MacBook Air 11″ and somewhat smaller than the 50 W-h battery in its 13″ counterpart, both of which enjoy excellent battery life. Another potential gotcha: the amount of SSD storage space left over after the OS and pre-loads are considered (there’s been a huge flap about the Samsung ATIV tablet lately, which comes with about half of the 64 GB SSD model’s space already gone when it reaches users’ hands).
What’s wrong with this picture? Lots of pundits, analysts, and consumers are voicing displeasure with the pricing of these units. But they’re $100 less than equivalent MacBook Air 11″ models with the same SSD sizes and the 1.7 GHz OEM CPU models (probably identical to those in the x86 Surface tablets, though I can’t find details on CPU makes and models just yet). Given that the keyboard/cover brings price, weight, and functionality into complete parity with MacBook Air 11″ models, another way to interpret this strategy may be as Microsoft’s confident assertion that “our tablets are as good as the MacBook Air 11-inch models.”
Nevertheless, there’s a lot of whining and moaning on the Web about the x86 Surface offerings. Key complaints include:
1. Pricing is too high. The RT model needs to be under $300 for RT to compete with Kindle/Nook/Android tablets. The x86 model needs to be under $700 to compete with iPad and 10″ Android tablets. Valid points from a marketing perspective, but I’m not sure I agree – at least for the x86 platform — because it can run the whole gamut of Windows desktop applications.
2. Battery life is too short. Full-day battery life is needed (like the iPad offers) to make a tablet truly use-worthy. Jury’s still out on this one, and neither 11″ (5 hours) nor 13″ (7 hours) MacBook Air models make the 8-plus hours needed to reach this goal, either. We’ll get a better read on this when and as reviewers can actually test these platforms.
3. The Windows 8 user experience sucks. I’m not sure what this has to do with Surface x86 tablets, but several disappointed pundits have voiced this concern as dooming the Surface in any case. To these curmudgeons I say: learn how to make Win8 stand up and bark on its own, or install Start8, Classic Shell, or any of a number of other good Start menu stand-ins.
As for myself, I’m inclined to reserve judgement until I have the chance to work and play with one of these units for a while. I want to understand how well it works as a pure tablet, especially with desktop apps (I still haven’t found too many compelling Windows Store apps to keep me in the modern UI for long on Windows 8), how long the battery lasts, how well it performs and behaves, what wireless connectivity is like, and a great deal more before I can pronounce it either a success or a failure. It should be interesting to find out where the chips will fall, though, and I do like the size, weight, form factor, and screen resolution. Stay tuned, and I’ll report further as I learn more…
November 29, 2012 7:55 PM
Posted by: Stuart Johnston
Microsoft claims that 40 million users have already moved to Windows 8, but IT pros doubt that many of those licenses went to corporate shops.
Microsoft claims it sold 40 million licenses for Windows 8 in the first month of its commercial availability. However, IT pros remain hesitant to deploy Windows 8.
The company hasn’t provided any details regarding business versus consumer sales. Some IT pros doubt the sales include many businesses.
“How the hell did they sell 40 million licenses so fast?” said Bill Miller, director of IT for the South Carolina Dept. of Probation, Parole, and Pardon Services. “I don’t know if I can believe that. I don’t know anybody doing any deployments. Most people say they’re not doing Windows 8″
“Even our [Microsoft] sales reps said it’s not enterprise-ready,” Miller added.
That’s largely because of the system’s revamped interface.
Many users haven’t deployed Windows 8 for various reasons such as lack of legacy application support, in addition to the obvious training issues with the new user interface. For the foreseeable future, Miller plans to roll out new PCs with Windows 7 rather than Windows 8.
IT pros are only half as interested in Windows 8 as they were Windows 7 three years ago, according to a Forrester Research study released in November.
“While we’ve seen a lot of interest in Windows 8, we currently do not have any deployments in the works,” said a spokesperson for a large Microsoft reseller who requested anonymity.
One important issue for their customers is that tools to enable IT to deploy and manage Windows 8 are still in beta and won’t be available until Microsoft’s System Center 2012 Service Pack 1 ships next year, the reseller said.
For comparison, in January 2010, Microsoft announced it had sold 60 million licenses for Windows 7 in its first two months of commercial availability – which made it the fastest selling version of Windows to that point. Now, Microsoft claims that early Windows 8 sales have surpassed that on a month-by-month basis.
That puts the two systems on the same trajectory, said Rob Helm, managing vice president of research for independent analysis firm Directions on Microsoft in Kirkland, Wash.
“The key is how many devices are deployed with Windows 8, and we won’t have a good picture of that until the end of January [when Microsoft reports Christmas quarter earnings],” Helm added.
Many of those licenses may have been sold into the channel but have not actually been sold to customers yet, some observers theorized. Additionally, Microsoft license agreements enable customers to deploy Windows 7 in place of Windows 8, or to buy machines with Windows 8 installed but then downgrade those systems to Windows 7 or earlier. Microsoft still gets to count those as Windows 8 licenses nonetheless.
Others point to Microsoft’s generous upgrade pricing offers, which range as low as $15 to $40.
“It’s kind of hard not to sell 40 million licenses when it’s so steeply discounted,” said Scott Frazier, IT administrator at electrical contractor, Con. J. Franke Electric in Stockton, Calif.
CEO Steve Ballmer has even higher ambitions for Windows 8, telling attendees at Microsoft’s annual shareholder meeting this week that he foresees 400 million Windows 8 machines to be sold in the next year.
Microsoft did not respond to requests to break out Windows 8 sales figures.
November 28, 2012 7:35 PM
Posted by: Ed Tittel
Yesterday, Microsoft pushed an out-of-band (non-Patch Tuesday) update labeled KB2762895, which is designed to address application compatibility issues with Windows. Since its release, various parties have reported issues ranging from annoying to serious. I found something interesting with Internet Explorer in its wake that I figured out how to fix myself.
Here is the “Show Details” blurb from Windows Update’s Update History.
On Windows 7 Forums, various users have reported conditions ranging from freezing of the Windows Taskbar and Windows Explorer (1) to application load failures following reboot (2) for McAfee, iCloud, Secunia, and Google Drive. In my own case, the default new tab behavior in IE9 for Windows 7 changed from
Post KB2762895 install left (above), restored to default right (below)
After the KB was installed, I started getting my default home page when I clicked the New Tab button in IE 9, instead of the familiar and desirable New Tab page. A quick jump into IE’s Internet Options General tab in the Tabs pane showed that the “Your first home page” option was now selected for the “When a new tab is opened…” control. A quick hop into its pull-down menu let me restore it to the default selection “The new tab page” as I prefer it to be.
I’ll be curious to see what other reports of difficulty appear after the patch has had a chance to hit more desktops. This looks like one you’ll want to watch carefully, and be on the lookout for unforeseen and unintended side effects. Stay tuned, and I’ll report further as I learn more.