Category Archives: Troubleshooting

Key Combo Kills Screen Toggle

I’ve been here too many times before. Part of my morning routine is a the daily challenge at the Microsoft Solitaire Connection. Occasionally my right hand screen (my playing field, so to speak) will flicker on and off while I’m playing. If it persists more than a few times, I know I need a fix. Over time, Ive learned that a certain key combo kills screen toggle (on-off) effects. For the record that combo is WinKey+Ctrl+Shift+B. Sometimes it works, sometimes it doesn’t. This morning, it did the trick quite nicely.

Which Key Combo Kills Screen Toggle?

Interestingly enough, Mayank Parmar wrote a story about the Winkey+Ctrl+Shift+B key combo at Windows Latest this morning. I suppose since I was running Windows 10 (not 11 as in the title of that item) I should observe that this trick works there, too. In fact, as he reports there correctly, this combo has been part of Windows since Vista made the scene in 2006.

I’ve been in situations like the one I described above (e.g playing MS Solitaire and the screen starts blinking on and off) when the key combo does NOT fix things. Oddly enough when that has happened in the past, it’s been readily rectified by running GeForce Experience to determine that a new graphics driver is available. And so far, when those two things are true (screen is toggling; new driver is ready to download) switching from the old to a new driver has fixed the problem.

For More Serious Graphics Issues…

If neither the WinKey+Ctrl+Shift+B combo, nor a new driver, fixes things life suddenly gets more interesting. Trying the driver version prior to the one that was running will sometimes work (and sometimes not). After that, it usually requires checking the GPU and making sure it’s seated properly, checking and possibly swapping graphics cables from GPU to monitor, and checking the monitor itself. On a laptop that all happens internally (and for many folks, may require a trip to the repair shop or an OEM depot).

For all our sakes, I hope things don’t go that far if the display starts acting a little flaky. FWIW, the key combo almost always works for me. May it do the same for you!


Bringing Up 2TB NVMe Proves Challenging

About a week ago, I picked up an on-sale SSD, mostly so I could do some off-the-cuff price/performance testing. I’ve got plenty of 1TB models here at Chez Tittel. Suprisingly, bringing up 2TB NVMe proves challenging as I fight with cables, connections and ports to get it recognized and formatted in Windows. Let me explain…

Why Bringing Up 2TB NVMe Proves Challenging

From the get-go, I had problems getting the SSD recognized in Disk Management. There could have been numerous factors involved:

  • Power draw from a big NVMe
  • My attempt to start in a CalDigit TS4 hub
  • The el-cheapo NVMe enclosure I used
  • The USB-C cable between enclosure and port

By the time I did get things working, I had changed all of those things (except the first, which comes from the SSD itself). I ended up working from a USB 3.0 port in my desktop PC instead of a TB4/USB4 port on a CalDigit TS4 hub. Then, I switched from a US$18 Fideco to a US$70 Sabrent EC-NVMe SSD enclosure (I have two, and both work quite reliably). I went from a TB3 rated USB-C cable to a TB4 rated one.

Though it took me the better part of an hour to work through all those changes, I finally got to the point where I could see and set up the NVMe drive inside Windows. Once that was done, I plugged it into my Lenovo ThinkPad P16 Mobile Workstation.

The Price/Performance Story

There’s still something hincky with this set-up or with the SSD itself. I didn’t get very good numbers out of CrystalDiskMark (lower numbers than many HDDs, in fact). But when I ran a full backup in Macrium Reflect, it created a 62GB image file in 06:33.

Bringing Up 2TB NVMe Proves Challenging.cdm

These numbers are about 20% of what I get from Gen4 (PCIe x4) NVMes in this same enclosure.

That’s a data rate of around 9.45 GB per minute (161.5 MBps or 1292 Mbps by my reckoning). It’s about one-third the speed of an image backup to a fast NVMe in the same enclosure. But faster NVMes cost more (a Crucial T700 goes for US$340; a Teamgroup Z540 for US$260; a Samsung 990 Pro for US$150), too.

