Category Archives: Insider stuff

VM SSD Speed Falls Off

What did I expect, I wonder? I’ve been digging more deeply into VMs on the amazing Lenovo P16 Mobile Workstation. (It’s got an i9-12950HX, 2TB PCIe x4 SSD, 128GB RAM, Quadro RTX A5500, and Windows 11 22H2.) Most of the time, the VM runs almost indistinguishably from the physical OS. But various IO metrics tell a different story: most tellingly, VM SSD speed falls off measurably. That applies both to the Virtual C: drive inside the VM, and when accessing external USB4 storage devices from the VM.

How Much VM SSD Speed Falls Off

By most metrics, it’s 2X or more. To be more specific, CrystalDisk-Mark results for the C: drive are about half across the board versus the internal Kioxia SSD. For the all-important random read/write 4K single thread, it’s worse than that (2.5X to 3X). Worse still, large file copies to external USB drives fall off a cliff: typical rates of 250-280 MBps fall to 60-70 MBps. This is shown from File Explorer inside the VM in the lead-in graphic above. Here’s a comparison from the physical machine:

VM SSD Speed Falls Off.phys-copy

Notice: USB speed is at least 4X faster on a physical PC vs. a VM.

Let’s Get Physical…

This actually provides an interesting justification for running certain workloads on physical rather than virtual PCs — namely, that IO and completion times can be dramatically affected. But given the convenience, flexibility and open-ended nature of VMs, this is not likely to matter that much except for highly specialized workloads where time is worth more than money.

Fascinating stuff, though — and great fun to play with. Check out the Get a Windows 11 development environment page at MS.

Facebooklinkedin
Facebooklinkedin

Repair Upgrades PowerShell

Here’s something I didn’t know before. Or at least, I never tried it. Just recently (November 8) MS released a new 7.3.0 version of PowerShell to GitHub. I’ve been upgrading my various systems since, slowly but surely. This morning I learned that opting for Repair upgrades PowerShell. Let me show you what that means.

Showing How Repair Upgrades PowerShell

On some PCs, winget upgrade may not show the new PowerShell as an option. (I’ll use my Lenovo Yoga 7i as an illustration because it manifests such behavior.) You can see it’s running version 7.2.7 and that PowerShell does not show up in the output from winget upgrade below:


If that’s the case, here are the steps to using repair to upgrade PowerShell on such PCs:

1. CTRL-Click on the link that reads https://aka.ms/powershell. This opens the MS PowerShell Documentation page.
2. Click on the “Download PowerShell” button at the upper right. This takes you to the GitHub Latest release page for PowerShell (7.3.0, as I write this, but updated as new versions emerge). Then close all open PowerShell sessions.
3. Scroll down to assets and download the installer file for your PC (for most readers the 64-bit MSI is the right choice: PowerShell-7.3.0-win-x64.msi)
4. Run the microsoft self-installing (MSI) file to start PowerShell installation. Step through all the installer prompts. If the Repair option comes up, select it (shown in the lead-in graphic for this story). It will run and “fix” the current installation.

At the end of this process, you’ll have a working upgrade to version 7.3.0. Cheers!

What About Winget Upgrade Microsoft.Powershell?

Gosh! That works too but finishes strange. Let me show you, in the following screencap (click on image to view full-sized):

The output doesn’t actually confirm a successful install of PowerShell 3.7.0. It shows a progress bar, and a status of “Starting package install…” Then it transitions to a command prompt. In the background, the new version is installed and running. But because you’ve got a 7.2.7 window open, you don’t see the 7.3.0 label until you close the old window and open a new one.

It’s always something, right?

Facebooklinkedin
Facebooklinkedin

Windows 11 Beta Channel Gets Improved Task Manager

Finally! I’ve been reading about — and seeing — cool changes to the Task Manager in Windows 11 for weeks and weeks. But only with Build 22623.891 for all of its users, Windows 11 Beta Channel gets improved Task Manager. What does this mean? Take a look at the lead-in screencap (and others below) and I’ll tell you more…

Woo-hoo! Windows 11 Beta Channel Gets Improved Task Manager

