How to keep Windows 10 in Tip-Top Shape [Maintenance]

Header.png
[ Updated 30th September 2021 ]
In over 20 years of working as an IT Professional fixing computers, I see the same questions posted repeatedly, which can be prevented by just doing some regular maintenance on the Windows operating system. This article explains what you should be doing to keep your computer in tip-top shape.




Despite being the most used operating system globally, Microsoft Windows has always caused its users' grief by frequently breaking down for no apparent reason whatsoever. Unfortunately, that's Microsoft for you. They seem to have a policy of releasing feature updates and new versions first and then worrying about fixing reported errors later.

However, most people don't realise that regular maintenance should keep the Windows 10 operating system functioning optimally. Whilst Microsoft provides all of the tools needed to do that, they don't have a document or instructions on what maintenance you should be doing or at what intervals you should be performing maintenance tasks. That's what I'm going to explain in this article.

So with that said, let's get on with it...

Pre-requisites

There's really only one, and that's your being willing to perform these maintenance tasks at least once every three to four months.

Strongly Advised – Backup First

You should already be making periodic backups, certainly no less frequently than once per month, but it is a good idea to make an extra backup as the first step of this quarterly maintenance.

While none of the steps prescribed below should cause any damage, it's better to be safe than sorry.

If you don't have a regularly scheduled periodic backup (strongly not advised), then I recommend that you keep this pre-maintenance back up until your next quarterly maintenance.

How to backup and which backup software is best to use is a topic on its own. There are many different solutions available; however, my own favourite is Macrium Reflect Home. I find it intuitive to use, and it's never let me down.

Note: Macrium Reflect provides a 100% Free, fully functional version of their backup solution that does everything the paid Home version does, with only a few of the nicety things missing that the paid version provides. Those are;
  1. Ability to schedule backups to happen automatically
  2. Oracle VirtualBox integration
  3. Rapid Delta Clone and Restore
  4. Ransomware Protection and encryption
  5. Incremental Imaging
The above said, Macrium Free is more than ample for most home users providing you don't mind having to start your backups manually.

Note: View and compare the differences between Free and Paid for yourself by clicking on this link.




Maintenance Step 1. Clean out temporary files


Why?

Windows and other vendor's programs are supposed to delete temporary files once they're no longer needed. Still, programmers can be lazy and not bother doing that, so Windows tends to accumulate hundreds to thousands of these files all the time. The disadvantage they cause is that they tend to slow Windows down to a crawl if not regularly cleaned out.

Two things will happen once you perform this step.
  1. Your computer should perform noticeably faster.
  2. You may be pleasantly surprised at how much hard drive space you've regained.

Here's how to do it:

1. Press your Windows Key and type Disk Clean-up and then press your Enter key or click on the Disk Clean-up app icon. The following appears. Select the drive Windows is installed on (usually C:) and click the OK button.

1.png

On the next window, first, click on the Clean up system files button. That gives us considerably more available areas to safely clean up and potentially regain quite a bit of hard drive storage space.

2.png

You'll need to again confirm the drive you want to clean up and click the OK button again.

3.png

Now, wait a moment. It may seem as though nothing is happening, but rest assured it is. The following progress window will soon pop up.

4.png

Followed by this window.

5.png

When doing the above procedure for routine maintenance, nothing listed is dangerous to remove. Windows does not list anything which, if deleted, would harm your system in any way; so tick everything in the Files to delete: section.



> ! Caution - Unselect "Recycle Bin" if you want to hold on to its contents and "Previous Windows installation(s)" if you have recently upgraded Windows and want to retain the ability to roll back to the previous version. <



Note that now we have a More Options tab and the opportunity to recover considerably more hard drive space than before. In this example, 36.9 GB of space is recoverable instead of only 75.0 MB of space before we clicked the "Clean up system files" button.

Now click the More Options tab highlighted in the previous screenshot, and the window will change to this:

6.png

Though optional, I recommend periodically deleting all but the most recent restore points created by Windows. Older ones tend to corrupt and often won't work anyway if too many changes have occurred since they were created, so click the optional step Clean up... button to remove all but the most recent restore point that Windows has made. Once clicked, the following window will appear.

Confirm your decision by clicking the Delete button.

7.png

The final step to begin the clean-up process is to now click the OK button.

8-png.69718


Acknowledge you want to continue by clicking the Delete Files button on the following prompt.

9.png

If you have recently upgraded Windows, you will be asked again if you are sure you want to remove the ability to roll back. Click Yes if you are, or No if you prefer to leave the rollback function to remain available to you.

10.png