One more thing…

On the theory that even the Sabrent enclosure is old enough to be overwhelmed by a 2TB NVMe drive, I swapped it into a 2022=vintage Acasis TB4 NVMe enclosure. And whereas the drive had been unrecognizable in a TB4 port before this switch, it now came up. Then look at the difference in the CDM numbers it now produces (funny thing: the other enclosure produces better random R/W numbers, this one is emphatically the other ‘way round). And in this enclosure Macrium Reflect finished in 02:21 rather than 06:33 (that’s on par with other, faster NVMes in the same enclosure).

Emphatic block block differences in the Acasis enclosure!!!

One lesson I take away from this is that it’s important to remember that bigger capacity means a bigger power draw. Therefore, older and slower enclosures are less likely to provide the handling that bigger, newer NVMe SSDs need. I confirmed this by loading up the Sabrent Rocket 4 Plus that had been in the Acasis enclosure into the Sabrent enclosure: results were typical for a UASP NVMe (just over 1 Gbps for bulk transfers; better overall random R/W). That’s good to know!

All in all, I’m fine with what I’m getting from my US$84 outlay. I am looking for a capable enclosure that’s cheaper than the Acasis TB-401U (still costs US$140 on Amazon). This US $23 Sabrent USB-C 3.2 10Gbps model looks pretty good. I’ll follow up with its results when it shows up later this week…


Working Reclaimable Packages Mystery

For months now, one of my test PCs has claimed something remarkable. It’s a Lenovo ThinkPad X380 Yoga (8th-gen i7, 16 GB RAM, 1 TB NVMe SSD). It’s a working reclaimable packages mystery, as you can see in the lead-in graphic. Note please: it shows 13 (!) reclaimable packages in the component store. But they never go away…

Why Is There a Working Reclaimable Packages Mystery?

Gosh, I wish I knew. But it’s got me learning more about DISM and the Windows Component Store (WinSxS) than I’ve known before. In particular, I’ve been digging into DISM’s /Get-Packages capability, to look into the contents of WinSxS to see what is — and apparently isn’t — going on in there.

Reading about the output of the /format:table directive, I see that the state column can produce a range of values. These include the following, as mined from Learn.Microsoft.Com by Copilot (quoted verbatim):

  • NotPresent: The package is not present in the image. It has not been installed or added to the image.

  • UninstallPending: The package has been marked for uninstallation, but the process is not complete. There are some additional steps that need to be performed before the package is fully removed from the image.

  • Staged: The package has been added to the image, but it is not active. It can be activated by using the /Enable-Feature option.

  • Removed: The package has been removed from the image, but some metadata about it remains. This allows the package to be reinstalled if needed.

  • Installed: The package is installed and active in the image. It can be deactivated by using the /Disable-Feature option.

  • InstallPending: The package has been marked for installation, but the process is not complete. There are some additional steps that need to be performed before the package is fully installed and activated in the image.

  • Superseded: The package has been replaced by a newer version of the same package or a different package that provides the same functionality. The superseded package is still present in the image, but it is not active.

  • PartiallyInstalled: The package has been partially installed in the image, but some components or files are missing or corrupted. This may cause errors or malfunctions in the package or its dependencies.

Digging Deeper Into the Mystery…

As I understand it, the dism /online /cleanup-image /startcomponentcleanup command will remove at least some of the packages in the “Superseded” state from the WinSxS. So I fired up the following command to look into the component store on another test machine. It reports 4 reclaimable packages via DISM, and inspection of the /format:tables output from that PC via Notepad++ reports 106 instances of the term “Superseded” in that text file.

Next, I run the afore-cited “cleanup” command. This takes a few minutes to complete. When I run /analyzecomponentstore again, the number of reclaimable packages is zero (0). So I generate new /format:table output, and open it in Notepad++ again. This time, a search on “Superseded” produces 0 hits. My theory is that the cleanup flushes these items out of the WinSxS, and this data seems to confirm that.