Let’s start with the lead-in graphic. Among the several improvements Task Manager now makes easily accessible in the 22623 fork of the Beta Channel, I can finally produce the Dark Theme. That’s what you see in that graphic, which makes for a more dramatic (but also visually sensible) set of CPU utilization graphs. Previously, this kind of thing was only accessible through ViveTool tweaks (which I avoid as a matter of practice).

What else is in there? You can search for processes by name in various Task manager panes (processes and details). The next screencap shows the results of a search for the ubiquitous svchost process in the Processes pane (notice it’s smart enough to map part of the .exe name to the related process names: cool!).

Windows 11 Beta Channel Gets Improved Task Manager.search

Notice that “Service Host” appears in nearly all of the elements shown as search results. Very helpful!

According to this story at WinAero from Sergey Tkakchenko, you can search on process name, ID or publisher with good results. That certainly worked for me.

One more thing: turning on “Efficiency mode” in Task Manager is now a right-click option from the Details pane. This lets users lower runtime priority to boost power efficiency, while upping stability risks. My example (e.g. the Chrome web browser) is an example of something you probably would NOT wish to run in this mode. For real.

Efficiency mode is easy to set, but should be approached with some caution.

I’m not sure I truly understand when or why to use Efficiency Mode (presumably on a tablet or laptop on battery power) but I’ll do some investigating and experimenting and see what’s up with that. Stay tuned! Should be fun…

In the meantime, I’m delighted to finally be able to see and exercise these Task Manager facilities for myself. If you have access to a Beta Channel Insider Preview, it’s worth updating to Build 22623.891 to see for yourself.

Facebooklinkedin
Facebooklinkedin

Ready-to-Run Eval Windows 11 Development VMs

MS offers free downloads of ready-to-run Eval Windows 11 Development VMs (virtual machines). They incorporate a copy of Windows 11 Enterprise, Visual Studio 2022 edition, Windows Subsystem for Linux (WSL), and Windows Terminal. They’re ready to run in developer mode, right “out of the box” as ’twere.

MS makes them available, free, for the following hypervisors:

  • VMWare
  • Hyper-V
  • VirftualBox
  • Parallels

Just for grins I downloaded the Hyper-V incarnation, and spent an enjoyable hour getting it installed and running yesterday, along with some exploration and investigation. The lead-in graphic shows the head of the download page for all this stuff.

Grab Ready-to-Run Eval Windows 11 Development VMs

I was able to bring up the VM simply by opening it in Hyper-V and using the “default switch” for the networking option. It’s just that easy to get it up and going. No kidding. But…

As I explored the new runtime environment I did find some limitations. Turns out the default install in Hyper-V does not resolve TPM issues. There’s a whole raft of “Generation 2 VM Security Issues” about which I had been blissfully unaware.

I’m going to need to work through those issues so I can try again. Why? Because if I want to keep the VM around as more than a transitory eval, I have to be able to upgrade to 22H2 (the download is 22H1). And here’s what the Windows 11 Installation Assistant currently has to say about that:

Upon running the PC Health Check on that VM, I’m informed that no TPM is detected. No TPM, no upgrade. This can be fixed: I see numerous recipes to make that happen. I’ll try them soon.

More Fun Than…

In the meantime, I’m having a gas running VMs on the P16 Mobile Workstation (with 128GB RAM, a 24-core i9 12th Gen CPU, and so forth). Honestly and for the first time, ever, I can’t tell any diff between running a native OS and a VM. It’s awe-inspiring. I’ll keep digging in, and reporting more, but if you too wish to play, visit the download page. It’s a pure joy to mess around with!

Facebooklinkedin
Facebooklinkedin

PowerToys File Locksmith Works Well

Starting with version v0.64.0, released on November 2, the PowerToys collection added File Locksmith to its mix.The tool’s own built-in description is sparse. It reads: File Locksmith is “…[a] Windows shell extension to find out which processes are using the selected files and directories.” Doesn’t sound like much but can be handy. Indeed, I learned that PowerToys File Locksmith works well this weekend. Let me explain…

Why Say: PowerToys File Locksmith Works Well?

As I tried to work through an update process for a desktop tool, I got an error message showing three instances of svchost.exe were impeding installation. Remember: File Locksmith is a “shell extension.” In this case, that means you can right click “stuck” files in File Explorer and then choose the “Who’s using this file?” menu option that appears.

