In an attempt to extend the life of my aging 13" MacBook Pro (2014), I purchased a 1TB Samsung 970 EVO along with the requisite NGFF to M.2 adapter. Not only did this quadruple the disk space I previously had, but according to benchmarks, doubled my read and write speeds as well.
This upgrade wasn't without its headaches though, including me having to reinstall macOS & Windows despite having imaged my old drive beforehand. Only my trusty Linux partition survived the cloning process.
After reinstalling Windows 10 to its own partition, I found that Windows would constantly hang after about 10-15 minutes of use. I could still control the cursor with the touchpad, but I wasn't able to click or interact with anything on the screen. If I let the screen go to sleep, the keyboard backlighting would remain on, but nothing would wake up the monitor. The only way out was a hard shutdown.
I started troubleshooting by reinstalling Boot Camp drivers, disabling all sleep and hibernation functions as well as disabling USB power savings, but the issue persisted. I then took to the web and searched if I was alone in this plight. While I did find others with similar issues, all the recommended fixes didn't seem to work for me.
I was about to give up and try installing a different release of Windows 10 when I stumbled upon someone who claimed that changing their Power Plan solved their problem. They found that changing the Power Plan settings in Windows 10 to High Performance stopped the hanging issue altogether.
I was a bit skeptical at first, but decided to give it a try as I had just about run out of ideas. Lo and behold, after changing to the High Performance power plan, Windows 10 has been stable ever since. Changing this setting does disable Intel SpeedStep which downclocks the CPU when it is idle or under minimal load. I believe the CPU frequency change may be what's causing the lockups.
Now you are definitely sacrificing battery life by leaving your laptop in High Performance mode, but for me this was a small price to pay in exchange for a stable OS as I strictly use Windows 10 on my MacBook Pro for testing. And as the title of this article says, this is a Workaround and not a fix.
*TIP: If you aren't able to login to Windows to implement the workaround, booting into Safe Mode should allow you to make the necessary changes.
The Workaround
Start by opening Control Panel, click on Hardware and Sound and then click on Power Options.
*NOTE: If you already see a High Performance Plan listed in the Power Options settings, you can just select it and skip the rest of this guide. In my case, I had to create one.
Then click Create a power plan
Select High performance, enter a Plan Name & click Next
Set your desired sleep settings and click Create
Select the newly created High Performance Plan and you're done!
With this simple change, hopefully your MacBook's hanging issue will be gone. If I find an actual "fix" to this issue, I'll be sure to update this article.