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!
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.
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.
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.
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 …”
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.
Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.
I'll see you there!
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.