# Windows 11 预装软件怎么安全地删

新买的 Windows 11 电脑里，大家说的“预装垃圾软件”其实是三种东西，一种是 Windows 自己带的应用，比如游戏、资讯和各种推广入口，一种是电脑厂商装进出厂镜像的工具和应用，还有一种是试用软件，比如杀毒软件、办公套件，到期以后开始要钱。处理办法是在设置 › 应用 › 已安装的应用里一个一个卸，设置卸不掉的应用包再用 PowerShell，Microsoft Store、应用安装程序、Windows 安全中心和各种应用框架都留着，很多人最后弄得电脑没法更新应用，就是因为用了一键删一大批的脚本。

## 预装软件分三类

| 类型 | 常见例子 | 怎么卸载 | 卸之前看什么 |
| --- | --- | --- | --- |
| Windows 自带应用 | 纸牌、Xbox 系列、Clipchamp、资讯、新版 Outlook | 从开始菜单或设置卸载，应用包也可以用 PowerShell | 自己用不用，有没有别的软件依赖它 |
| 电脑厂商工具 | 厂商的支持、更新和控制类应用 | 厂商自己的卸载程序 | 它是不是管着功能键、电池充电模式、驱动或固件更新 |
| 试用软件 | 杀毒软件试用版、办公套件试用版 | 在已安装的应用里运行厂商的卸载程序 | 有没有输入过授权，有没有在里面存过文件 |

Windows 自带的应用大多是由 Windows 管理的应用包，和商店应用一样，厂商工具和试用软件通常是传统的 EXE 或 MSI 程序，各有各的卸载程序，安装形式为什么决定了卸载方式，可以看 [Windows 安装版、应用包和便携版的区别](/zh/windows/blog/windows-app-installation-types)。

最要小心的是厂商工具，有些是某个硬件设置唯一的入口，比如电池充电上限或键盘功能键，有些负责给这台机型推送固件和驱动更新，卸之前先去厂商官网查一下自己这款机型的说明。

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-remove-bloatware-windows-11-zh-mobile.webp" type="image/webp" width="768" height="1180">
    <img src="/img/blog/windows-remove-bloatware-windows-11-zh.webp" width="1360" height="454" loading="lazy" alt="预装软件分三类">
  </picture>
  <figcaption>Windows 自带应用是按用户安装的应用包，厂商工具可能管着硬件功能，试用软件要用厂商自己的卸载程序。</figcaption>
</figure>

## 先从设置卸载

