Yu, Jia-Wei

1 Deep-Debloating Windows 11

Windows 11 has long been my primary operating system. After several recent updates, it has started to feel increasingly bloated: mysterious processes often consume large amounts of CPU and memory, and Windows itself can use nearly 15 GB of RAM while completely idle. I have a mild obsession with keeping things clean, so I could no longer put up with Microsoft’s software bloat and began aggressively trimming down my system.

1.1 TL;DR

1.2 Remove, Remove, Remove

1.2.1 Remove Unneeded System Components

Some well-known tools:

Key things to do:

1.2.2 Remove All AI Features

As a user in mainland China, I consider every AI feature other than those in Windows Photos a regression. Even when Microsoft disables these components in the UI, their services and background processes may still run:

Tool: zoicware/RemoveWindowsAI

1.2.3 Remove Windows Defender

I removed Windows Defender. In my view, there is no need to install another antivirus app: these tools frequently scan the disk and intercept system operations, which costs performance. I kept Windows Firewall and the browser’s security filtering. Do not open suspicious files; look up their hashes in threat-intelligence databases. This can prevent most malware infections.

Tool: ionuttbara/windows-defender-remover

1.2.4 Remove Start Menu Experience (Optional)

The Windows 11 Start menu uses about 0.5% CPU and 60 MB of memory. It is a UWP app, essentially a small web frontend built on WebView. I find it unhelpful and full of ads, so I recommend removing it. Put app shortcuts on the desktop or search for apps when you need them.

Tools:

The Start menu is a system-protected UWP app. The 1Click-StartMenu script works by changing the executable’s owner to the Administrators group and replacing the original executable with an empty file. The Start Menu files are located roughly under C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\.

1.2.5 Remove Windows Search

Windows Search keeps improving, but I still find it difficult to use. It consumes a lot of memory and disk space to build its index, often uses a lot of CPU, and still provides a poor search experience. I mostly search by file name rather than file contents, so Everything is a perfect replacement for my use. Its only drawback is its dated-looking interface, though third-party themes are available.

Steps:

The UI components above (Start, CrossDeviceResume, and Search) are system-level UWP apps. Disabling their services does not stop their background processes; their executable files must be handled directly. Microsoft restores them after Windows updates, so skip this if you do not want the maintenance hassle.

Windows 11 appears to provide registry settings to disable SearchHost and CrossDeviceResume:

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v DisableSearch /t REG_DWORD /d 1 /f

taskkill /F /IM SearchHost.exe

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\CrossDeviceResume\Configuration" /v IsResumeAllowed /t REG_DWORD /d 0 /f

taskkill /F /IM CrossDeviceResume.exe

1.2.6 Replace Bloated Apps

1.2.7 Remove Unneeded Development Environments

Many languages are primarily developed on systems other than Windows, so their Windows development environments can be bloated and may pollute the system environment. I recommend moving some language and library toolchains to WSL. They are better isolated, quick to set up and remove, and incur almost no performance loss.

1.3 Change, Change, Change

1.3.1 Clean Up the Context Menu

First, switch the context menu from the Windows 11 style back to the Windows 10 style with ExplorerPatcher. The Windows 11 context menu is painfully slow, so I strongly recommend getting rid of it.

The Windows 10 context menu has its own problem: unwanted software often adds entries until it becomes cluttered. I recommend managing it with ContextMenuManager.

For entries left behind by stubborn software that ContextMenuManager cannot remove, ask an AI assistant to help write a .reg file.

1.3.2 Shell Environment

On Windows, I recommend using PowerShell 7 with Windows Terminal. Using CMD will make you unhappy.

I do not recommend GNU compatibility environments such as MSYS2. For common commands, use native Windows alternatives:

1.3.3 C++ Development Environment

For C++, I recommend only Build Tools for Visual Studio (MSVC). This is Visual Studio’s build toolchain and the native C++ toolchain for Windows. Download the installer and select only the components you need; a full installation takes around 2.5 GB.

MSVC also includes a shell environment with various development tools:

pwsh.exe  -NoExit  -ExecutionPolicy ByPass -Command & 'C:/Program Files/Microsoft Visual Studio/18/Common7/Tools/Launch-VsDevShell.ps1' -Arch amd64 -HostArch amd64

1.3.4 Calling the Win32 API

To be continued…

1.4 Results

Machine: Asus VivoBook 14, 32 GB RAM, 1 TB storage, Intel 258V CPU.

Under a heavy workload—with several Chrome tabs, VS Code, a WSL virtual machine (nearly 3 GB), and Obsidian running—the system uses around 13 GB of RAM. Performance on battery is still smooth, which makes me very happy.

When the system is idle, total memory use is around 5 GB. After checking manually, I could not find any remaining system processes that were easy to remove. Overall, I reached my goal.