Skip to content

A comprehensive guide on debloating, optimizing and maintaining a Enterprise N LTSC Windows 10 System.

Notifications You must be signed in to change notification settings

gzachariadis/Windows-10

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

made-with-powershell CommandPrompt Windows 10 Badge

GitHub last commit (branch) GitHub Maintained

GitHub (Pre-)Release Date GitHub commits since latest release (by SemVer including pre-releases) GitHub repo size



Windows 10 Enterprise N LTSC

A Comprehensive Configuration Guide for a Bloat-free and Responsive Windows Installation 🚀

Based on Build - 17763.107


Project Introduction

This repository is a virtual public storage space for everything I have managed to track down and use over the years, in my effort of creating, optimizing and maintaining Windows Systems. I run Windows for three major reasons; Office products, non-Linux compatible software and hardware configurations.

As you scroll down, keep in mind that, this is NOT meant to be a universal build and you shoudn't attempt to copy the configurations verbatim and except it to serve your own personalized needs, both in terms of hardware support and operating system use; Please consider yourself advised.

Project Structure

  • Part 1 Pre-Install

  • Part 2 Post-Install


Let's start with Part 1. During this, you will learn to create and configure your installation media in the form of an ISO, removing components, integrating language packs, confuring Windows Settings and more; Depending on your preferences and expertise, there's a chance you will have to do this once, yeahhhhhhhhhh, possibly, but once you have created your installation media, you can go crazy with installing your proudly created final product to as many computers as you like for as long as your heart desires.

Moving on to Part 2; Post Install. Having reached that point, you bound to have a live-system. This part is all about what to do on a fresh system, what scripts to run, how to configure your settings. There's even suggestion for what software to install.

Who is this for?

My main goal is to make things as simple as possible, you don't have to be a computer wizard to follow a few simple commands and menu choices, give that, this is not a literal step by step guide, I trust you to read between the lines and do some basic things on your own. Good luck!

Why did you choose LTSC?

  • Support for so-called "Home" Versions will stop at 2025. Compared to LTSC channel which is expected to stop at 2028. Given that, at this current state Windows 11 isn't nearly stable enough and more and more cloud computing and Artificial Intelligence components will make their way into my systems, I'll gladly take the delay.

  • Compared to most versions, LTSC is a barebones build that doesn't include nearly as much "bloatware" or "features" as commercial versions generally do, giving me the option to have a stable system with fewer and fewer components.

  • Windows isn't my main Operating System, most of my work is done either on Mac or Linux, the only reason to keep Windows around is literally some exclusive software, and configuring my hardware.

  • Given my previous point, my configuration must include the minimal amount of maintenance and lowest chance of things breaking on me. An Operating System that by default only takes security updates like LTSC just suits my needs better than another options.


System Requirements Checklist

Windows Core Features

Windows Updates

  • Windows Updates - Manual

Microsoft Activation

  • Windows Activation using MAS

Keyboard Layouts

  • Greek (Language Pack)

Hardware

  • Microphone
  • Camera
  • Streamdeck
  • Wi-Fi Support
  • Bluetooth

Application Support

Installers

  • MSI Installers
  • EXE Installers

Package Managers

  • Winget
  • Scoop

Programs & Features

Applications

  • Komorebi
  • Autohotkey
  • Flow Launcher

Part 1 (Pre-Install)

Prerequisites

The first thing you will need to do, is to download an official ISO from Microsoft. Do that now by using this link or this link, or if you prefer going and fetching one for yourself another way.

Secondly, you will need MSMG Toolkit and NTLite.

What the heck are those?! Let me explain, NTLite is a tool you will have to pay, to take full advantage of; There's a free version, never used it so I don't know what features, it's really missing...it provides the tooling for configuring parts of your Windows installation, things like removing components (apps), configuring your user settings and even unattended automatic installation, so that you won't have to do anything other than boot into it. Given that MSMG, probably can do the same exact things NTLite can minus the clickable interface, you can probably save yourself the money, but you won't find how-to guide on that here.

MSMG

MSMG Toolkit is a tool that helps with reducing Windows footprint by removing unwanted components of your choice and simplify your installation time and free up drive space. Apart from that, it has other capabillities like integrating drivers, customizing windows, but since I use NTLite for most of that by taking advantage of Presets, you won't find these here.

Loading the ISO

  • Open the ISO you downloaded from Windows and place the files into the DVD folder.
  • Execute the Start toolkit by using Administrator rights.
  • Select Source then type 1 for 'Select Source from folder.
  • Choose the version of Windows you like. (LTSC Enterprise N for me)
  • Press 'y' multiple times repeatedly until you accept all the prompts.
  • Wait for it to fully load the files...