[微软的卸载说明](https://support.microsoft.com/en-us/windows/uninstall-or-remove-apps-and-programs-in-windows-4b55f974-2cc6-2d2b-d092-5905080eaf98)给了几条路，在开始 › 所有应用里右键应用选卸载，或者打开设置 › 应用 › 已安装的应用，点应用旁边的更多再选卸载，老式桌面程序在控制面板 › 程序 › 程序和功能里也能找到。同一页也说了，有些应用是 Windows 内置的，没法卸载，还有少数暂时不能从设置里卸，可以改用控制面板。

试用版杀毒软件要让它自己的卸载程序走完，要求重启就重启，安全软件常常会装驱动和服务，卸到一半中断，可能会留下一部分。Windows 自带的 Microsoft Defender 防病毒是系统的一部分，不是这样卸载的。

## 应用包用 PowerShell，分清按用户和预配

Windows 自带的应用存在两个地方，所以卸掉一个不一定就彻底没了：

- **为某个用户安装的**：[`Get-AppxPackage`](https://learn.microsoft.com/en-us/powershell/module/appx/get-appxpackage) 列出当前用户配置文件里装着的应用包，[`Remove-AppxPackage`](https://learn.microsoft.com/en-us/powershell/module/appx/remove-appxpackage) 把应用包从当前用户的账户里删掉，只处理自己的账户时都不需要管理员权限。
- **预配在 Windows 映像里的**：预配的应用包会装进这台电脑上新建的每个账户，[`Remove-AppxProvisionedPackage`](https://learn.microsoft.com/en-us/powershell/module/dism/remove-appxprovisionedpackage) 把它从映像里删掉，以后的新账户就不会再装，微软写明它不会从已有账户里删除。

所以只给自己卸掉一个应用，预配的那份还在电脑上，下次新建账户又会有它，只删预配的那份，自己账户里的应用也还在，两边都想去掉，就两步都做。

先列出来看，下面两条只读，`Solitaire` 只是举例：

```powershell
Get-AppxPackage -Name *Solitaire* | Select-Object Name, PackageFullName
Get-AppxProvisionedPackage -Online | Select-Object DisplayName, PackageName
```

确认之后，只为自己的账户删掉那一个：

```powershell
Get-AppxPackage -Name *Solitaire* | Remove-AppxPackage
```

交给 `Remove-AppxPackage` 之前，先确认通配符只匹配到想删的那个应用。删预配的那份要用管理员身份打开 PowerShell，并填上面列表里准确的 `PackageName`：

```powershell
Remove-AppxProvisionedPackage -Online -PackageName <PackageName>
```

`winget` 也能卸掉不是它装的应用，[微软的 winget uninstall 说明](https://learn.microsoft.com/en-us/windows/package-manager/winget/uninstall)提到 `winget list` 列出的不只是 winget 自己装的东西，`winget uninstall --id` 一次卸一个。卸掉的应用如果在 Microsoft Store 上架，以后还能从商店装回来。

## 哪些不要卸

- **Microsoft Store** 和它的购买组件，商店应用的更新、重装都靠它，应用安装程序也是。
- **应用安装程序（App Installer）**：[微软的 winget 介绍](https://learn.microsoft.com/en-us/windows/package-manager/winget/)写明 winget 是应用安装程序的一部分，由 Microsoft Store 分发和更新，卸了它，`winget` 也就没了。
- **Windows 安全中心**：Microsoft Defender、防火墙和设备安全设置都在这里。
- **框架和运行库**：`Get-AppxPackage` 默认会把 Framework 类型的包和应用一起列出来，VCLibs、.NET Native、WindowsAppRuntime 这类名字是给别的应用共用的，删掉一个，依赖它的应用就打不开了。
- **WebView2 和 Edge 组件**：很多桌面软件的界面是用 WebView2 画出来的，它和浏览器的区别见 [Edge 为什么在后台运行](/zh/windows/blog/edge-running-in-background)。
- **Xbox 登录组件**：如果玩的电脑游戏要用 Xbox 账户登录，就留着。

一次删几十个包、还常常带着 `-AllUsers` 的“精简”脚本最好别用，跑完很难说清删了哪些，有的顺手带走了依赖，想恢复只能一个包一个包地重装。

## Mole for Windows 怎么处理预装应用

Mole 的软件页把 Windows 的应用包和桌面程序列在一起，“预装”筛选只显示电脑自带的软件，包括给每个账户都预配、并且由微软或商店签名的应用包，以及发布者就是固件里记录的电脑厂商的程序，这个筛选只改变显示的内容，不会替你勾选任何一项。

软件页不会列出 Microsoft Store、它的购买组件、应用安装程序、Windows 安全中心和获取帮助（Get Help），也不会列出 Windows 标记为不可卸载的应用，比如 Edge，框架、资源包、捆绑包、Windows 目录下的包和 `Microsoft.Windows.*` 开头的包也都隐藏起来。

应用包只为当前账户卸载，走的是 `Remove-AppxPackage`，不弹管理员确认，如果这个应用同时是预配的，审阅里会写明只释放数据，应用会留给这台电脑的其他用户，因为预配的那份没有动，Mole 不删除预配包。厂商工具和试用软件交给厂商自己的卸载程序，卸载成功后 Mole 才处理残留。Mole 卸掉过的预装应用以后如果又被装回来，软件页会提示卸载过的应用又回来了，想留着就点保留。

## 卸完以后怎么确认

卸完打开开始菜单和设置 › 应用 › 已安装的应用，确认那一项没了，再对同一个名字跑一次 `Get-AppxPackage`。打开 Microsoft Store 看看还能不能更新应用，用 winget 的话再跑一次 `winget --version`。桌面程序卸完会剩下什么、哪些是正常的，可以看 [Windows 卸载软件后会留下什么](/zh/windows/blog/what-apps-leave-after-uninstall)。

## 常见问题

### Windows 11 怎么删除预装软件？

在设置 › 应用 › 已安装的应用里逐个卸载，或者在开始菜单里右键卸载，设置卸不掉的应用包再用 PowerShell 的 `Remove-AppxPackage`，厂商工具卸之前先查清楚用途。

### Windows 11 哪些预装应用可以放心删？

用不到的游戏、资讯、推广应用和试用软件一般都可以删，Microsoft Store、应用安装程序、Windows 安全中心、VCLibs 这类框架，以及管着硬件的厂商工具要留着。

### Windows 11 卸掉的应用为什么又回来了？

只为自己账户卸载时，预配的那份还留在 Windows 里，新账户会重新装上，`Remove-AppxProvisionedPackage` 能删掉给以后新账户用的那份，但不会从已有账户里删除。

### Windows 11 用一键精简脚本安全吗？

风险不小，这类脚本常常一次删很多包，连依赖一起删，也不留清楚的记录，一个一个卸，每一步都能核对，需要时也能装回来。


Canonical: https://mole.fit/zh/windows/blog/remove-bloatware-windows-11
