For Hyper-V to operate correctly, it is strongly advised, and in many cases, required, to install the latest BIOS onto your hardware for hardware virtualization features to operate correctly.
While some OEMs provide fantastic information, my experience is that all too often, you get frustratingly minimal information about BIOS updates:
What they don’t generally tell you is what you really wanted to know:
While most folks would need psychic powers to answer the first of those two, this off-topic post focuses on the last question.
Why is this relevant? As it happens, I was rummaging through drawers a couple of days back as we're moving offices at work, and stumbled across a very old laptop of mine. I figured it was worth trying to revive – it had a few problems with overheating and a noisy fan which was why it had been ignored for so long. I stripped it down (there’s frighteningly useful information on the Internet for this), removed the CPU cooler and found the fan blades had been scraping the casing (in fact, it had worn a groove in the metal).
The choice was around $70+ for a replacement, or a bit of packing material and a clean with the Hoover. That was a really tough decision when the laptop is worth little more than $70 and was already on its way out to pasture. So a bit of thermal grease before re-installing the cooler and reassembly to see whether things had improved. (Amazingly, without a single screw left over! Way ahead of my track record or expectations.)
Sure, the laptop ran. In fact, I’m typing this post on it now. The fan was much quieter due to not scraping any more, but it was still permanently running, even when idle. It was still was on the noisy side, but that’s cheap mechanics for you. Next stop then was the BIOS, the whole point of this post.
Off to the Internet to find a new BIOS was released a year or so back. I knew that this laptop hadn’t been turned on in way over a year, so it was out of date for sure. But how would most users would know what version of the BIOS they currently have? I came up with four ways – I’m sure there’s plenty more.
2) The registry
3) Query WMI either through a script, scriptomatic, or a built in tool called wbemtest. Hit connect and select root\cimv2. Hit the query button and enter “select *from win32_bios” and apply. Double click the returned result and hit “Show MOF”
4) Reboot the machine, and examine the BIOS splash screen (some computers), or enter BIOS setup and it will be in there somewhere usually.
(Which then got me sidetracked and I found one computer which didn’t tell me anywhere what version was installed. But fair enough, I think the way to update it is to rip out an EPROM and shove it in a burner. A sticker told me the version instead though. Classic computing!).
But back to the plot… Alas, on the laptop, the BIOS updater didn’t run under Vista. Uuuuurgh.
Problem solved with a separate disk and a temporary XP installation, but why on earth this particular OEM requires a separately downloaded program be installed to flash the BIOS, I’ll never know…
And did the BIOS update fix the fan running permanently? Sadly, not that I could notice except when first turned on. But the CPU temperature at idle was around 3 degrees cooler, so the new thermal paste probably helped. But as always, it was “fun” finding these things out …. Now to get rid of Java JRE 7 on it. Uuuuurgh (again).
I think you could use wmic, it's like 3bis :-)
wmic bios get biosversion
I always goto the OEM's website and check the driver section for new BIOS updates - you'll usually find they are dated so you can tell if you've got the latest version from the dat and when you purchased the hardware