Removal Process

  • Type '3' to select Remove Menu.
  • Type '1' to select Remove Windows Components.
  • Type 'C' to select Compatibillity Menu.
  • Type 'A` to remove all compatibillity checks, then select your system requirements.
  • Type 'X' to go back...
  • Type '1' to select Remove Windows components

Compatibillity Configuration


After you done configuring, press '2' to Start the Removal process.

Why is Search missing?!

This configuration removes Shell Search from Windows, so the Start Menu is not included in the final Operating System. As you can guess, this causes a few minor problems...First and foremost, pressing the Windows key, will cause an error that will force Windows into a user-sign out action. Switching keyboard layouts does the same thing, since it registers the Windows key, maybe, this is just a guess; Anyway, you can fix that by heading over here and fetching a registry file which disables the Windows key.
Additionally, you can solve this issue by taking this registry file and inserting it using NTLite or MSMG into your ISO, therefore when you install the Operating System, it will be there, by default.
But what about an alternative search?! Well, there's lots out there. Take your pick. Personally, I opt for Open-Shell, but you can give StartisBack a shot, possibillities are endless.

What to do with the Start button?

My suggestion? Hide it, using Windows Tweaker or 7+ Taskbard Tweaker, both do an excellent job of that.

NTLite

Components

Drivers
  • Imaging Devices
  • SD Host Adapters
  • Xbox Peripherals
Hardware Support
  • Still Image Class Installer
  • Gaming Peripherals (Xbox GIP)
Localization
  • Language (All)
  • Keyboard Layouts - Greek
Multimedia
  • MPEG-2 Splitter?
  • DirectX WARP JIT Service?
Network
  • Adobe Flash for Internet Explorer
Remoting and Privacy
System
  • Volume Shadow Copy
Windows Apps

Settings

Services

Extra Services

Drivers

Registry

Unattended

Post-Setup

Fonts

I use Nerd Fonts.

PowerShell.exe -ExecutionPolicy Bypass -File .\install.ps1

Drivers

This is my current working drivers that I have no problem with, as of the latest release.

  • NVIDIA Driver -

  • WiFi & Bluetooth Driver -

Registry Tweaks

I have compiled a series of registry tweaks from various sources over the years, as well as created a few of my own in my attempt to optimize my user experience. You can find a comphensive detailed list of those [here.] In order to use them, go ahead and download the repository from the [Releases]() and after extracting the files, navigate to Pre-Install > Registry-Files and execute in a live-system or copy-paste the ones you like from each category into a seperate folder, and import them into NTLite.
The tweaks are categorized under Categories and named after their purpose.
Each registry tweak follows the following file formula.
Windows Registry Editor Version 5.00

; [File_Name AKA What the Registry Tweak does]
; Created by [Author Name] on [File Creation Date] 
; Modified on [Last Modification Date]
; Categorized under [Folder Name AKA Category of Registry Tweak]

; Description of the Setting it changes, what exactly is this feature etc. etc.

; Sources 

; [Link 1 - Bibliography] 
; [Link 2 - Bibliography]

; <------ Registry Edit ------>

Contents of the File.
Before! you use any tweak(s) ensure you read these comment(s) inside the .reg (labeled with semicolon) to see what it really changes.
I have tried my best to do exensive reseach on each tweak, but that doesn't mean that subtitutes your own judgment and liabillity.
Please backup your registry before any changes or use a Virtual-Machine or a spare computer. I am not liable for any problems that arise from executing these.
The tweaks contain Sources that have useful information around each individual tweak. Please do open those and do your own research before applying changes to your system.
After you have applied the settings using the registry files, I suggest you go into your registry and verify the changes yourself and/or test the functionallity it promises.
The Sources, where I gathered the plethora of registry tweaks that can be found under this repository, are at the bottom of this file.

System Services

This is a list of services which Microsoft has allowed me to disable succesfully as of this latest release, if a service is not on this list then I am unsure of the impacts it may have on your desktop experience. Be mindful, that I use Wireless connection for my Gaming System, so if you using a wired connection your configuration will vary.
Here's a NTLite Preset that matches this configuration.

First Boot Scripts

If you ever looked at custom versions of Windows, you might be familiar with something described as playbooking, a series of rules and scripts running on your system to provide the same experience every time, I have done something similar here, by adding a batch of scripts into a folder and have them on the first boot of each new system. Just run the run_all_scripts.bat and you good to go.
A detailed catalog of all the scripts running is to be found here.
Customize your execution catalog, by deleting scripts you don't want to run from the file structure.

Part 2

Windows Live System


