Windows 10 slow boot

Feb 27, 2025 Last reply: 1 year ago 48 Replies

Windows can present the wrong option in the Optimize pane for a storage device.

The determination by Windows, of whether a drive is SSD or HDD, is done by

(administrator)

winsat disk

That runs a portion of the defunct performance analysis software in Windows, and Windows is measuring the speed and seek time, then recording for later, that the "device seems as fast as an SSD". It is (unfortunately) not done by just reading the part number and consulting a table of storage devices, nor by examining the SMART for SSD-type entries. They have messed around with the code over the years, so your mileage may vary.

That was annoying me for the longest while, and recently I found a suggestion to run the winsat so the OS has a second chance to evaluate a drive. Then the SSD will offer TRIM and the HDD will off DeFrag as options in the Optimize dialog.

Windows System Assessment Tool

That's a SATA SSD, so TRIM should be the offering.

Paul

A really useless process by the look of it :-(

I have been trying to find a way to programmatically determine if a drive is HD/SSD/NVMe and gave up in the end because there seems no reliable way to do it in Visual Studio 2008 & C#.

If you come across anything I'd be interested!

Sometimes a dead CMOS BIOS Cr2032 battery can cause slow boots. That manifests as slow to get to the BIOS screen, before Windows 10 even starts booting.

Making an additional non admin account for the kids sounds like a good plan! They then can mess about without doing too much damage.

quick command line create:

"net user /add Kids"

will add a non admin account called "Kids" with a blank password.

You can add a password on the main account:

"net user accountname newpassword"

(or enable the standard windows sandbox - that will create a disposable VM that they can play in - when the close it, everything vanishes and you get a fresh start next time)

Still twice as fast as this on, thanks for looking.

Thanks, I will make that suggestion.

The Plug and Play on disks and disk controllers, is not very good.

Some people have figured out how to do it, how to make associations. But I would not say the source for that was available.

I don't know how to do that. Stuff like this:

wmic diskdrive

is useless.

Paul

Ive got linux Mint 20. It generally reboots in about 9 seconds or 25 from a cold boot.

+1. FSTRIMming is the advised treatment IIRC

CrystalDiskInfo -

formatting link

I don't swap HDD/SSD every day, week or even every month, but I think the last time I had Windows get the device type wrong was with Win8, then you had to use fsutil to enable TRIM support.

I don't know if it's still the same, but when I tried that some years ago, if the non-passworded account was the one in use when the machine was shut down, it booted straight into that account on start-up, without offering a chance to select the passworded account. At the time, I simply put a very simple password on the kids' account, so that you had a chance to switch accounts at that point

So it can be done, question is how can I do it inside a C# program :-)

From Powershell

Get-WmiObject -Class MSFT_PhysicalDisk -Namespace root\Microsoft\Windows\Storage

or

get-physicaldisk | Select *

I managed to get that far, provides a lot of data. However I ended up with three ways of getting information on drives and there was nothing common between them so I couldn't relate the information back to a specific drive.

That's actually slightly quicker than two years ago.

40 seconds for Fedora Workstation (same hardware).

Maybe I missed something but digging in the huge amount of guff printed for "get-physicaldisk | Select *" I get

For the USB memory stick

"MediaType : Unspecified" "BusType : USB"

For the SSD,

"BusType : RAID" "MediaType : SSD"

I need to put it into a simple drive info window, drive letter, type, capacity, used, available, free space graphic.

I couldn't find a way to link the drive letter to the type, the normal way just calls it "Fixed" whether it's HD/SSD or NVMe. I have 8 x drives on my server and would have liked to distinguish between them.

Generally (unless you specifically setup the machine to skip the login) it will present a "Sign in" button rather than a password entry box for accounts with no password.

get-partition | select disknumber, driveletter, size get-physicaldisk | select disknumber, mediatype, bustype ?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required