You will see a progress window at this point. Be patient. It can take a long time (15 minutes or more), even on the fastest of hard drives.

Do not Cancel it; just allow it to complete. I also suggest not using your computer during the Disk Clean-up process as it will just make the cleanup task take longer.

11.png

Once the above Disk Clean-up has been completed the progress window will disappear, and you're done with this part of maintenance. Let's move on to the next step.




Maintenance Step 2. Use DISM to check for and correct system problems


The DISM command is often used when a computer has problems like not starting up or starting up with errors, performing poorly, or giving unexpected and unexplained errors. It basically repairs Windows installations that tools like SFC and CHKDSK can’t fix.

In such scenarios, the best option is to use DISM to attempt to repair any underlying issues. Its use is harmless so it is safe to use for routine maintenance. It often corrects errors that the other repair tools can't fix.

Note: There are many switches associated with running DISM, but we're only going to concentrate on two of them for maintenance purposes, namely CheckHealth and RestoreHealth.

Here's how to use it...

Still in the Administrative Command Prompt window, optionally issue the following command.

DISM /Online /Cleanup-Image /CheckHealth and press the Enter key.

Note: Many people recommend using the CheckHealth switch, so I've included it here for the sake of completeness only.

However, I don't trust the command because it typically runs for less than a second and has consistently reported "No component store corruption detected." even when there were problems. For this reason, I recommend always running DISM with the RestoreHealth switch instead of CheckHealth.

Even if there are no problems, rest assured that DISM will NOT do any harm, and the bonus is that if there are problems, DISM will repair them for you. Since running DISM with the RestoreHealth switch also does a health check, you only need to run this command:

DISM /Online /Cleanup-Image /RestoreHealth

At the end of the process, you should get a result like the following which means all is now A-OK, and any errors found have been corrected automatically:

12.png

Note: It doesn't take all that long to run, either. With a decent Internet connection expect it to take no longer than about 10 minutes or so to complete.




Maintenance Step 3. Verify your Filesystem Integrity with CHKDSK


The Chkdsk command scans your computer's NTFS or FAT32 filesystem and checks the filesystem's integrity, including filesystem metadata. I always suggest running chkdsk in a "read-only" configuration first, i.e. without any switches, to check for problems. Adding switches such as the /F switch (i.e. chkdsk /f) will require the computer to be rebooted so that repairs can be conducted, even if no repairs were needed.

Here's how to run it:

First, open up an Administrative DOS command prompt. Many ways to do this, but one easy way is:

Press your Windows Key, type CMD and select Run as administrator.

13.png

Click Yes on the User Account Control (UAC) prompt to continue.

14.png

An Administrator: Command Prompt will appear. We will do our work here.

15.png

To run the chkdsk test, simply type the command chkdsk followed by your Enter key. Chkdsk will then commence examining your file system for any errors it can repair.

Usually, you will get the message "Windows has scanned the file system and found no problems. No further action is required" as shown below, in which case you don't need to do anything else in this step.

16.png

If errors are found you will be advised to rerun chkdsk again with the /R or /F switch. In that case, follow the instructions. Note: A reboot will be required after running the command chkdsk with a /R or /F switch.

In the next step, we will determine if any problems have developed with the Windows 10 protected system files. We do that with the SFC command.




Maintenance Step 4. Check the integrity of Windows Protected System Files


Still in the Administrative Command Prompt window, issue the following command.

SFC /scannow

Windows will now run a series of tests and make any necessary repairs if it finds a problem.

In the example below, SFC reported that it did not find any integrity violations. That's a good thing. If it does find any, it will repair them and advise you of that once it completes its verification scan. No more to do with SFC for maintenance purposes now.

17.png


! Tip: In a case where either the DISM or SFC commands complete with an error during your maintenance, I recommend heading over to the Windows Update Forum Posting Instructions section of the Sysnative Forums and following the reporting instructions there. Don't be misled by the "Windows Update" in the name. Any DISM or SFC errors may be reported and you should soon get the help you need.




Maintenance Step 5. Do manual Virus and Malware scans


Even though all Virus and Malware software vendors offer the ability to schedule periodic scans, I've found many people don't take advantage of this option, or their machines are off during the default scheduled times that the AV packages enable at the time of install. If you're one of those folks, then use this opportunity to verify that periodic scans are scheduled at an appropriate time for you.

Even so, a scheduled scan is often only effective if your computer is on when the scheduled time arrives. For this reason, I also recommend doing periodic manual scans and doing them as part of your quarterly maintenance works.