This brings File Locksmith into the picture, wherefrom you can choose an “End Task” button for associated files that show up in the listing. Furthermore, you can see detail about each running process, so you can even match up process IDs inside Task Manager to make sure you “end task” only when and where you should, and leave other stuff alone.

PowerToys File Locksmith Works Well.fl-output

The offending items were various DLLs. They run within svchost processes so multiple programs can share access to them.
[Click image for full-sized view.]

This made my job pretty easy. All I had to do was end the offending tasks so the installation could complete. It did so pretty much immeditately after I told it to try again. And it ran to successful conclusion.

Warning: Because ending tasks for shared DLLS can leave certain important facilities inaccessible after such a move, I also restarted Windows after the update was done. You know: just to be on the safe side…

But gosh, File Locksmith made this sometimes vexing and onerous task easy and straightforward. I have to laugh about this too, though. Here’s why: earlier versions of PowerToys itself were prone to experiencing install delays owing to running items. These included dll host processes that required manual closing in Task Manager. Thus, it’s glaringly obvious how the developers figured out such a tool could be helpful — at least, IMHO.

But it’s here, it works, and has already proved useful in helping me update a utility included in my Startup items, and generally running in the Windows background. If it worked for me, it should do likewise for you. Enjoy!

Facebooklinkedin
Facebooklinkedin

Samsung Printer Is Now HP

Boy! The interesting things one can learn when updating drivers are legion. Case in point: I learned I needed an update for the Samsung Easy Printer Manager program. Upon searching for same, I found myself directed to HP (!) Customer Support. Indeed, that’s where the latest version of said utility now resides. You can see a screencap of that download page at the head of this story. Looks like my Samsung printer is now HP,  in name and in fact.

If Samsung Printer Is Now HP Then What?

HP is the former division of Hewlett Packard that now sells PCs and printers, as well as peripherals. To give you an idea of how long this has been going on, this press release bears a November 1, 2017 date. Whoa: talk about missing that bus by a mile…

When HP closed the deal they did so for US$1.05B. They also acquired a portfolio of 6.5K patents, and “a workforce of nearly 1,300 researchers and engineers with expertise in laser technology, imaging electronics, and supplies and accessories.” I guess that means buying an official laser toner cartridge (I still have a spare in my utility closet) will cost even more than it did the last time I looked. I found the product page, but I can’t find a price (looks like I might have to set up an account). Amazon references an “HP Store” and offers same for US$76, so that’s not too pricey. OK then: it’s all good.

Plus çe Change…

That’s French for a saying that roughly translates: “The more things change, the more they stay the same.” The technology landscape is chock full or mergers, acquisitions, spin-offs and divestitures. I have to laugh about this one, because I’m definitely coming late to that particular party. But at least, I had no trouble finding an updated version of the software I needed. And it works, too!

And that’s the way things go, here in Windows-World, from time to time.

Facebooklinkedin
Facebooklinkedin

Windows 10 versus Windows 11 Uptake

I just read a fascinating story from the man himself — Paul Thurrott, that is — over at his website. Entitled “Windows 11 Usage Share Is Struggling…” it raises some interesting questions. Chief among these is “When deciding Windows 10 versus Windows 11, what do business users get?”

Thurrott’s analyses lead him to this conclusion: “Not enough to justify migration.” If necessary, add “…if hardware refresh is required” to that statement. FWIW, I agree. However, I’m not as inclined to finger-point at MS for market manipulation as he is. Let me explain…

Windows 10  versus Windows 11 Is a No-Op

Looking back at typical business migrations as far back as I can remember (the Windows 3.x era, circa 1991), I see a consistent pattern. It explains why business uptake of Windows 11 remains somewhat scant.

Here ’tis: It usually takes 2-3 years for businesses to get serious about migrating Windows versions. And then, that’s only if  the version of Windows is judged “successful” (not Windows Me, Vista, or 8/8.1, for example). Right now, it’s been just over a year since Windows 11 released: October 4 was the anniversary date. Thus, it’s simply too soon for most migrations just yet.

Thurrott and readers make at least two valid points

(a) for a good portion of the installed PC base, Windows 11 won’t run (40-50% by most estimates, in fact)
(b) most businesses manage their own refresh cycle timing, and aren’t inclined to let MS dictate when that should happen.