And Now, Back to the X380 Yoga

Here’s where things get interesting. Even though /analyzecomponentstore is reporting 13 reclaimable packages, the /format:table output from that PC includes no instances of “Superseded” in its contents. Somehow, DISM is seeing something that I can’t see via this lens into the WinSxS contents. Therein lies the mystery.

I’ll keep digging and see what else I can learn. Stay tuned! This could get interesting — at least if you, like me, find this kind of thing engaging.


Mouse Goes AWOL: Panic Ensues

I have to laugh — and mostly at myself. I confess: I was playing MS Solitaire this morning when my mouse quit working. It was a timed event so I wanted to get back at it ASAP. Because of that as my mouse goes AWOL, panic ensues as I try to get it working again. Long story short: I keep a backup, replacement mouse around just for occasions like these. It’s now in place, doing the job of the old one. Time to order another pair of replacements!

When Goes AWOL Panic Ensues Because of Timing

The lead-in graphic shows a picture from Amazon of my likely replacement mouse. It’s a Microsoft Mobile Mouse 4000, instead of the 3500 model that just quit working. They cost the same, so I figure why not get a newer model if I can at no extra charge? My only problem right now is that the best price is for delivery from China (!): $19.95 vs. $28.95 from US outlets, including the MS Store itself.

Let me be clear about one thing, too: I don’t blame MS for my mouse fail. Meese are consumables and I use them enough that I wear one out every 18-24 months or so. This comes as no surprise — except for today’s timing — and is a cost of doing business for me. Indeed, that’s why I always order them in pairs rather than singletons. I know it’s just a matter of time before another one drops out of service. My wife’s and son’s desktops also have external wireless meese, too. One or more of those will probably crap out before 2023 is over.

The Proper Stocking of Spare Parts

So, here’s a short list of the spares I keep around the house knowing that I’m going to need them sometime (preferably later, rather than sooner):

  • Mice, both wireless and wired (mostly MS wireless, but also Logitech Bluetooth and Unifying Receiver models)
  • Keyboards: mostly MS Comfort Curve 4000s, but a couple of Logitech wireless models, and a couple of wired el-cheapo chiclet types
  • GbE switches: I like the NetGear unmanaged 8-port models, but I also have 5-port and an 8-port models (house brand from Fry’s).
  • Cables of all kinds: RJ-45 Ethernet in lengths from 6″ to 100ft, USB: 2.0 and 3.0 (Type A), USB-C 3.1-2, Thunderbolt 3 and 4, plus other miscellany; and video cables including HDMI 1-3 and DisplayPort 1.2-1.4 (also in various lengths and models).

This lets me deal quickly with predictable troubles as they happen. And when they do, I always order replacements plus at least one extra as things happen. That way, I’m already prepared for next time.


X12 Upgrade Quit Halfway

Yesterday morning, I tried to remote into my Lenovo ThinkPad X12 Hybrid tablet. No go. I got the familiar error “Remote Desktop can’t find the computer…” Interestingly, when I went to restart that PC, nothing happened. Eventually I had to disconnect all cables, then hold the power button down for a full 60 seconds to force it to reboot. Then I remembered: I hadn’t touched the machine since the 25967 upgrade hit on Tuesday. That means the X12 Upgrade quit halfway through the process and didn’t come back up after the reboot.

If the X12 Upgrade Quit Halfway, Then What?

Poking around on the Lenovo website, I found an evocative forum post. It was entitled “Laptop suddenly shuts down, won’t turn on.” It confirmed something odd was up, and prevented the PC from restarting. And indeed, my approach (disconnecting all cables, holding down the power button for 60 seconds) is just what the forum rep recommended to the poster, too.

When all else fails, this is one way to get a Lenovo PC to restart normally. And sure enough, once the PC did get far enough along to tell me what it was doing, it showed the spinning circle and progress that goes along with finishing up an upgrade or update install.

