Solving the BSOD on a Microsoft Surface Pro 7

And getting back some performance!

Having had nearly 5 years with my Surface Pro 7, I believe I know this device inside and out. It’s been 18 months since I had any BSOD on the machine but I had cause to wipe it recently (wipe, not Reset) and believe the stability remains whether the latest Intel drivers are used or those from Microsoft Update.


  • I have the Windows Hello camera turned off; I do believe, as my Surface faces a window and is mostly always on, the changing source for the camera was possibly causing issues and exposing any flaws in the driver. This could lead to my second point;
  • The machine was running Intel drivers for all components, all up-to-date but since I formatted the device, I thought I would try the stock drivers to see how they perform.

The difference between a Reset and a clean install is actually significant; the Reset retained my Intel drivers and I was not offered any Surface-specific drivers at Windows Update. This suggests to me that Reset, while a good method of cleaning a PC, is not a nuke-and-pave option. I actually chose the nuke-and-pave option because I believe the SSD was slowing down.

“Slowing down?” you ask. Yes, the way date is written to SSDs and the way capacity has been “developed” is to write more data in the same space of an SSD; the side effect can be performance.

The Surface Pro 7 has no BIOS and therefore my favourite tool, SpinRite, cannot run on it. I tried to encourage the drive to read and write itself again with the turning of and on of Bitlocker but it was still laggy – and it was then that I resorted to deleting the partitions and rebuilding from scratch.

This was done by using the Media Creation Tool to make a Win11 boot USB and nuking the partitions before installing new. Couple this with Winget as a package tool and I was running on a sweet, faster machine in 2 hours with no BSODs to report of in a week.