An approach you can use to deal with issues.
Here’s the deal: in the last few days, I had a serious problem with my Windows 10 Pro system. Software I rely on almost daily stopped working.
While my problems might be geekier than yours, the process I took to resolve the issue is an important one that you can — and even should — use as well.
Let’s walk through it together.
Become a Patron of Ask Leo! and go ad-free!
Caveat obscura
Do not obsess about the geekiness of my problem. Do not get lost in the details of exactly what I was having problems with.
If you focus only on those details and think, “This doesn’t apply to me”, you’ll miss the point.
I’ll include those details because they frame the story. As we go, I’ll try to make each step relatable.
The problem
I rely heavily on VirtualBox: virtual machine software that lets me run clean copies of Windows 10 Home and Pro, as well as Windows 8, 7, and even XP or (for fun) Windows 3.1 in a window within my Windows 10 Pro machine.
It’s an important tool because it allows me to run copies of Windows that are closer to what you use than what I use. Almost all of my instructional videos are screen recordings made of virtual machines, as are many of my screenshots. It’s how I get Windows 10 Home edition images even though I run Windows 10 Pro myself.
Two days ago, I fired up my Windows 10 Home virtual machine and … it was as slow as molasses. Seriously slow. Unusably slow. Take-all-night-to-reboot slow.
There was even an icon of a turtle in the VirtualBox interface. Even VirtualBox knew it was slow. This point will resurface later.
Real-world translation: software I rely on stopped working. I suspect we’ve all been there, in one form or another.
Step 0: Reboot
For a variety of reasons, I’d already rebooted a time or two, but I did so anyway. Nothing changed.
Real-world translation: Always start with a reboot. It might not help, but there’s zero harm, and could lead to a quick resolution.
Step 1: Update, update, update
Last week the software was working properly, and this week it wasn’t, so I thought maybe I’d finally been impacted by a Windows Update problem.1 There were indications in the press that a recent update had adversely impacted gaming, but it had also been fixed. Since there might have been some overlap, I was hoping this easily-fixable problem was the issue.
I updated Windows until there were no further updates available.
No luck.
Even though VirtualBox automatically checks for updates, I manually checked anyway. Nothing new. I was told I was at the latest version: 6.1.18. This, too, will resurface later.
Real-world translation: make sure everything is as up-to-date as possible. That includes Windows and the software you’re having problems with.
Step 2: Search the internet
My search was very simple: “VirtualBox suddenly slow.”
This turned up a few semi-related issues, mostly dealing with something in VirtualBox called hardening. In a version some time back, a feature was added to the software that improved its security by limiting how Windows itself, or other software, could be used within VMs and the VM software. Normally, all works well and without incident, but occasionally — say if a Windows DLL had been damaged — the kinds of symptoms I was experiencing could result. Fortunately, there were clear indicators in the log files generated by VirtualBox when this happened.
Those indicators weren’t there. This was, apparently, not the problem I was experiencing.
More importantly, though, this search pointed me at what would turn out to be the most valuable resource: the VirtualBox support forums.
Real-world translation: it’s rare that a quick and simple search will turn up exactly what you need. Be prepared to search, alter your search terms, and search again. When you find something, read the information and follow the instructions carefully. Ruling out scenarios can be almost as useful as finding what’s at fault. Finally, rather than looking for answers in search results, look for resources.
Step 3: Search the forum
There was a lot of information in the forums, though none really targeted my specific issue. Slowdowns, however, were common. In addition to discussing the hardening feature, another term kept cropping up in the discussion: Hyper-V. Hyper-V is a feature in Windows used for virtual machine implementation. What’s critical is that VirtualBox won’t work with Hyper-V turned on. Or so it seemed.
Continuing the research on the forum, it appeared that in some cases, VirtualBox would try to work with Hyper-V on. It would try very hard. It would try, but it would be incredibly slow. It would even show a green turtle icon to show its slowness.
A clue! This might be related to Hyper-V.
Real-world translation: Often what you’ll find in your search is not your answer, but a clue that you can use to make progress on diagnosing the problem.
Step 4: Uninstall Docker
VirtualBox had been working, and then it wasn’t. For that to be the case, something must have changed. What changed? That’s when I put two and two together.
- I had installed Docker.
- Docker is also a type of virtual machine software.
- Docker might have enabled Hyper-V.
So I uninstalled Docker.
No change. My virtual machines were still slower than … something really slow.
But it was still a clue.
Real-world translation: sometimes, what you think has an impact has no impact. Except that it might have had an impact earlier. I know that’s confusing, but clues are sometimes exactly that.
Step 5: Windows 10 lies
This cost me more time than it should have. Since Hyper-V is a Windows 10 feature, I went into Windows Features and looked for the Hyper-V option.
It was off. So apparently this was not a Hyper-V-related problem. Or so I thought.
Back to the forum I went.
Real-world translation: I would love to tell you that Windows is honest, and you can believe everything it tells you. You probably can, at least at the average consumer’s level of use. But when things get complex or geeky? Question everything.
Step 6: Uninstall and reinstall
One of the suggestions I ran across in the forums was to uninstall and reinstall VirtualBox, in case one or more of its settings was off or files corrupt.
I uninstalled it and returned to the VirtualBox website to download a current copy. 6.1.20.
But, wait, when I had checked for updates, it told me that my current version — 6.1.18 — was the latest. Clearly, that wasn’t the case. Huh.
I downloaded and installed the new version. It didn’t change a thing.
Real-world translation: Even “check for updates” might be misleading. When you’re hip-deep sleuthing a solution to a problem, double-checking that the latest version is indeed the latest version doesn’t hurt at all.
Step 7: The solution, via the forum
I continued to poke around forum posts related to performance, and stumbled across a specific post with a title even geekier than my question: HMR3Init: Attempting fall back to NEM (Hyper-V is active). The salient information was that Hyper-V could appear to be off in Windows, but remain enabled, and thus continue to cause problems.
I followed instructions labeled To turn Hyper-V off completely, do this.
Success. I was back in business. My virtual machines were zippy once again. Crisis averted.
Real-world translation: The path I took to my answer is not uncommon, even at the most basic level of Windows issues. In my case, it was spread out over several days, not only because I wanted to take a break periodically to see if anything would come to mind, but because I had other things to do as well. The true takeaway here is to take it easy, take your time, and be persistent. I’ll admit to being worried at times that this critical problem could severely impact my work — I was even eyeing my image backups taken prior to the problem’s arrival as a possible solution. But remaining calm and persistent got me to the true solution I was looking for.
Coda: The cause, confirmed.
I had posted in the forum about my problem before I discovered the solution. Once I solved it, I returned to let anyone watching know that the issue had been resolved.
I also left a comment to the effect that I suspected my Docker install was the original cause. I did so specifically for any who might follow with a similar issue, so that they could find the solution more quickly than I had, benefiting from my experience.
In returning to that thread to prepare this article, my suspicion was confirmed. Someone had posted, “Oh, yeah, that’s a definite… Docker activates Hyper-V, but probably cannot deactivate it …”
Case closed.
Real-world translation: If you can, share your results with others. My path involved using the results that others had shared, and leaving what amounts to a shortcut to “Virtualbox suddenly slow” means “Hyper-V might still be active” could help someone else in the future. You might be saving some future soul immense amounts of time and angst.
The real world
Setting aside my overly geeky problem and focusing on what it means to you, it boils down to this:
- Always start with a reboot. Ya never know.
- Make sure both Windows and the software you’re having problems with is as up-to-date as possible.
- Search the internet, but realize it’s an iterative process of zeroing in on either a solution or a resource into which you can dive deeper.
- Look for clues, not just answers (even though clues can sometimes be confusing).
- Be skeptical what you find, and, sadly, sometimes of Windows itself. Fortunately, Windows being misleading is relatively rare.
- Take your time. Remain calm. Remain methodical. Be persistent.
- Share your results when it makes sense. You could be making a huge difference for those who come after you.
Do this
Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.
I'll see you there!
Podcast audio
Footnotes & References
1: I kinda hoped this was it, because it’s not something I’ve personally experienced even once since Windows 10 came out.
I find it interesting that you recently have had problems with VirtualBox, as I have had too. Although my problem seems to slightly different than yours.
On trying to start my virtual machine I would get the error “Not in a hypervisor partition (HVP=0)(VERR_NEM_NOT_AVAILABLE). VT-x is disabled in the BIOS for all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED).” Thought it was a weird error because it has always worked. The only thing I did recently was I had a Windows update and I finally updated VirtualBox. It had been nagging me for a couple months about the new version, so I finally did it.
My troubleshooting was similar to yours, since I had no idea what this meant. My searches all seemed to say the same thing. Just go into the BIOS and turn on virtualization. I was skeptical because why would I have to turn it on in the BIOS if I’ve never changed that setting before. I tried rolling back the VirtualBox update by trying several older versions (I didn’t know which version I was using when it last worked) but I still had no luck. So I did end up going in to the BIOS and turning on virtualization and now it works well.
Still don’t understand what happened or why it changed, but the problem appears to be solved.
That is one of the most useful, insightful, and useful articles I’ve read on AskLeo — and THAT’s saying something, Leo!
Your clear outlining of the specific steps you used to try to resolve the issue were readable, understandable, and logic in one of it’s most pure forms.
The steps and solution were … quite inticate. but the truly BASIC concept of a calm, rational, and PERSISTENT approach to analyzing the issue and finding clues and help was excellent.
Thanks for another great “lesson” in dealing with computer issues.
I was going to ask you, Leo, if you remembered to take an image backup (ha-ha!), and I see you did (of course).
You seemed hesitant to use your image backup. Is it because you were concerned that that would have been only a temporary fix? In other words, did you feel the problem would have resurfaced as you duplicated your use of the computer, and therefore you needed to find the root cause of the problem?
Since I’d installed Docker about a week earlier my expectation that I’d have to restore to a week or more before as well. That meant losing (not data, but settings, changes, file moves, whatever — it’s a heavily used system) a week’s worth of whatever else. A safety net, but it would have risked more work to recover.
But to reiterate no data would have been lost. I’d actually TAKE an image backup of the system in its problematic state prior to restoring to an older backup, so I could always restore files and whatnot from that most recent image.
Another thing that sometimes helps Is the System File Checker. Type:
SFC /scannow
in the Run command or the Command prompt.
That might help if the installation broke something in Windows.
At least for this specific problem Step 1 (update) is out of place and premature. That is, if the objective is to find out the reason for the failure as opposed to getting it fixed without caring about what happened. As soon as you change your system with Step 1 then Step 4 (Docker uninstall) becomes impertinent or not necessarily indicative. Also, Steps 2 and 3 (internet searches) may become less fruitful. Of course, I can see the argument for updating first: if Step 1 it doesn’t work, you still have the problem and the original reason for the problem becomes irrelevant. Now you have a new problem.
Updating is never premature. If the program were updated earlier, the problem may never have happened. If updating fixes it, we can assume the problem was a bug in the software.
If updating works, problem solved. If not, then try the other steps. Why would the internet search become less fruitful? I might try 2 & 3 before 1 and find that one of those searches yields the suggestion to upgrade or reinstall. The order of those steps isn’t necessarily set in stone in every case, but they are all worth trying
“If you can, share your results with others.” : that’s very important. I assist in a few forums, and when posters do this, it helps a lot to assist the next person.
It does help! It’s just another way of PAYING IT FORWARD. :)
Leo,
I just wish to commend you for your actions and providing information that might be of some value to many of your clients. I went to Windows Features (as I didn’t know that this even existed, as I follow you weekly notifications) and, was surprised to see Hyper-V on my Windows 10 Pro Version. Thank goodness that the box was without an “x” (meaning not turned on) and, this is one more problem that I don’t have to worry about.
So, thanks for the outstanding article that you presented!