As a side note, many people often ask me what I think are the best Virus and Malware protection packages. I can never answer that because which is best is a subjective determination, but I can recommend using Microsoft Defender (included with all editions of Windows 10) followed by secondary scans with Malwarebytes Premium, and SuperAntiSpyware Pro X. I have run all three in real-time mode, and (for me) they play together perfectly and do not conflict with one another. That said, for periodic manual scans, it's not necessary to use the paid versions of the latter two either. The Free versions will do just as good a job with scanning and removal of any nasties found. They just won't offer real-time protection.

Note: Should your scans reveal any Trojans, Viruses or Malware infections present, then that's the time you should seek expert help from a reliable source like the Security Arena at Sysnative forums.




Maintenance Step 6. Checking if your Hardware Drivers are up to date


This step doesn't need to be performed as regularly as every three months or so, but it's a good idea to check each time there is a major Windows update or at least twice a year.

As Windows 10 continues to be updated, manufacturers of hardware such as Printers, Graphics cards, and Webcams etc. will update their drivers. Windows Update can often replace your hardware manufacturers' drivers with generic drivers created by Microsoft. While that's sometimes not an issue, at other times this can cause your hardware to either lose some functionality or even malfunction.

That being the case, here's what I do at least twice a year; and doing so has served me (and plenty of my clients) well.

What you need to know

Obviously, you need to know the brand and models of the hardware that you've connected to your computer, but this isn't as hard as it might seem. Make a list of everything using a free tool such as Piriform Speccy Free that you can download from here.

The snapshot below is from the Pro version I own to comply with the license agreement, but the Free Version will give you all the information you need if you're not using it in a business environment.

Once you've downloaded and installed it, simply run it, and you'll get a report that looks as follows:

18.png

Save the report to a Text File or Publish it online (or use whichever other format you prefer to save with), and you will have a list of all of the hardware in your computer, including the manufacturers and model numbers. Very useful information to keep handy.

With all that info in hand, when it's time to check for newly released drivers, visit the manufacturers' websites of the hardware you have installed and check for any updated drivers they recommend you should download and install. Alternatively, if your hardware has a "Check for updates" option, use that instead.

Finally, suppose the hardware was installed when you bought your computer, such as a memory controller or a graphics card. In that case, it's usually best to install the driver from the computer manufacturer's website since they typically test the new driver before they recommend it and sometimes customise the driver to make it compatible with the rest of the hardware in your computer. Wherever you get the drivers from, it's a good idea to stay up to date to prevent problems.



> ! Important Note on Driver Updating Software <

I do not recommend using any software that offers to check for and automatically update your computer's hardware drivers (or, for that matter, your software applications) because they get it wrong far too often and cause considerably more problems than they solve. Examples of such software solutions can be viewed using a Google search for "Automatic Software and Hardware updating software" or published articles like this one about the Best Free Driver Updater Tools.

Neither Google nor the websites that list this type of software are to blame - it's the software packages that cause the problems. Many will disagree, so use them if you must, but know that I've had to fix so many issues as a direct result of Automatic Driver Updaters over the years that I now consider them nothing more than PUPs, and in some cases, even malware. Consider yourself warned.




Maintenance Step 7. Keep the inside of your desktop computer clean


Dust in computers can cause overheating problems, which leads to slow performance and even crashes like the dreaded "Blue Screen of Death". I recommend that you give the inside of your computer cases a good clean out at least once a year. It's well worth doing.

Computers have fans that constantly suck in air and dust particles, so once a year I open the cases of my desktop computers and servers to give them a good vacuuming, paying particular attention to the fans. Regardless of how clean the environment is around your computer, if you look inside the case, I'm willing to bet you'll be shocked at how much dust has accumulated after a year of use.

As for how to do it, I think it goes without saying that you should make sure the computer is unplugged from any power supply before opening the case, and you should wear an anti-static wristband before touching any of the components inside. When vacuuming the fans, use a finger or pen to prevent them from spinning wildly. Just be careful and gentle and you'll be fine.

Conclusion

I regularly follow all of the steps described in this article, and to date, the effort has served me well. I rarely have computer problems and I'm convinced that it's because I do this Windows 10 maintenance three to four times a year.

I hope the tips I've shared here help you out. If you have any questions, please don't hesitate to ask by leaving a comment below and I'll do my best to answer your queries promptly.

Finally, if you found this article interesting and useful, please take a second to click the Thanks.png icon below.

Thanks very much.

©Andrew Leniart 2021
 

Attachments

  • 8.png
    8.png
    52.4 KB · Views: 4
Last edited by a moderator:
Chkdsk works fine with an SSD as well as with an HDD.

Chkdsk scans and fixes the filesystem software on a storage device, it doesn't matter much whether that's a SSD or an HDD since the software is the same. The technology storing the software is different.