Just for grins, I opened up Reliability Monitor on the X12. I found a shutdown error staring me in the face. The detail reads: “The previous system shutdown at 5:55:00 PM on 10/10/2023 was unexpected.” Last Tuesday, at the end of the working day, just when I wouldn’t notice that the X12 failed to come back from the pending reboot during the update process. Go figure!

There’s proof that the PC shutdown when it shouldn’t have.

Speculating on Causes…

This device is attached to a CalDigit TS4 hub for power, GbE, video and storage. I’m wondering if something about that kind of complex USB-C/Thunderbolt 4 connection might not complicate boot-up. OTOH, I’ve upgraded plenty of times before on the same overall rig without difficulty. That’s what keeps things interesting, here in Windows-World.


Upcoming Windows Imperative: Get Help!

OK, then. Troubleshooters are on their way out of newer Windows versions. Instead a series of “Get Help” tools will replace that functionality. That’s the message I take from this February 2023 dated MS Support note entitled “Deprecation of Microsoft Support Diagnostic Tool (MSDT) and MSDT Troubleshooters. A closer look at the story is where I find this new and upcoming Windows imperative: Get Help! You can see it, too, in the lead-in graphic.

Identifying the Upcoming Windows Imperative: Get Help!

If you look at the “redirected” Troubleshooters list above, you’lll see that each one begins with the string “Open Get Help” tied to a related Windows facility, program, or device. Closer reading of this document also explains that the Microsoft Diagnostic Tool (MSDT) is to be retired. Also, numerous “legacy inbox troubleshooters” will be removed from the upcoming next release of Windows 11:

Connection to a Workplace using DirectAccess
Devices and Printers
Hardware and Devices
Incoming Connections
Internet Explorer Performance
Internet Explorer Safety
Search and Indexing
System Maintenance
Shared Folders
Windows Store Apps

Some of these removals make perfect sense — like those related to the now-obsolete Windows Explorer and HomeGroup facilities. Others are somewhat more mysterious — such as Devices and Printers, Hardware and Devices, Keyboard, Power, Search and Indexing and so forth.

The apparent timetable is to get through this transition by this time next year. Thus, I presume Windows 11 24H2 could be the release in which these changes probably manifest. Presumably, they’ll show up sooner in Canary and Dev channel Insider Previews, and then on down the chain from there as the release date approaches.

Relax: Older Versions Are Not Affected

Here’s an important verbatim quote from this Support Note which should calm any concerns about Windows 10 and current Windows 11 versions:

If you’re running Windows 11 version 22H2 and older, Windows 10, Windows 8.1, Windows 7 or any other earlier OS version, your device will not be affected by the MSDT Troubleshooter retirement. Earlier OS systems will continue to run the legacy inbox troubleshooters.

This definition, also quoted verbatim, should further clarify things:

…legacy inbox Windows Troubleshooters are built-in tools that, when launched, automatically diagnose and correct common problems for a variety of Windows features. MSDT Troubleshooters will be deprecated in the next Windows 11 release, with the date to be determined.

Here’s what I really find interesting about this. It will expose a pretty major fork in the road between the  next major Windows 11 release and the mostly-common code base that Windows 10 and 11 still share. I’ll be fascinated to learn about and understand what Get Help! really means in this context. Stay tuned…


Beta Build 22631 Loses Update Button

It’s not the first change I encountered in this new release. But as soon as I visited the Windows Update page in settings (see lead-in graphic) I couldn’t help but notice that Beta Build 22631 loses Update button. It’s not just gone either — it’s also resistant to restoration according to all known fixes. I felt a little better when I tuned into the ElevenForum discussion for the release and learned that my problem was pretty common. So now, I just chuckle when I think about things.

One of the recommended fixes was to pause (then unpause) updates. As you can see from the lead-in graphic as well, I did that. But there’s no button to turn the updates back on, either. So while I’m chuckling again, I’m down another button. Sigh.