All this said, I don’t think even MS can derail all of the prior migration history it already knows about, points (a) and (b) notwithstanding. My gut feel is that something else is up beyond seeking ways to force business users forward faster.

Windows 10 EOL Remains Unchanged

October 14, 2025 is now about three years distant. This acts as a full-stop for most business. They don’t ordinarily want to pay for extended support  unless stuck between rock and hard place. (Example: US DoD for Windows XP and 7, on the way to Windows 7 and 10, respectively.)

Various sources put the PC refresh interval in business globally between 4 and 10 years, with the most common recurring value at 5 years. Depending on where organizations are in that cycle, I guess at least 80 of businesses would refresh anyway before Windows 10 hits EOL.  CPUs and TPMs in use in early 2018 define the boundary between what’s in and what’s outside of Windows 11 requirements. That puts the maximum interval for refresh at about 7 years and 9 months (7.75 years). IMO, that’s longer than normal for most concerns.

New PCs purchased since 2019/2020 will meet Windows 11 requirements as a matter of course. Thus it’s really PC’s purchased before January 2018 (or older models purchased through 2020, no doubt to obtain steep discounts) that really come into play.

My best guess is that, as with prior major versions of Windows (3.1, 95, 2000, XP, 7, and 10 — see the pattern?), 11 migrations will get serious in late 2023 and throughout 2024. That’s just in time to stay ahead of EOL for Windows 10. It’s also in tune with most prior migration cycles. Need I say more? I think not…

 

 

Facebooklinkedin
Facebooklinkedin

Further Kindle Update Follies

Yesterday I worked through my blog post from earlier in the week on yet another PC. As it happens, the initial step — using winget to uninstall the outdated Kindle version — was highly fortuitous. Even though the subsequent winget install Amazon.Kindle brought in the wrong version (because of the package definition), removing the old version is a good way to start the upgrade process. In my further Kindle Update follies follow-up, not uninstalling left the old version behind alongside the new. Wait! It gets even more interesting…

What Happened with Further Kindle Update Follies?

When I found I had two side-by-side versions, I ran Revo Uninstall to try to take out the old one. That left me with no Kindle at all (even though I didn’t do the post uninstall cleanup that Revo does itself). So, I got to install the correct version again. That worked!

Here’s my new recipe for manual Kindle updates.

  1. Grab the latest version from the Kindle download page.
  2. Run winget uninstall Amazon.Kindle in an admin PowerShell (or Windows Terminal) session
  3. Run the downloaded Kindle installer (as I write this, that filename is KindleForPC-installer-1.39.65323.exe, but that will change)

One more thing: before you follow this recipe, try opening the Kindle app. Sometimes — and I stress this word, “sometimes” — it will actually update itself as part of its launch process. Because I haven’t been able to figure out why it works sometimes and not others, the recipe serves as a follow-up should it not auto-update itself.

This is kind of whacko. I repeat an earlier plea to the Amazon developers: please add an update function to the Kindle for PC software. Or, have the installer clean up the old version after it brings in the new one. It’s just too tricky to find and manage updates for ordinary users right now. IMO, that definitely needs fixing …

Note Added November 7

I’ve been working through updates on a bunch of PCs today. Many (most) have needed a Kindle update. I can now conclusively confirm that my foregoing recipe works to update Kindle without apparent issues. Consider it a validation, of sorts…

Facebooklinkedin
Facebooklinkedin

Winget Remove/Replace Handles Kindle Directly

I don’t know why this is, but I have the devil’s own time following Amazon’s instructions to download a fresh — and current  — Kindle version. You place and complete a zero-cost order and you’re supposed to be able to click a link in the order record to do the download. Not happening for me! I decided to contact Amazon tech support to confirm that’s how it’s supposed to work. It is, indeed. Interestingly they could or would not provide a direct download link. Next, Winget remove/replace upgrades Kindle directly, if incorrectly. Let me explain…

What Winget Remove/Replace Upgrades Kindle Directly Means

I learned the term remove/replace back in the days when I still did my own car repairs. It basically describes what’s involved in fixing a broken car part. First, you remove the non-working part. Then you replace it with a new, working one. Fixed (unless calibration is also needed)!