While there have been issues with running a chkdsk scan on a SSD in the past, they have been fixed therefore it is save to run chkdsk on a SSD. If there are issues with chkdsk running a scan on a SSD, you'll hear about it.

Though, it is unlikely you need a chkdsk scan for a SSD due to the filesystem having self healing abilities.

This is just for clarification for anyone reading this. :-)
 
UPDATE: I've had some readers contact me about Maintenance Step 4 in the above article. Please read the following update to using the command.

If the SFC /scannow command reports that it found errors and repaired them, please re-run the SFC command again until the command reports that "Windows Resource Protection did not find any integrity violations". That should take no more than three passes. If you continue getting SFC messages indicating that repairs have been made after running the command three times, please seek further advice in the comments here.

Thanks,

Andrew Leniart
 
I'm happy to find that I do all of the above - with the exception of the driver check. I realise there are different schools of thought regarding drivers, but IMO drivers are best left alone, unless you have a good reason to update them.

Drivers are by far the biggest cause of crashes, hangs, and BSODs - because they run in kernel mode. In kernel mode ALL code is expected to obey the rules and play nicely, this means that every time you update a driver you are updating your kernel. This is a big deal, because whilst an issue in user code may crash that address space, an issue in the kernel often crashes the entire PC. You really don't want to be updating your kernel unless you have to.

A driver that is old has been executed billions of times by people around the world, and is thus pretty much guaranteed to be bug free. A new or updated driver hasn't been executed anywhere near as long and may contain a hidden bug that nobody has tripped over yet. For me then, as long as my drivers are doing the job they're supposed to do without error, I don't care how old they are - in fact the older the better.

