Debloating Windows 10 with one command and no internet scripts
gabrielsieben.tech
gabrielsieben.tech
I deal with many OT/ICS vendors and they would all refuse to support their app on a Windows system modified in this manner. I think such an article should mention the -WhatIf option, so you get an idea of all the important things about to be removed.
Get-AppxPackage | Remove-AppPackage -WhatIf
On my systems that includes VCLibs, .Net frameworks. I would not do this.Edit: There was a long paragraph here, but I've decided to simplify. The AppX .NET Framework, AppX .NET Native, and VCLibs are all UWP support packages and Win32-inside-Microsoft-Store support packages. If you run this script, fully knowing that the Microsoft Store is being removed, you won't have any packages that need them, and their loss is almost certainly irrelevant.
So I get your point, but it also sounds awfully optimistic... ;)
(I see you got downvoted, but it wasn't me.)
You aren't presenting it as something everyone should do to clean up their relatives crufty loaded up pc's while visiting for holidays.
It is what it is and it's quite cool and useful for what it's useful for.
For those who think "oh I can do this on windows 11 too", This has a high risk of blowing away your shell too, which is distributed now as an AppX, also Defender and its update runtime which are distributed via AppX/Store so you're risking destroying your whole machine.
From the winds of change that I've been hearing: Most of the OS is going to be distributed via AppX packages, which means that pretty quickly, doing this will leave you limping and hurt.
I'd be interested in hearing what the issue on Windows 10 is, especially considering how it compares to Windows 10 LTSC which seems quite similar.
Edit: As for "That's hilariously stupid," I updated the article for my thoughts on that. Considering this is going to be used on a computer that cost me $150, has storage on a separate NAS, for a machine that could cause safety issues and a lot of money in wasted material if literally anything goes wrong (CNC router), running software that runs only on Windows and requires precise USB timing (no VM or Wine from Linux), I think it would be more stupid to not de-bloat for all the failure methods Windows has added. The last thing I need is Windows Game Bar (normally not removable) popping up over the CNC Control Window and blocking the Emergency Stop button. [If you think this sounds horrifying, brand new CNCs have software that still runs great on Windows XP, it's called Mach3 and it's arcane. Some features literally refuse to run on any 64-bit version of Windows and require a Parallel port, that kind of thing. This software is still sold in 2022 and still required for many machines.] For me, Windows bloat is actually a potential, even if unlikely, safety issue.
Stupid ideas sometimes become a lot less stupid when in context.
Edit 2: "Most of the OS is going to be distributed via AppX packages, which means that pretty quickly, doing this will leave you limping and hurt."
This is just my personal experience, but I had a Windows 10 computer (a desktop, no power issues here) brick itself from a botched Windows Update. Neither System Restore nor Windows Recovery could bring it back to life from the unstable mess it crashed in. The install was less than 2 years old. I've seen family laptops with unbelievable bugs which make me scratch my head and wonder how Windows got that messed up, even without installing new apps. My brother literally only uses the Microsoft Store, yet somehow managed to lose all thumbnails on files, and the Start button logo on the taskbar [nothing but an empty space where it should be]. I'm at the point where blindly trusting Microsoft updates feels "hilariously stupid" for anything that requires stability as well... which is an awkward position. Darned if you do, darned if you don't. (For the record I do install updates, but I hold my breath on whether they'll work... and make backups.)
You mean the extremely dumbed down Windows 11 shell with huge everything? Good riddance. I'd like a command to run on my VM to get rid of this atrocity specifically, actually.
There are quite a lot of important dev-friendly programs that can be easily installed through the store such as Windows Terminal, Powershell 7, WSL, and WinGet. Indeed, most of those can only be installed through the store (or equivalent APPX powershell commands).
Even notepad and friends now auto-update through the store.
WinGet is the new Windows Package Manager, and it is basically just apt-get or pacman for Windows. It is an APPX bundle that you can get through the store. You definitely want it.
Leave the darn store on. If you don't trust Microsoft, then don't use Windows.
A lot of people go the other direction and want to restrict to only use the store for downloads. It gives you the added security peace of mind that you would get on a phone, and for Windows-on-ARM it may be your only realistic option.
Having legacy apps doesn't mean you trust MS.
I did say that the equivalent Add-AppxPackage command could install these without the store, if you really wanted to.
The program called App Installer that allows easy installation of bundles is itself primarily available via... the store.
The point of this blog post was to remove everything from Windows that is not simply using the base Win32 API. Windows Terminal uses XAML and is a modern application that is using the new WinUI, and staying current with the most up to date versions of it will be difficult without... the store. Or WinGet. WinGet will be using the store as the source.
If you manually installed msixbundle files from github, then you are still downloading something from a Microsoft-owned server, but just inconveniently.
If you don't trust what I'm saying then post the link to this non-msixbundle standalone installer, and prove to others that you are correct.
you said: "Indeed, most of those can only be installed through the store"
I said: "There is no need for the store at all, and the dev-friendly programs you mention can all be installed without it."
My claim remains true and correct. You're shifting the goalposts by saying the apps would not install if the command in the post was run, when originally the claim was only that they can only be installed via the store.
You don't need store, and it is not your friend. Its terrible.
I'd like to, but cannot because I need Adobe for work. Linux is unfortunatelly not an option.
Nowadays I treat Windows as I would a force of nature -- There's no negotiating or changing it, I just let it roll in and do whatever it's going to do.
Unless you are a gamer or you strictly work with Windows only software, there are plenty of alternatives. And just to be clear, nowadays you might not find everything for Linux or BSD, but there are quite a lot of perfectly fine MacOS alternatives for most Win tools.
My anecdotal experience is the opposite, after ~20 years of de-bloating and customizing Windows. The updates seem to just reset the de-bloating, rather than breaking things.
However, I say part of the problem is that windows updates are pushed out in a big blob instead the update being pushed in a more granular fashion. This ends up in with sometimes an update containing files or setting for something you removed.
There is no reason it has be like this, but that is how updates work on windows, and I don't think Microsoft is going to change that any time soon. I am imagine in theory it would be possible for a community to break down each update into smaller discrete chunks. However, the community would have to be a decent size and dedicated enough to keep up with the rate MS rolls out updates.
Also there some things like Edge and Cortana that current day windows is not very happy with if you nuke it from the system.
[1]: https://www.thewindowsclub.com/what-is-enablement-package-in...
I mainly run Linux these days, and older versions of macOS on the desktop.
But I was an early adopter of Windows (v2.01 in the late 1980s) and it was the backbone of my early career: the first ~25 years.
For me, the version that drove me away was Windows XP, and I find it amusing that now people look back on XP as a classic lightweight version, when its bloat is what drove me to Linux on the desktop, and spending as little as possible on cheap old Apple kit and judicious upgrades to run the then-new Mac OS X.
XP had themes. That's bloat. But they're easy to turn off; reset to the Classic theme, disable the theming service. Getting rid of other bloat, such as Movie Maker, the "files and settings transfer wizard" or whatever it was called, of IE and Outlook Express, of Media Player etc., was harder. In the end, I used NLite and built a custom install CD.
Win7's bloat is harder still.
Win8 was little _but_ bloat.
Win10 is... barely acceptable but it's getting easier to turn all the junk off now. I rarely use it but at least I can uninstall all the Metro/Modern/Store crap, and use Ninite to install a selection of conventional Win32 FOSS apps to replace the MS touchscreen-oriented junk.
Having read this post, I will be bolder, bin the Store and all the .NET stuff too. I don't want PowerShell, any version. I don't want .NET apps or a fancy terminal. I don't want VS Code or any of that. If I have to use this mess of an OS, I want it lean and cut down to basic simple apps, preferably FOSS, with as few runtimes as possible.
Win11 is, for me, mostly unusable. There's almost nothing left but bloat now. The taskbar is unusable, no longer able to be placed vertically, where it belongs on a widescreen. The Start menu is a sad crippled thing built by graphic designers who didn't know how to use the original one.
Explorer Patcher helps, but it can only do so much. Disabling Teams, widgets, all that junk, and every Modern app, leaves something that is just about functional, but uglier than ever, and less friendly and less convenient than ever before.
I'm not a gamer, so I don't care about games performance. I'm not a developer so I don't care about that, either.
So, yes, go for it, remove absolutely everything you can, disable hibernation, disable Fast Boot, remove all the Modern junk, cut that OS back hard, delete every temp file in every folder, turn off System Restore, turn off all the chrome, and then you can leave a smaller C drive and have a parallel install of a slightly leaner meaner OS that doesn't waste CPU and GPU cycles on shiny.
That means no GNOME, no Cinnamon, no KDE, no Budgie. No Snaps, no Flatpaks, and I'm increasingly leaning towards no systemd either. Xfce or LXDE and native packages of native apps.
It's a sad day that this seems to be the case, but Java apps look small and fast compared to modern abominations such as Electron.
I'm assuming you've measured this can you provide stats I'd be curious which components of Windows 11 is causing this. I'm assuming you've downgraded to Windows 10 on this machine with the exact software versions loaded to determine this?
Causation and correlation are 2 separate things so I would caution you from making sweeping statements.
This is like 50% of answers on HN now, reread my comment, I didn't say Win 11 was slower because of my experience, I said that for me in my 2 laptops the newer one with windows 11 was slower, didn't make any conclusions out of it.
About the bloat and telemetry read the comment I was replying to, they said they just accept it as a force of nature, I said why accept it when you pay for it already, that's like having ads on a smart tv.
Now your problem is that you're so quick to try and prove other people's logic as wrong that you add imaginary statements to it so you can disprove them.
As with any computer, it’s more than likely your OEM’s driver quality & amount that dictates these. Especially on laptops where OEMs just stop supporting random driver interfaces and you end up using the same “customized” audio driver for 4 years.
1: Fast Startup — aka hibernated kernel — disabled. It’s supposed to be slower with it off but it made no difference. (And I always prefer it off on modern hardware)
2: After you close whatever extra programs you opened, i.e.: the time it takes Windows itself to shutdown.
It's still pretty fast, but 20 seconds seems like a lot when you are used to 5. I usually just let the computer hibernate, but interestingly, that usually takes a lot more time than a cold boot. Probably because I usually have a ton of stuff open and using memory.
Then again I seem to have had less luck than most, with all kinds of bugs from keyboard layouts to USB ports. And even a period where an updated, freshly installed Windows 10 would not even boot on my machine.
This argument is more along the lines of paying protection racket enforcers.
Same goes for my work computer. Only Linux is allowed to touch my hardware directly, whenever. If I need to test something in a Windows environment, I pop a VM open.
It's actually amazing how great VMs have gotten lately. Even on my work PC's modest hardware (i5 10400, 12 GB RAM, GT 710), I can pass the GT 710 through for native graphics performance, and the VM feels like it's running on hardware.
Remember, when using Windows, always wear protection!
It does remove the Microsoft Store and WSL with it which is important to me. Maybe a safer strategy is to look through that list and remove specifically the ones that are annoying
(I'm a BASH loving freak and haven't spent any time learning WinPS.)
If service A is always trying to use service B, but you removed service B, you can have annoying problems caused by service A hanging and timing out behind the scenes or presenting buttons that don't work etc.
One way to avoid that is never remove anything, but another way is to remove both A and B.
One way to get both A and B without knowing what they are, is get everything.
And this particular method, using an actually fairly managed and graceful command (managed/graceful meaning not just removing files and editing the registry, but only running a user-facing command and interface) is like an automatic filter to include only things that don't actually break the OS.
They’re not suggesting deleting individual files or mucking with the registry, they’re talking about using a clean, user-facing tool just in a more surgical and thoughtful manner.
For who says that this will break the system: it will not, provided that you only need to run win32 applications (as it's almost the case). It's basically the same thing that Windows 10 LTSC (or now Windows 10 IoT I think it was renamed) does, that is not have any appx package installed beside Edge and few system packages.
You of course loose a couple of utilities, such as the calculator (but you can simply do calculations in powershell, python or whatever), the image viewer (you can view images in Paint) and audio/video player (just install VLC or open them with a browser).
If you need the store you can reinstall it afterwards, and then use the store to reinstall any software you need, that is faster than manually removing all the bloatware that is installed (like Candy Crush and stupid stuff that shouldn't even be there in the first place!)
This is, technically speaking, only if you run the script from Windows 11. Windows 10 still has Paint, WordPad, Windows Media Player, Remote Desktop, and some others as unpackaged system components that aren't in the Store. So, if you are still on 10, you won't have that issue.
Have you tried running Linux for these use cases? This sort of thing is an area Linux excels, in my experience.
When you run Windows, you're in for the whole kit and caboodle. Most of the components are proprietary, closed-source black boxes. You can only poke and prod and test and hope things don't break in unexpected ways.
Conversely, Linux can be easy stripped down to a bare bones kernel and a single statically-linked binary. I can run a useful application on top of Linux with the whole system weighing in smaller than bootmgfw.efi.
Something more complex, but still custom, is easily crafted with Buildroot.
https://www.oo-software.com/en/ooappbuster
EDIT: While you're there, check their other freeware - O&O Shut Up10++ (i.e. also works for Windows 11) I've been using it for years, with zero problems (other than Windows resetting some policies after a major upgrade).
My current Windows 11 (latest version) was upgraded since the first released version of Windows 10 (2015). It survived two CPU changes, one MB change and it's still working fine. Pretty amazed by that.
"Windows PE is not a general-purpose operating system. It may not be used for any purpose other than deployment and recovery. It should not be used as a thin client or an embedded operating system. There are other Microsoft products, such as Windows Embedded CE, which may be used for these purposes.
To prevent its use as a production operating system, Windows PE automatically stops running the shell and restarts after 72 hours of continuous use. This period is not configurable."
https://docs.microsoft.com/en-us/windows-hardware/manufactur...
Not that I'm comfortable with it either way.
TOS cannot supersede the laws of countries themselves.
You can prove this by when you try to uninstall it look at the size.
This can be considered clutter on your screen but it's not causing any performance degradation.
Everyone bitched that Old Microsoft took too long to roll out new technologies and major versions, because it QA'd the shit out of them, so New Microsoft retooled itself to ship faster.
As a consequence, all the bad parts of Microsoft also got the ability to pull request whatever tacky KPI-booster-du-jour was on their pet project list.
If MS gave a damn about this, they'd just make a core-only Windows set of packages available at install-time via flags. Because they know perfectly well what's 1st/3rd-party crapware and what's core-Windows.
I have not seen this. Was this just a windows install or some OEM install?
citation: I installed it 3 weeks ago
The apps.
I wonder if it depends on the image.
This can be proven by when you go into uninstall it look at the space used. It will be tiny.
Part of the reason those shortcuts are there are on consumer editions because a) lots of people have no clue how to do anything and need a helping hand b) the vendors pay to have that installed as marketing, which helps lower the cost of the windows license
Personally I don’t even look at the whole mess of a start menu when I’m in Windows.
The most likely reason is a stripped down version of periphal support, no new feature releases etc. It's more of set and forget installations rather than a daily driver.
I have spent a lot of time on three platforms, including multiple Linux desktop managers, but have not seen anything better than the window management in Windows 11. (I am aware that this article talks about Windows 10)
2 reasons - a lot of endusers appreciate it surprisingly, and some of those bloat of preinstalled applications subsidizes the cost to make it cheaper to purchase.
Then they wouldn't want to disable it; what harm is there in offering the choice?
But you can disable and remove it - manually. These scripts do it automatically for you as a convenience but the ability is there.
In enterprise versions of Windows, there's tighter control and less "features"/bloatware installed by default, and you can use GPOs and other settings to deal with it very easily. This of course comes at a cost that most endusers don't want to pay.
Feel free to purchase the non home versions of Windows and you will find there _is_ a choice.
Right now I'm using Windows 10 Ameliorated[1] in VMs, which is much more lightweight than the official builds. I haven't done any deep inspections to see if itself introduces some spyware, but it works fine for my purposes. Has anyone done any research into this build and know if it can be trusted?
I have, in that you can build your own version using their instructions and scripts, and I have read the scripts thoroughly. There is a binary blob at the end of one of them which gets decoded and installed, but you can strip it out easily enough. As well there are a few downloads that it pulls and installs -- also easy to comment that out and affects very little. They like to mess with the GUI and that is a matter of taste (they make the new settings panel inoperable so I remove that part from the script).
I have also checked network traffic on an edge device to see what an AME install sends out. It is fine.
Bonus: Use these cmdlets on a offline mounted WIM image to build a custom image without bloats.
;-)
Part of my idea of happiness on a Windows box is to look at the list of optional features and see only unticked boxes.
Windows 10 is the last version of windows I'm willing to tolerate.
But saying that, I don't actually use it any more, and these days, I'm finding even Linux distros uncomfortably bloated, and I'm looking for lighter ones... and trying to work out if FreeBSD would be a usable desktop OS.
> Get-AppxPackage | Remove-AppxPackage
I figured it was this one. Note that this will remove Windows Store apps, including Edge (Chromium) plugins, which may not be what you want. So, it's safe to run on a fresh install to get rid of the preinstalled bloatware, but don't run it blindly on any system.Sure, if your goal is to save a bit of disk space, this will help; but I suspect when most people think about "bloat" they think of things that slow down their computer (things that actively consume memory / cpu / network).
In my experience, that bloat is mostly services and scheduled tasks. I started collecting scripts / documentation on debloating with a primary focus on restoring privacy here: https://github.com/TemporalAgent7/awesome-windows-privacy (it's not very maintained but maybe someone finds something useful there)
By pre-installing "features" and setting defaults in ways that benefit the company, the "tech" company can effectively remove, hide and/or discourage user choice.
What is the size reduction in Windows after using the method described here.
Wouldn't there be many drivers still (pre-)installed that the user's single application or Edge would never need.
This is great, if M$ is going to still be a defacto monopoly in the business world we need an OS that does what you tell it to, and nothing more.
linux /@/boot/vmlinuz-x.x.x-x-generic root=UUID=x-x-x-x-x ro rootflags=subvol=@ quiet splash
initrd /@/boot/initrd.img-x.x.x-x-genericIt was hard for me to weigh the pros and cons based on the article. Some questions that you might want to answer in the blog post to make it more useful:
- Will it make my computer noticeably faster? Or just the Windows startup? Or reduce the memory consumption? Or just simplify the UI? ("bloat" is not well defined) - How much disk space can I expect to get back? - How do I know if it will remove something that I find useful? - If I run the command, how can I revert it later? How can I install a package back?
Ultimately, I don't know what apps you need or use or what features you need - so, trying it on an old computer, or in a VM, will best answer your question.
Get-AppxPackage *alarm* | Remove-AppPackage
Get-AppxPackage *help* | Remove-AppPackage
Get-AppxPackage *xbox* | Remove-AppPackage
Get-AppxPackage *zune* | Remove-AppPackage
Get-AppxPackage *phone* | Remove-AppPackage
...
etcThough, to be fair, I did write originally "After running the command, you will just have the Windows folders, Microsoft Edge, and Settings. And that’s literally it – no Microsoft Store, no Apps, just Windows and a Web Browser." (WSL2 obviously included if you think about it...)
It's not "obviously" included. WSL doesn't have any particular reason to need the store, and there used to be a version that didn't need the store. I don't know why you would expect people to know exactly what happens.
It's not like all the other random console commands get removed.
This is documented in numerous blogs and on the microsoft documentation website.
Having said that, I still haven't found any good incentive to use WSL over say, a Linux VM. It is not like the integration is so much better done, I'd rather hide the terrible windows UI and use an X11 or wayland window manager in full screen.
I want no part of the store, have disabled it, and have been able to install everything I want without it, even Windows Terminal and WSL.
I'm not sure why I would ever allow it on my machine.
Atlas users can enjoy:
- higher framerate
- lowered input delay & latency
Great for people on a low-end system or high-end gaming machine.
Its for gaming but it has all the 'bullshit' cut out and/or disabled.Details here: https://atlasos.net/
Regards.
You can confirm this by looking at the size of the application when you goto uninstall it.
Someone correct me but I believe it is the newish WinRT apps that have been rewritten for the metro era that MS chose to install this way. There a few windows "features" worth removing or adding that equire a diffrent cmdlet in powershell.
Nor do they understand what this does. It's turned into internet folklore by people "just run this and good stuff happens, i don't know exactly what but trust me"
For this reason, I have put every disclaimer and warning that I reasonably can, and defined the use-case clearly (a few apps where anything else is bloat). "Try it on a fresh install, on a VM or old PC, first." And, in a recent update to the post, a script by Microsoft for undoing it if necessary. If people don't listen, that's not my issue if I warned them as clearly as I could.
Splitting hairs perhaps, but a lot of people don't/won't understand the difference - or why you did this.
Most non home users use Windows Enterprise and GPOs to achieve these results, where things are more fine tuned and can be reversed as needed.
Perhaps, but the main feature was that it was a debloat without requiring an internet script. There are plenty of scripts and tools out there for de-bloating, but nothing so quick for a stock install that might not even have internet.
> and can be reversed as needed
I have added a Microsoft-written script in an update to the article which reinstalls all stock AppX packages.
One user's bloat is another user's core feature!
Interpretation: A bug causing the CPU to overheat when spacebar was pressed was removed, and of course, one user leveraged this as a feature.
That version grants basically the same experience as the linked article, but out-of-the-box, and nothing is broken.
If you don't mind breaking the terms of the license and/or possibly the law it's trivial to obtain: https://www.microsoft.com/en-us/evalcenter/evaluate-windows-... and you just need to reinstall every 90 days when the evaluation period runs out.
1. Some apps were removed while some weren't 2. Some apps returned after updates.
Now given up on windows.
Microsoft has put some bloat in Appx packages, but this is definitely throwing the baby out with the bathwater, you're essentially nuking stuff based on its installation method rather than anything meaningful.
But, sure, go right ahead remove .Net Native Runtime, VCLIbs, the ability to login to guest WiFi, and Parental Controls at minimum. Who needs THAT stuff? Then just go ahead and start changing random things in gpedit because a blog told you to.
Honestly, my biggest pet-peeve with these debloating things (articles, scripts, tools) is that they never explain WHY for each thing. That is seemingly because the people building these things just copy/pasted someone else's without really understanding the original WHY of it. Multiple of them make Windows objectively less secure.
Maybe someone should build a debloater that describes exactly what [thing] is and if you want [thing]. Then also confirm that removing or disabling [thing] won't cause Windows Update to get into an install/rollback/install death spiral.
Hello, author here.
I don't understand this criticism, because I specified in the article exactly why I was using this command, for this use case. I am setting up a computer specifically for CAD and CAM software, and it serves no other purpose - all I want it to do is run my industrial applications, and that's it, anything else is bloat to me. I don't advise everyone use it for every computer, but rather that it works for me very well when setting up PCs for industrial settings.
As for the VCLibs, and .NET Native, they can be reinstalled afterwards from an Appx package, so if it ever became an issue, it's easier for me to nuke and add back, but that's just my opinion. Both, however, are libraries for running applications, not security updates, which are left intact by this method as this does not remove or affect Windows Defender or Windows Update. Therefore, if my CAD software doesn't need VCLibs or .NET Native to function, I don't have any loss in security - just in the number of apps I can run.
> Multiple of them make Windows objectively less secure.
I wrote this article because it does not mess with Windows Update, or run any random de-bloating scripts from the internet. For many people, not running a random internet script for de-bloating is a desirable attribute, and I don't see how this would make a PC less secure.
We know the reason you removed it is that it is not related to CAD and CAM software. However, if we don't know the details about what that software IS (not just what it IS NOT) then as soon as we want to do something other than CAD/CAM we cannot be sure if the bloat is OK to delete.
It actually made me wonder if these posts are social engineering on the part of hackers to get people to unwittingly introduce vulnerabilities
I'm perfectly fine with removing those things and many others from my computer.
That said, it's community driven so I have no idea how technically correct it is. But it is a good attempt at a "debloating" tool that informs the user of the consequences of what they're doing.
[1] https://forum.xda-developers.com/t/windows-tool-fire-toolbox...
There has to be a way for users to take control of their PCs back from Microsoft, short of installing Linux. Try to make positive suggestions of your own in addition to calling out the pitfalls of other people's suggestions.
I'd be daft enough to do it, however, there is a bit of resentment at how everyone is happy to throw someone under the bus, as long as it isn't them.