In this case, it means uninstall the old, outdated version of a program. Then install the new, up-to-date version in its place. This technique works when other update methods fail. I’ve used it successfully with the Zoom app, for example, when its maker quit offering in-app update facilities on the free version.

With Kindle, it half-way works for me when the Kindle app download service fails to deliver me a new version as it’s supposed to. If you look at the lead-in screencap, you see first the command

winget uninstall Amazon.Kindle

That’s the “remove” part of the sequence. Next, comes the “replace” part:

winget install Amazon.Kindle

Behind the scenes, this uninstalled version 1.39.0.65306, and replaced (installed) version 1.33.0.62002, which is neither current nor up-to-date. Notice the newly-installed version number is lower (and hence, older) than the one it replaces. Shoot, what now?

SUMo to the Rescue

I’ve got a paid-for version of the Software Update Monitor (SUMo) from KCSoftwares. When I checked the update status for Kindle there, it pointed me to a direct download link at Amazon (which their tech support folks were unwilling or unable to furnish). That link is Get started with the free Kindle app. For whatever reason, search engines don’t find this (it’s probably blocked). Using this link, however, you can indeed grab the latest Kindle version and put the remove/replace operation to work.

Why didn’t winget grab this version? The existing package definition for Kindle install is obviously pointing at the wrong download. That’s why you can’t always count on winget to get things right, though it does so most of the time. That’s also why I use multiple update scanners (including PatchMyPC) to help me keep my small PC fleet up-to-date.

Shame on you, Amazon, for not making a direct download link available. And shame again, for not equipping your tech support staff with the direct download link that SUMo provides. Sigh. At least, I got there eventually, if not by the most direct route.

Facebooklinkedin
Facebooklinkedin

Using Winget For 4 Ways To Update

I’ve been researching an upcoming ComputerWorld story about the terrific and powerful PowerShell based Windows packager: Winget. It’s a peach! I mostly use it for keeping applications and supporting elements current. Lately,  I’m  using Winget for 4 ways to update my apps. Let me explain…

How-to: Using Winget for 4 Ways to Update

Way 1: Check Pending /Available Upgrades

By itself, the command winget upgrade simply shows what’s ready to upgrade. It doesn’t actually do any upgrades. Thus, it offers a quick easy way to see what upgrades are available. That’s why it appears as the lead-in graphic for this story.

Ways 2 & 3: Perform Blanket Upgrades

In fact, two different command strings provide varying degrees of upgrade capability

  1. winget upgrade –all
  2. winget upgrade –all –include-unknown

By default winget only upgrades to a new version when it recognizes the current version. Then, if the current installed version is lower-numbered than the pending one, the upgrade goes ahead. Some-times, for whatever reason, winget can’t find the current running version into. In such cases, the upgrade –all variant skips them. Thankfully, adding –include-unknown to the string tells winget to upgrade those anyway. Consequently, I use that more inclusive variant because there’s less follow-up needed.

To illustrate, the next screencap shows winget upgrade –all –include-unknown output on the PC that produced the lead-in snap. Notice please: 5 items found, 5 items upgraded. Good-oh!

The –all –include-unknown variant of winget upgrade covers the most possibilities. On this PC, all 5 candidates upgrade.
[Click image for full-sized view.]

Way 4: Targeted Winget Upgrades

Examined closely, both preceding screencaps shows an ID column. Indeed, that information provides a “package name” for its associated application. Thus, you can always upgrade a single package at time using this syntax:

winget upgrade <package-name>

For example, names shown in the screencaps include Mozilla.Firefox, TeamViewer.Teamviewer, AntibodySoftware.Wiztree, Google.Chrome and Microsoft.WindowsSDK. That follows a mostly predictable structure: builder-name.package-name. For speed, I like to use it when winget presents only a single option, or when a winget blanket command fails.  I’m learning that happens sometimes, for various odd reasons.

There are many ways to work with winget I haven’t yet mentioned. These could appear in future posts here. Certainly, they’ll definitely be covered in my upcoming ComputerWorld piece. Right now, that’s scheduled to appear online before month’s end. Hopefully, you’ll get a chance to catch that during the busy holiday season.

 

Facebooklinkedin
Facebooklinkedin