Drivers get updated for many reasons, it may be for example, that a bug is found in a device driver when installed with a particular motherboard or chipset. The vendor releases an updated driver (which contains new code and is thus more suspect) - but only those users with the specific motherboard or chipset will get any benefit from the updated driver - everyone else is better off with the older version (because it's known to be stable).

My approach is to not update any drivers, unless I either have an issue with the device (or even an issue in general) or unless there is new code in the driver that I need (support in a graphics driver for a specific game I want to play, for example). IMO drivers do not need automatically updating just because a newer version has become available - but I appreciate that there are other opinions.

If I get a crash, hang or BSOD however, one of the first things I will do is to look for updated drivers and ensure that I'm all up to date before investigating further.

BTW. I use the same approach with my BIOS.
 
Just sharing my opinion on your thoughts @ubuysa as well as correcting a few things.
IMO drivers are best left alone, unless you have a good reason to update them.
I'd agree, but a 'good' reason varies vastly for everyone. I could justify an update as a good enough reason to update whereas your opinion obviously is not.

In kernel mode ALL code is expected to obey the rules and play nicely, this means that every time you update a driver you are updating your kernel. This is a big deal, because whilst an issue in user code may crash that address space, an issue in the kernel often crashes the entire PC. You really don't want to be updating your kernel unless you have to.
It really means that you update how the driver interacts with the kernel. The kernel is part of Windows and third-party drivers are completely separate software components. If a third-party driver was part of the kernel, it practically means that there were a bunch of useless features present, e.g. a keyboard driver for RGB light for a keyboard you don't even know exists. Regarding updating your kernel, you don't really have much of a choice since that's up to Microsoft. You can of course stay with a particular version of Windows and block updates to have some form of control, but if you keep yourself updated then the kernel will be updated frequently too.

A driver that is old has been executed billions of times by people around the world, and is thus pretty much guaranteed to be bug free. A new or updated driver hasn't been executed anywhere near as long and may contain a hidden bug that nobody has tripped over yet. For me then, as long as my drivers are doing the job they're supposed to do without error, I don't care how old they are - in fact the older the better.
A driver that has not been updated for ages could easily contain security vulnerabilities and countless bugs. Why? Because Windows is constantly being updated. If you don't keep Windows updated then you have vulnerabilities and bugs in more places than the driver. As matter of fact, any driver regardless of its age can contain a bug that nobody tripped over, those are in my opinion annoying because there have been plenty situations where drivers tripped under very specific situations which were not exactly easy to solve.

Drivers get updated for many reasons, it may be for example, that a bug is found in a device driver when installed with a particular motherboard or chipset. The vendor releases an updated driver (which contains new code and is thus more suspect) - but only those users with the specific motherboard or chipset will get any benefit from the updated driver - everyone else is better off with the older version (because it's known to be stable).
An older driver is not necessarily known to be stable, there have been plenty GPU drivers released that are known to be unstable from years ago. There are also plenty of GPU drivers that are known to be very stable and often were used for testing with BSOD problems.
 
What's the point in running SFC /scannow multiple times ?

SFC works by replacing corrupt files with a good copy of the same files, those copies are sourced from the computer it is running on. If it can't fix a corruption it's because there isn't a clean copy available to replace it.

Running it multiple times is not going to change that fact.

The only reason to run it a second time, after the first log reports that it's fixed faults, is to check whether it still finds any errors.

If it does, then run DISM, which sources its replacements from online sources, and then run SFC to see if it still finds errors.

So ....

  • 1st SFC /scannow ..... reports corruptions found and fixed
  • 2nd SFC /scannow .... checks to see whether corruptions still present
    • If none present you're finished
    • If some are still present ...
      • DISM /Online /Cleanup-Image /RestoreHealth
      • SFC /scannow

Maximum 3 SFC runs ever needed.
 
Just sharing my opinion on your thoughts @ubuysa as well as correcting a few things.

I'd agree, but a 'good' reason varies vastly for everyone. I could justify an update as a good enough reason to update whereas your opinion obviously is not.


It really means that you update how the driver interacts with the kernel. The kernel is part of Windows and third-party drivers are completely separate software components. If a third-party driver was part of the kernel, it practically means that there were a bunch of useless features present, e.g. a keyboard driver for RGB light for a keyboard you don't even know exists. Regarding updating your kernel, you don't really have much of a choice since that's up to Microsoft. You can of course stay with a particular version of Windows and block updates to have some form of control, but if you keep yourself updated then the kernel will be updated frequently too.


A driver that has not been updated for ages could easily contain security vulnerabilities and countless bugs. Why? Because Windows is constantly being updated. If you don't keep Windows updated then you have vulnerabilities and bugs in more places than the driver. As matter of fact, any driver regardless of its age can contain a bug that nobody tripped over, those are in my opinion annoying because there have been plenty situations where drivers tripped under very specific situations which were not exactly easy to solve.


An older driver is not necessarily known to be stable, there have been plenty GPU drivers released that are known to be unstable from years ago. There are also plenty of GPU drivers that are known to be very stable and often were used for testing with BSOD problems.
I did say that there are different opinions on this. I appreciate all the points you make. :giggle:
 
What's the point in running SFC /scannow multiple times ?

SFC works by replacing corrupt files with a good copy of the same files, those copies are sourced from the computer it is running on. If it can't fix a corruption it's because there isn't a clean copy available to replace it.

Running it multiple times is not going to change that fact.

The only reason to run it a second time, after the first log reports that it's fixed faults, is to check whether it still finds any errors.

If it does, then run DISM, which sources its replacements from online sources, and then run SFC to see if it still finds errors.

So ....

  • 1st SFC /scannow ..... reports corruptions found and fixed
  • 2nd SFC /scannow .... checks to see whether corruptions still present
    • If none present you're finished
    • If some are still present ...
      • DISM /Online /Cleanup-Image /RestoreHealth
      • SFC /scannow

Maximum 3 SFC runs ever needed.
I always run a dism /online /cleanup-image /checkhealth before I run sfc or any other flavour of the dism command. It takes literally 10 seconds to run but it does confirm that the compoent store is good, and you really need to know that IMO before doing anything else.

If I'm running dism because I think there might be component store issues, then after the checkhealtb I would normally run a scanhealth, to make sure that the component store is repairable.

Whilst I agree that 99 times out of 100 just running a restorehealth will work, you're assuming when you do that, that a) the component store was corrupted to begin with, and b) that if it is corrupted, that it can be repaired. IMO if you're digging around at this level it's not wise to assume, it's far safer to be sure.
 
In this case, I'm running restore health because SFC has failed, so I'm trying to get DISM to repair what SFC failed to do.

If I was just running a preventive maintenance check, then I agree checkhealth is a good deal quicker.
 
If I'm running dism because I think there might be component store issues, then after the checkhealtb I would normally run a scanhealth, to make sure that the component store is repairable.
/CheckHealth simply checks if a few corruption flags have been set on the COMPONENTS hive, whereas, /RestoreHealth will do the same as /ScanHealth but also repair any corruptions it finds if possible, so in my opinion, there really isn't any reason to run /ScanHealth.

Even if DISM reports the component store as irreparable, that doesn't strictly mean that it isn't, it just indicates that DISM is unable to repair it itself.

What's the point in running SFC /scannow multiple times ?
I believe that mythos comes from the duplicate ownership warnings you sometimes see in the CBS log. SFC will sometimes resolve those warnings for you if you run it multiple times.
 

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top