Having reached this far, you should now have a Live System. From now on, this repository is geared towards keeping this live setup as bloat-free and as consistently performant as possible over the long haul. Keep in mind, that my advice is for you to reinstall a new Windows every 3 to 6 months and re-do this whole thing, there are many automated ways to save your configuration and re-apply them, and having a second hard drive which you considently keep your important files should make this easier for you.

Microsoft WIndows Activation

MAS Activation Scripts provides a way to activate Windows products (including Office) by using an automated toolkit, like the one below.

Optimal Drivers Setup


These two might differ depending on your hardware.

Windows Updates

In terms of Windows Updates, when I happen to install a new system or want to manually update my system, my favorite option is this executable by Slavanap. This is a fantastic small tool that allows for manually selecting which updates to install and takes care of the installation for me.

Windows Update Policy

I set my police to Security Settings ONLY! this delays feature updates by 2 years and will install security updates 4 days after release. I use Win Util by Chris Titus to set those policies automatically.

Debloating & Optimizing

Keep in mind that the previously mentioned tools, are able to help you optimize and debloat your Operating System, but first there's a list of features that any Windows ISO doesn't allow to be removed before a live system. Once you have a live system, go ahead and unistall them by navigating to them.
Additionally, you should run the following [executable by ShadowWhisperer](https://github.com/ShadowWhisperer/Remove-MS-Edge/blob/main/Remove-EdgeOnly.exe?raw=true), this removed only the Edge browser, while leaving the Microsoft Edge WebView2 Runtime, which is essential for the Microsoft Store to function. In case you don't want the Windows Store, proceed as seen below.

Configuration

Optimizer-1


Optimizer-2

My preferred configuration can be found here.

My preferred configuration is [here.]

irm https://christitus.com/win | iex

Run with the following commands

Set-ExecutionPolicy Unrestricted -Force
.\Windows10DebloaterGUI.ps1

Downloadables Scripts

Tweaks

Winslap-Tweaks1


Winslap-Tweaks2

Appearance

Winslap-Appearance

Advanced

Winslap-Advanced

My custom Configuration can be found here.

Applications

Below, you will find a personalized, categorized index of software that I prefer to install on my Windows Systems, they are seperated by their "Purpose".
In some rare occasions, popular alternatives are proposed for you, if I feel they worth mentioning.
You can use the [Winget Client](https://github.com/microsoft/winget-cli) and [Winu by Chris Titus](https://github.com/ChrisTitusTech/winutil) to issue an automated mass install. Templates for the latter, can be found [here.]()
My preferences include almost exclusively Open-Source and/or community maintained software, in case no software of that sort serves my purpose, I opt for commerical or closed-source alternatives.

Package Managers

Chocolatey

Set-ExecutionPolicy AllSigned
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Scoop

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

Categories

System Security

As far as Antivirus software goes, I wouldn't trust any free-option out there, if you want to buy one, go with Sophos, that's just my personal preference, it has high capture rates and had most success with it, a mix of MalwareBytes and SimpleWall does it for me, as I don't use this system to browse a lot.

Social Media & Communication Tools

Hardware Controllers

E-Book Readers

Multimedia

Application Launchers

During my journey of optimizing Windows OS, I opted for not allowing Windows to categorize and index my Files, this caused Powertoys to stop functioning as a launcher. No crashes or anything, just stop indexing and finding things like Applications; Flow still works brilliantly and plugins are also a huge bonus.

Password Managers

Text-Expansion

Screenshots

Blue Light Protection

Application Virtualization

PDF Readers

Music Player

Equalizer

Software Development

File Manipulation

Clipboard Manager

File Managers

Image Viewer

Optical Character Recognition (OCR)

Activity Sharing

Time Tracking

Tiling Window Manager

A window manager is an application that manages open Windows. For Windows, I happen to use Komorebi; A free open-source project that mimics the functionallity of Yabai; My favorite MacOS Window Manager.

Browser

You can welcome, to check my lengthy guide on Browser configuration, by clicking the link here.

Maintenance

System Maintenance

Software Removal

Duplicate Removal

Cleaning Utillities

Scripts

  • clean_updates.cmd - Remove all installed outdated and no longer needed Microsoft Windows updates from WinSxS directory;

  • clean_wrea.cmd - remove all files and directories from $WinREAgent directory;

Bibliography

A lengthy catalog of resources, files, configurations, etc. etc. I have found useful and looked at as creating this.

Projects

Executables

Scripts

Tweak Collections

Services

Github Resources

NTLite Presets

Guides & Tutorials

Resources

Language Packs

Post-Install

Youtube & Reddit

"* [${TM_FILENAME_BASE}](${RELATIVE_FILEPATH/(.)[\\].+$/$1/}/${TM_FILENAME_BASE/[-_ ]/%20/g}.reg)", " Disable Screen Savers",