Getting Updates, When Beta Build 22631 Loses Update Button

Even as the obvious approach to updating goes MIA, there are ways to make Windows 11 check for and install updates. I found two pretty good methods that do the trick.

The Windows command USOClient StartInteractiveScreen will actually run WU just as if you’d clicked that missing button. Indeed, if you open WU and watch the top of the screen after you fire off this account you’ll see the panning progress bar as it performs its check.

Beta Build 22631 Loses Update Button.uso-fix

Even though WU is paused, running the USOClient command as shown above still runs the update check anyway.

There’s also a PowerShell Module named PSWindowsUpdate you can install from the PowerShell Gallery (a favorite or at least recurring haunt of mine lately). To add it to your PowerShell environment run this command string:

Install-Module -name PSWindowsUpdate -force

This provides access to the Get-WindowsUpdate and Install-WindowsUpdate cmdlets. As the names suggest, the former shows you what updates are available, while the latter provides a variety of means to install updates by KB ID or name (both values appear in the Get-… output which is handy).

Where There’s a Will…

While we’re waiting for MS to fix this odd little deficit in this Beta release, there are workarounds available to keep things going. It gave me a chance to learn a few new tricks while working around the missing button. And that’s just the way things go sometimes, here in Windows-World.

Note Added September 7: It’s Baaaaaaack!!

OK then: I’m back from a 10-day hiatus for some cool weather in Maine and getting son Gregory moved into his Boston-based college dorm. I just checked WU and the “Check for updates” button is not only back — it also works as expected. Knew this couldn’t last long. Cheers!


Inconsequential Windows Errors: Remove or Ignore?

In refreshing my recollection of what I thought was called “Berkeley’s paradox” — but isn’t — I have to raise the question: If a Windows PC throws an Xbox error and you don’t use an Xbox, does it really matter? In my case, the answer is a resounding “No!” Thus when handling inconsequential Windows errors: remove or ignore are my primary strategies. Let me explain…

Handling Inconsequential Windows Errors: Remove or Ignore?

I repeat: I don’t use an Xbox, so I don’t call on the associated complex of Store apps that offer Xbox connections, controls and capabilities. Interestingly, the Store Library shows only Xbox Game Bar. But if you search Apps on the Store Home page, you’ll find dozens of qualifying hits. Interestingly Xbox Identity Provider isn’t among them.

With a little research, I found a website named “Best Gaming Tips” that directly addresses my issue: Xbox Identity Provider Not Working. It includes a helpful PowerShell command sequence to nix this stubbornly uncooperative beast:

Get-appxpackage Microsoft.XboxIdentityProvider | Remove-AppxPackage

It now seems to be gone, too. If I use winget to search for that package name, it finds nothing. And yet, the entry still shows up in Store. I’m restarting and will try again after that… And indeed, that took care of things. Looks like if you change the underlying app structure (or the packages in which they live) you need to stop/restart the Store to let it continue to reflect current reality correctly. Go figure!

For the nonce, the problem is gone. Should I ever have need of the Xbox Identity Provider, I’ll figure out how to re-install it. That’s a bridge to burn some other day. Here in Windows-World, there are always plenty of such opportunities.


Winget Version Numbering Hiccup

Here’s an odd, but interesting, Winget situation. While setting up the replacement Lenovo  ThinkPad P16 Mobile Workstation, I installed CrystalDiskMark (standard “free” version). As you can see in the lead-in graphic, the maker’s website gives it a version number of 8.0.4c. This causes an interesting winget version numbering hiccup, because its manifest contains numbers only (8.0.4) rather than the complete version designator (8.0.4c). This causes an error when running the “do-everything” winget command — namely:

winget upgrade --all --include-unknown

The upgrade command grinds along for a good long while — several minutes, in fact — before it fails with an unexpected error, like so:

Winget Version Numbering Hiccup:c-error

Apparently, the manifest points to a badly-formed or MIA URL, so the upgrade can’t proceed.

Overcoming Winget Version Numbering Hiccup

Attempts to specify an version number (8.0.4), along with an explicit ID (CrystalDewWorld.CrystalDiskMark) likewise fail to complete  (same error message). Then it gets more interesting:

Winget is happy to uninstall the 8.0.4c version, as long as I specify it explicitly.

But winget won’t install CrystalDiskMark, so the only option is to download and install the maker’s version — which doesn’t work with winget right now. I’m communicating this to the winget team (via Demitrius Nelon). Hopefully they’ll figure out a fix. I figure the version number mismatch between the manifest (8.0.4) and the maker’s actual number (8.0.4c) is what’s causing the issue. As soon as that gets resolved, I image things will start working as they oughter.

We’ll see!


Some Deletions Are Easier Than Others

Whoa Nelly! I just came off a Windows filesystem adventure. Apparently, the 2TB 2.5″ HDD used for peripheral storage on the Boss’s Dell SFF D7080 PC once served somebody as a system disk. That’s the only way I can explain how two System-owned folders named ProgramData (hidden, too) and Users popped up thereupon. Making them go away led to this post’s title — namely, some deletions are easier than others. Let me explain…

Why Some Deletions Are Easier Than Others

Part of the difficulty stems from Dell, and part from Windows. On the D7080 to get into WinRE from bootable media, you must first disable Secure Boot. This allowed me to boot from “Alternate Media” — in this case, the Macrium Reflect Rescue Media, from whence I ran its Command Prompt facility.

Part of the difficulty comes from Windows. It really, really wants to make it hard to delete System-owned folders like the ones on the Boss’s F: drive for very good reasons. Unwanted deletion could render programs (in the case of ProgramData) and perhaps even the OS (in the case of Users) unusable. Consequently, one must go to great lengths to remove such folders, even on disks no longer playing the system/boot role. Sigh.

Two Quick Secrets Solve the Command-Line Puzzle

To remove the two directories (and their plethora of sub-folders) I had to use this command syntax:

rmdir /s path-spec

where one spec was F:\ProgramData and the other F:\Users. To confirm the presence of the hidden F:\ProgramData; item, I first had to run this command, though:

dir /a:h

That shows items with a “hidden” attribute, along with those more easily viewed.

How I Got to the Finish Line

So first, I had to turn off Secure Boot. That required the following sequence of activities. I went into Start → Settings → Recovery; and clicked the “Restart now” button under the “Advanced Startup” heading. First reboot. From there I clicked Troubleshoot, then the UEFI Firmware Settings option. Second reboot, whereupon I went into the UEFI/BIOS and disabled “Secure Boot” under that self-same heading. Save the change, then third reboot.

Next, I plugged the Macrium Rescue Disk UFD into the D7080. I rebooted (4th time) into its embrace by starting once again with Start → Settings → Recovery; and clicked the “Restart now” button under the “Advanced Startup” heading. Inside the WinRE menu that serves as the lead-in graphic above, I picked “Use a device.” Next, I elected the Mushkin UFD in the alternate boot selections and booted into that environment (5th reboot). There, I ran the Command Prompt facility. Inside that facility I used the afore-described commands to find and delete the system-owned folders. Then I exited Command Prompt and the Macrium Rescue Disk environment. That led to the 6th reboot.

This took me back into Windows, where I used the System → Restore → etc. sequence again to get back into WinRE main menu. 7th reboot. To undo Secure boot, I had to once again pick UEFI Firmware Settings, then reboot again (8th), find the “Secure Boot” option and re-enable it. Save the settings, exit UEFI and reboot for the last time. NINE (9) reboots in all to delete a couple of folders. Sheesh!

But gosh, isn’t that just the way things sometimes go, here in Windows-World. Making the world safe for system-owned folders is hard work. So is making them disappear…