Windows 操作系统详解:从系统架构、文件管理到安全与运维
Windows 不只是一个带有图形界面的桌面系统。它同时包含内核、驱动、文件系统、网络协议栈、安全体系、应用运行环境、虚拟化平台以及企业管理能力。
本文将从普通用户、开发者和系统管理员三个视角,系统介绍 Windows 的组成、工作原理、常用工具、安全机制和故障排查方法。
1. Windows 是什么
Windows 是微软开发的一系列操作系统,广泛运行在个人电脑、工作站、服务器、工业设备和云计算环境中。
从使用场景来看,Windows 产品主要可以分为两条路线:
| 产品类型 | 主要用途 | 常见产品 |
|---|---|---|
| Windows 客户端 | 个人办公、娱乐、开发、企业终端 | Windows 10、Windows 11 |
| Windows Server | 服务器、域控制器、文件服务、虚拟化、企业应用 | Windows Server |
Windows 的主要特点包括:
- 提供成熟的图形化桌面环境。
- 拥有庞大的商业软件和游戏生态。
- 对各种硬件设备具有较好的兼容性。
- 支持企业域、组策略和集中管理。
- 集成 PowerShell、Hyper-V、WSL 等开发和运维工具。
- 提供 BitLocker、Windows Hello、Microsoft Defender 等安全功能。
- 兼容大量历史 Win32 应用程序。
现代 Windows 客户端和 Windows Server 都建立在 Windows NT 技术体系之上。
2. Windows 的发展历史
Windows 的发展大致可以分为早期图形界面、Windows 9x、Windows NT 和现代 Windows 四个阶段。
| 时间 | 代表版本 | 主要特点 |
|---|---|---|
| 1985 年 | Windows 1.0 | 在 MS-DOS 基础上提供早期图形界面 |
| 1990 年 | Windows 3.0 | 图形界面和应用生态逐渐成熟 |
| 1995 年 | Windows 95 | 引入开始菜单、任务栏和更完整的桌面体验 |
| 1998 年 | Windows 98 | 改进硬件、USB 和互联网支持 |
| 1993 年起 | Windows NT | 面向企业和工作站,采用更现代的内核体系 |
| 2000 年 | Windows 2000 | 强化企业网络、Active Directory 和稳定性 |
| 2001 年 | Windows XP | 消费者版本开始全面转向 NT 技术路线 |
| 2007 年 | Windows Vista | 引入 UAC、新驱动模型和新版图形体系 |
| 2009 年 | Windows 7 | 改善性能、兼容性和用户体验 |
| 2012 年 | Windows 8 | 强调触摸设备和应用商店 |
| 2015 年 | Windows 10 | 转向持续更新和服务化维护模式 |
| 2021 年起 | Windows 11 | 更新界面、硬件安全基线和生产力体验 |
Windows 历史上最重要的一次转变,是从依赖 MS-DOS 的 Windows 9x 技术路线转向 Windows NT。
Windows XP 之后,普通消费者使用的 Windows 也建立在 NT 技术体系上。现代 Windows 因此具备更完整的进程隔离、内存保护、访问控制和多用户能力。
3. Windows 的版本和版本号
Windows 中经常同时出现“产品名称”“功能版本”“系统内部版本”和“版本类型”,它们并不是同一个概念。
例如:
- 产品名称:Windows 11。
- 功能版本:24H2、25H2 等。
- 内部版本:OS Build。
- 版本类型:Home、Pro、Enterprise、Education。
- 架构类型:x64、ARM64。
- 更新通道:常规发布通道、LTSC、Insider 等。
可以使用下面的方法查看当前系统版本:
winver
也可以使用 PowerShell:
Get-ComputerInfo |
Select-Object WindowsProductName, WindowsVersion, OsBuildNumber, OsArchitecture
还可以使用传统命令:
systeminfo
不同命令读取的数据来源和显示格式可能存在差异,因此排查兼容性问题时,最好同时记录:
- Windows 产品名称。
- 功能版本。
- OS Build。
- 系统架构。
- 已安装的关键更新。
Windows 的当前版本和功能更新情况应以微软的 Windows 发布信息 为准。
4. Windows Home、Pro、Enterprise 和 Server 的区别
Windows 不同版本虽然拥有相似的桌面界面,但授权、管理和安全能力不同。
| 版本 | 主要定位 | 典型能力 |
|---|---|---|
| Home | 家庭和个人用户 | 日常办公、娱乐、基础安全 |
| Pro | 专业用户和小型企业 | 域加入、远程桌面主机、组策略、部分虚拟化能力 |
| Enterprise | 中大型企业 | 集中部署、高级安全、设备和策略管理 |
| Education | 教育机构 | 功能通常接近企业版本,授权方式不同 |
| Windows Server | 服务器环境 | AD DS、DNS、DHCP、IIS、Hyper-V、故障转移群集等 |
需要注意:
- 某个功能是否可用,不仅取决于 Windows 版本,还可能取决于硬件、许可证和组织策略。
- Windows Home 可以作为远程桌面客户端,但通常不能作为内置远程桌面服务的主机。
- Hyper-V、Windows Sandbox、BitLocker 完整管理能力等功能存在版本差异。
- Windows Server 不是“更高级的桌面版 Windows”,它主要面向服务器工作负载。
5. Windows 的整体架构
从上到下,可以把 Windows 简化为以下几个层次:
这里需要理解两个核心概念:
- 用户模式。
- 内核模式。
5.1 用户模式
普通应用程序主要运行在用户模式中。
Windows 会为每个用户模式进程提供相对独立的虚拟地址空间和句柄表。一个普通应用程序通常不能直接修改另一个进程的内存,也不能直接访问内核数据。
这样做的好处是:
- 应用程序之间能够相互隔离。
- 单个应用崩溃通常不会导致整个系统崩溃。
- 应用访问文件、网络和设备时需要经过系统权限检查。
- 恶意程序更难直接修改核心系统结构。
5.2 内核模式
Windows 内核、部分系统组件和多数底层驱动程序运行在内核模式。
内核模式拥有更高权限,可以访问:
- 物理内存和系统地址空间。
- CPU 中断和异常。
- 硬件设备。
- 进程与线程调度。
- 内核对象。
- 文件系统和网络驱动。
- 系统安全结构。
内核模式代码权限很高,因此有问题的内核驱动可能导致整个系统崩溃,也就是常见的蓝屏。
微软官方文档对用户模式和内核模式的区别有更详细的说明:User mode and kernel mode。
6. Windows 内核和 Executive
Windows 核心并不是一个只负责单一功能的程序,而是一组相互配合的组件。
常见组件包括:
| 组件 | 主要职责 |
|---|---|
| Kernel | 线程调度、中断、异常、同步等底层机制 |
| Object Manager | 管理文件、进程、线程、事件等内核对象 |
| Process Manager | 管理进程和线程 |
| Memory Manager | 管理虚拟内存、物理内存和分页 |
| I/O Manager | 统一组织应用、驱动和硬件之间的输入输出 |
| Security Reference Monitor | 执行访问令牌和权限检查 |
| Configuration Manager | 管理注册表 |
| Cache Manager | 管理文件系统缓存 |
| Plug and Play Manager | 识别和配置即插即用设备 |
| Power Manager | 管理电源状态、休眠和设备节能 |
ntoskrnl.exe 是 Windows 核心映像之一,包含内核和 Executive 的重要实现。
不过,不能简单地把 ntoskrnl.exe 理解成 Windows 的全部。完整的系统运行还需要:
- 硬件抽象层。
- 启动组件。
- 文件系统驱动。
- 图形子系统。
- 网络协议栈。
- 用户模式系统服务。
- 登录和安全组件。
- 各类设备驱动。
7. Windows 的启动过程
现代 UEFI 计算机上的 Windows 启动过程可以简化为:
典型过程如下:
- UEFI 固件完成硬件自检和初始化。
- 固件查找 EFI 系统分区中的 Windows Boot Manager。
- Boot Manager 根据 BCD 启动配置选择操作系统。
- Windows Loader 加载内核、HAL 和启动所需驱动。
- 内核初始化内存、调度器、I/O 和安全组件。
- Session Manager 创建系统会话。
- Service Control Manager 启动系统服务。
- 登录组件验证用户身份。
- 登录成功后启动用户桌面,例如
explorer.exe。
相关组件可能包括:
bootmgfw.efiwinload.efintoskrnl.exesmss.exewininit.exeservices.exelsass.exewinlogon.exeexplorer.exe
BCD 是 Windows 的启动配置数据。可以使用下面的命令读取,但不要在不了解影响的情况下修改:
bcdedit /enum
错误修改 BCD 可能导致 Windows 无法启动。
8. 进程、线程、句柄和服务
8.1 进程
进程可以理解为正在运行的程序实例。
一个进程通常包含:
- 私有虚拟地址空间。
- 已加载的 EXE 和 DLL。
- 一个或多个线程。
- 访问令牌。
- 打开的句柄。
- 环境变量。
- 当前工作目录。
- 进程优先级等信息。
同一个应用可能同时拥有多个进程。例如现代浏览器通常会将页面、扩展、GPU 和网络功能拆分到不同进程中。
因此,任务管理器中看到多个同名进程并不一定表示存在病毒。
8.2 线程
线程是 Windows 调度器分配 CPU 时间的基本执行单位。
一个进程至少需要一个线程,也可以拥有多个线程。多线程程序可以同时处理:
- 用户界面。
- 网络请求。
- 文件读写。
- 后台计算。
- 定时任务。
进程本身更像资源容器,真正执行指令的是线程。
8.3 句柄
Windows 中的文件、进程、线程、注册表项、事件、互斥体等资源通常以对象形式存在。
应用程序通过句柄引用这些对象。例如:
- 打开文件会得到文件句柄。
- 创建进程会得到进程句柄。
- 打开注册表项会得到注册表键句柄。
句柄泄漏会导致程序长期运行后资源持续增长。
8.4 服务
Windows 服务是不依赖普通桌面窗口的后台程序,通常由 Service Control Manager 管理。
服务适合运行:
- 数据库。
- Web 服务。
- 日志收集器。
- 更新程序。
- 网络服务。
- 安全软件。
- 设备辅助程序。
查看服务:
Get-Service
查询指定服务:
Get-Service -Name WinDefend
查看服务配置:
sc.exe qc WinDefend
不要看到“不认识的服务”就直接禁用。系统服务之间可能存在依赖关系,错误禁用可能导致网络、登录、更新或安全功能异常。
9. Windows 的内存管理
Windows 使用虚拟内存机制。应用看到的是虚拟地址,而不是直接操作物理内存地址。
虚拟内存带来的主要好处包括:
- 隔离不同进程。
- 简化应用程序的内存布局。
- 支持内存映射文件。
- 允许系统更灵活地管理物理内存。
- 配合页面文件处理内存提交。
9.1 常见内存指标
| 指标 | 含义 |
|---|---|
| 物理内存 | 计算机实际安装的 RAM |
| 虚拟地址空间 | 进程能够使用的地址范围 |
| Working Set | 当前驻留在物理内存中的进程页面 |
| Private Bytes | 进程私有提交内存 |
| Commit | 系统承诺为进程提供后备存储的内存 |
| Standby Cache | 可快速回收的文件和数据缓存 |
| Pagefile | 用于支持内存提交和分页的磁盘文件 |
任务管理器显示内存占用较高,并不一定代表系统发生内存泄漏。
Windows 会主动利用空闲内存进行文件缓存。当应用需要内存时,这些缓存通常可以被快速回收。
真正需要警惕的情况包括:
- 某个进程的私有内存持续增长且不下降。
- 系统 Commit 长期接近上限。
- 页面文件频繁读写并伴随明显卡顿。
- 非分页池或分页池持续异常增长。
- 系统不断出现内存不足事件。
- 应用在固定操作后稳定复现内存增长。
不建议为了“释放内存”而频繁使用所谓的一键内存清理工具,这类工具往往只是迫使系统丢弃缓存或换出页面,可能让后续访问变慢。
10. Windows 文件系统和磁盘
Windows 使用“磁盘—分区—卷—文件系统”的方式组织存储。
用户通常通过盘符访问卷:
C:\
D:\
E:\
但盘符只是挂载和命名方式,并不等于一块独立物理硬盘。
一个物理磁盘可以包含多个卷,一个卷也可以挂载到 NTFS 文件夹而不是盘符。
10.1 常见文件系统
| 文件系统 | 主要特点 | 常见场景 |
|---|---|---|
| NTFS | 权限、日志、压缩、加密、配额、丰富元数据 | Windows 系统盘和数据盘 |
| FAT32 | 兼容性好,但单文件通常不能超过 4GB | 老设备、启动介质 |
| exFAT | 适合大文件和移动存储,跨平台支持较好 | U 盘、移动硬盘、相机存储卡 |
| ReFS | 强调数据完整性、可用性和大规模存储 | 部分 Windows Server 和专业场景 |
NTFS 是现代 Windows 常见的默认文件系统,支持访问控制列表、日志、压缩和磁盘配额等功能。详情可参考 NTFS overview。
10.2 Windows 路径
本地路径:
C:\Users\Alice\Documents\report.docx
UNC 网络路径:
\\fileserver\share\project
环境变量路径:
%USERPROFILE%\Downloads
%TEMP%
%APPDATA%
%LOCALAPPDATA%
PowerShell 中可以这样使用:
$env:USERPROFILE
$env:TEMP
Windows 文件名通常保留大小写,但默认比较时不区分大小写。因此下面两个路径通常指向同一文件:
C:\Data\Report.txt
C:\data\report.txt
某些开发环境和目录可以启用区分大小写,因此跨 Windows 和 Linux 开发时仍然要统一文件名大小写。
11. 注册表是什么
注册表是 Windows 提供的分层配置数据库,用来保存部分系统、用户和应用程序设置。
常见根键包括:
| 根键 | 主要用途 |
|---|---|
HKEY_LOCAL_MACHINE |
当前计算机的系统级配置 |
HKEY_CURRENT_USER |
当前登录用户的配置 |
HKEY_USERS |
已加载用户配置 |
HKEY_CLASSES_ROOT |
文件关联、COM 和类注册信息 |
HKEY_CURRENT_CONFIG |
当前硬件配置视图 |
需要注意:
- 并不是所有 Windows 配置都在注册表中。
- 应用也可能使用 JSON、XML、INI、SQLite 或普通文件保存配置。
- 注册表是结构化数据库,不是一个普通文本文件。
- 删除注册表项可能导致应用或系统功能无法启动。
- 所谓“注册表清理”通常不会带来明显性能提升。
读取注册表:
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
PowerShell 也可以把注册表当成类似文件系统的驱动器:
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
修改注册表前应当:
- 确认键路径和数据类型。
- 导出相关键作为备份。
- 记录原值。
- 确认修改范围是当前用户还是整台计算机。
- 避免直接运行来源不明的
.reg文件。
12. Windows 用户、SID 和权限
Windows 支持多种身份类型:
- 本地账户。
- Microsoft 账户。
- Active Directory 域账户。
- Microsoft Entra ID 账户。
- 服务账户。
- 内置系统身份。
Windows 内部不会只依赖用户名识别用户,而是使用 SID,也就是安全标识符。
即使删除账户后重新创建同名账户,新账户的 SID 通常也不同,因此它不一定自动获得旧账户对文件的访问权限。
12.1 NTFS 权限
常见权限包括:
- 完全控制。
- 修改。
- 读取和执行。
- 列出文件夹内容。
- 读取。
- 写入。
权限通过 ACL 管理,ACL 中包含一条条 ACE,用于描述某个用户或组被允许或拒绝哪些操作。
权限还会受到以下因素影响:
- 用户所属的多个组。
- 显式权限。
- 继承权限。
- Allow 和 Deny 条目。
- 文件所有者。
- UAC 和访问令牌。
- 网络共享权限。
查看文件 ACL:
Get-Acl "C:\Data\report.txt" | Format-List
查看当前身份:
whoami
查看当前用户所属组和权限:
whoami /all
不要随意给整个磁盘添加 Everyone: Full Control。这种做法可能破坏系统安全边界,也可能改变大量文件的继承权限。
13. UAC 为什么存在
UAC 是 User Account Control,即用户账户控制。
即使用户属于管理员组,日常启动的大多数程序也不会自动获得完整管理员权限。当程序请求高权限操作时,Windows 会显示确认或凭据窗口。
UAC 的目的包括:
- 限制普通程序直接修改系统区域。
- 降低恶意软件静默获取高权限的机会。
- 明确区分普通操作和管理操作。
- 让管理员账户日常以较低权限运行应用。
常见需要管理员权限的操作包括:
- 修改系统级注册表。
- 写入受保护的系统目录。
- 安装部分驱动。
- 创建或修改系统服务。
- 修改系统防火墙规则。
- 管理其他用户。
- 修改磁盘分区和启动配置。
“以管理员身份运行”不是通用故障修复方案。如果程序只有在管理员权限下才能正常运行,应进一步检查:
- 它是否试图写入不该写入的系统目录。
- 文件或注册表权限是否错误。
- 应用是否过于老旧。
- 是否存在兼容性或设计问题。
14. Windows 安全体系
现代 Windows 的安全不是依靠某一个杀毒软件,而是由多层机制共同构成。
14.1 Secure Boot
Secure Boot 用于在启动阶段验证启动组件,降低未经授权的启动程序和 Bootkit 被加载的风险。
14.2 TPM
TPM 是可信平台模块,可以安全保存或保护密码学密钥,并支持:
- BitLocker。
- Windows Hello。
- 启动完整性度量。
- 设备身份和密钥保护。
14.3 BitLocker
BitLocker 用于加密整个卷,可以降低设备丢失、硬盘被拆走或设备报废不当造成的数据泄露风险。
启用 BitLocker 前一定要保存恢复密钥。硬件、固件、TPM 或启动配置发生变化时,系统可能要求输入恢复密钥。
微软官方说明可参考 BitLocker FAQ。
14.4 Windows Hello
Windows Hello 支持 PIN、人脸和指纹登录。
Windows Hello PIN 通常与特定设备绑定,不等同于一个可以在任何网站使用的普通短密码。具备 TPM 时,相关私钥可以受到硬件保护。
详情可参考 Windows Hello。
14.5 Microsoft Defender
Microsoft Defender Antivirus 提供:
- 实时恶意软件防护。
- 云端保护。
- 样本分析。
- 勒索软件防护能力。
- 定期扫描。
- 与 Windows Security 的统一状态展示。
不建议长期关闭实时保护。若开发环境出现误报或性能问题,应添加范围尽可能小的排除项,并评估其安全风险。
14.6 Windows 防火墙
Windows 防火墙按网络配置文件管理规则:
- Domain。
- Private。
- Public。
查看防火墙状态:
Get-NetFirewallProfile |
Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundAction
公共网络环境应采用更严格的入站规则。不要为了让某个应用联网而直接关闭整个防火墙,应创建针对程序、端口、协议和网络范围的最小规则。
15. Windows 网络体系
Windows 内置完整的 TCP/IP 协议栈,并支持:
- IPv4 和 IPv6。
- DHCP。
- DNS。
- TCP、UDP、ICMP。
- SMB 文件共享。
- RDP 远程桌面。
- VPN。
- Wi-Fi 和以太网。
- 代理配置。
- 企业域网络。
- Windows 防火墙。
常见网络排查顺序如下:
查看网络配置:
Get-NetIPConfiguration
查看 IP、网关和 DNS:
ipconfig /all
测试 DNS:
Resolve-DnsName www.microsoft.com
测试目标端口:
Test-NetConnection www.microsoft.com -Port 443
查看当前连接:
Get-NetTCPConnection |
Sort-Object State, RemoteAddress
刷新 DNS 客户端缓存:
ipconfig /flushdns
ping 失败不一定表示目标服务不可访问,因为目标主机或网络设备可能禁止 ICMP。测试 Web 服务时,更应该检查 DNS、TCP 端口和 HTTP 请求。
16. Windows 图形界面由什么组成
Windows 桌面并不是一个不可拆分的整体。
常见组件包括:
| 组件 | 作用 |
|---|---|
| Desktop | 显示桌面图标和背景 |
| Start Menu | 启动应用、搜索和电源入口 |
| Taskbar | 展示应用、通知区域和系统状态 |
| File Explorer | 浏览和管理文件 |
| Settings | 现代系统设置入口 |
| Control Panel | 传统配置工具 |
| Task Manager | 查看和管理进程、性能、启动项等 |
| Windows Search | 搜索应用、文件和设置 |
| Notification Center | 展示通知和快速设置 |
explorer.exe 通常负责文件资源管理器、桌面和任务栏。
如果任务栏或桌面异常,可以尝试重启 Windows Explorer:
- 按
Ctrl + Shift + Esc打开任务管理器。 - 找到“Windows 资源管理器”。
- 选择“重新启动”。
也可以使用 PowerShell:
Stop-Process -Name explorer -Force
Start-Process explorer.exe
执行时桌面和任务栏会短暂消失,这是 Explorer 被重新启动的正常表现。
17. Windows 应用程序类型
Windows 可以运行多种应用模型:
| 类型 | 说明 |
|---|---|
| Win32 | 最传统、生态最庞大的桌面应用类型 |
| .NET | 使用 .NET Framework 或现代 .NET 开发的应用 |
| WinUI | 微软现代 Windows UI 开发技术 |
| MSIX 应用 | 使用现代打包、部署和更新机制 |
| PWA | 可安装的渐进式 Web 应用 |
| 命令行程序 | 在 CMD、PowerShell 或终端中运行 |
| Windows 服务 | 在后台运行,不依赖普通桌面窗口 |
| WSL 应用 | 在 WSL Linux 环境中运行 |
| 虚拟机应用 | 在 Hyper-V 等虚拟化环境中运行 |
17.1 32 位与 64 位兼容
64 位 Windows 通常可以通过 WoW64 运行大量 32 位应用。
常见目录:
C:\Program Files
C:\Program Files (x86)
C:\Windows\System32
C:\Windows\SysWOW64
其中:
Program Files通常用于 64 位应用。Program Files (x86)通常用于 32 位应用。- 在 64 位 Windows 上,
System32主要保存 64 位系统文件。 SysWOW64主要保存 32 位兼容组件。
System32 和 SysWOW64 的命名具有历史兼容原因,第一次看到时很容易理解反。
18. CMD、PowerShell 和 Windows Terminal
Windows 中常见的三个命令行相关概念不能混为一谈。
18.1 CMD
CMD 是传统命令解释器,主要运行:
- Windows 内置命令。
- 批处理脚本。
.exe程序。.bat和.cmd文件。
示例:
dir
cd /d D:\work
set
tasklist
CMD 的管道主要处理文本。
18.2 PowerShell
PowerShell 是命令行 Shell、脚本语言和自动化平台。
它的一个重要特点是:管道中可以传递 .NET 对象,而不只是文本。
Get-Process |
Where-Object CPU -gt 10 |
Sort-Object CPU -Descending |
Select-Object -First 10 Name, Id, CPU
微软官方介绍可参考 What is PowerShell。
Windows PowerShell 5.1 和现代 PowerShell 7 可以同时存在:
- Windows PowerShell 5.1 的程序通常是
powershell.exe。 - PowerShell 7 的程序通常是
pwsh.exe。 - 两者的模块和兼容性并不完全相同。
18.3 Windows Terminal
Windows Terminal 是终端窗口程序,本身不是 Shell。
它可以承载:
- CMD。
- Windows PowerShell。
- PowerShell 7。
- WSL Bash。
- SSH 会话。
- 其他命令行程序。
可以把 Windows Terminal 理解成“终端外壳”,把 PowerShell、CMD 和 Bash 理解成运行在里面的命令解释环境。
19. 常用 Windows 管理工具
| 工具 | 启动方式 | 主要作用 |
|---|---|---|
| 任务管理器 | taskmgr |
查看进程、性能、启动项和用户会话 |
| 事件查看器 | eventvwr.msc |
查看系统、应用和安全事件 |
| 服务管理器 | services.msc |
管理 Windows 服务 |
| 设备管理器 | devmgmt.msc |
查看设备和驱动状态 |
| 磁盘管理 | diskmgmt.msc |
管理磁盘、分区和卷 |
| 任务计划程序 | taskschd.msc |
管理计划任务 |
| 本地组策略 | gpedit.msc |
管理本地策略,部分版本不提供 |
| 注册表编辑器 | regedit |
查看和修改注册表 |
| 性能监视器 | perfmon |
采集和分析性能计数器 |
| 资源监视器 | resmon |
查看 CPU、内存、磁盘和网络活动 |
| 系统信息 | msinfo32 |
查看硬件、驱动和系统摘要 |
| 系统配置 | msconfig |
管理部分启动和诊断选项 |
| 可靠性监视器 | perfmon /rel |
按时间线查看崩溃、更新和故障 |
| DirectX 诊断 | dxdiag |
查看显卡、声音和 DirectX 信息 |
普通故障排查中,任务管理器只能提供第一层信息。要建立完整证据链,通常还需要结合:
- 事件查看器。
- 可靠性监视器。
- 性能监视器。
- 资源监视器。
- 应用自身日志。
- 驱动和更新记录。
20. Windows Update 的工作方式
现代 Windows 更新大致可以分为:
| 更新类型 | 主要内容 |
|---|---|
| 质量更新 | 安全修复、可靠性修复和累积改进 |
| 功能更新 | 新功能、较大的系统变化和新支持周期 |
| 驱动更新 | 显卡、网卡、芯片组等硬件驱动 |
| Defender 更新 | 病毒定义和安全情报 |
| 可选更新 | 预览修复、部分驱动和可选组件 |
| 带外更新 | 紧急问题的非固定周期修复 |
Windows 10 和 Windows 11 的质量更新通常采用累积机制。较新的累积更新会包含之前已发布的相关修复,因此管理员不需要逐个安装历史补丁。
微软对 Windows 服务模式的说明可参考 Overview of Windows as a service。
20.1 更新最佳实践
个人设备建议:
- 保留足够的系统盘空间。
- 不要长期禁用 Windows Update。
- 重要更新前保存工作并备份关键数据。
- 驱动正常时,不必盲目追求所有可选驱动。
- 出现兼容问题时记录具体 KB、OS Build 和驱动版本。
企业环境建议:
- 建立测试设备组。
- 对更新分批部署。
- 验证业务软件、VPN、驱动和安全客户端。
- 监控失败率和重启情况。
- 为关键设备准备回退方案。
- 不要把 LTSC 当作所有办公电脑的默认选择。
21. WSL、Hyper-V 和 Windows Sandbox
21.1 WSL
WSL 是 Windows Subsystem for Linux,可以让开发者在 Windows 上运行 Linux 环境。
WSL 适合:
- 运行 Bash。
- 使用
grep、sed、awk等 Linux 工具。 - 使用 Linux 版本的 Git、Python、Node.js、Java、Go、Rust。
- 运行 Linux 容器相关工具。
- 进行跨平台开发。
- 运行部分 Linux GUI 应用。
WSL 2 使用虚拟化技术,在轻量级虚拟机中运行 Linux 内核,并提供较完整的 Linux 系统调用兼容性。详情可参考 What is WSL。
安装 WSL:
wsl --install
查看状态:
wsl --status
查看发行版:
wsl --list --verbose
跨文件系统访问时应注意性能:
- Linux 工具频繁操作的项目,通常更适合放在 WSL 的 Linux 文件系统中。
- Windows 应用频繁操作的项目,通常更适合放在 Windows 文件系统中。
- 不要在没有测试的情况下让 Windows 和 Linux 工具同时修改同一套依赖目录。
21.2 Hyper-V
Hyper-V 是微软内置的虚拟化技术,可以创建和运行 Windows、Linux 等虚拟机。
典型用途包括:
- 搭建测试环境。
- 隔离不可信软件。
- 运行不同操作系统。
- 构建服务器实验环境。
- 测试网络和域环境。
- 运行虚拟化工作负载。
Hyper-V 的可用性取决于 Windows 版本和硬件。微软官方要求说明可参考 Install Hyper-V。
检查硬件虚拟化信息:
systeminfo
21.3 Windows Sandbox
Windows Sandbox 提供一个临时、隔离的 Windows 桌面环境。
适合:
- 测试来源不完全确定的软件。
- 验证安装程序。
- 临时打开可疑文件。
- 进行一次性配置实验。
关闭 Sandbox 后,环境中的内容通常会被丢弃。因此需要保留的文件必须提前复制出来。
Windows Sandbox 不能替代完整恶意软件分析实验室,也不能保证抵御所有高级攻击。
22. Windows Server 和 Active Directory
Windows Server 是微软面向企业服务器的操作系统平台。
常见角色和功能包括:
- Active Directory Domain Services。
- DNS Server。
- DHCP Server。
- File and Storage Services。
- IIS Web Server。
- Hyper-V。
- Remote Desktop Services。
- Certificate Services。
- Failover Clustering。
- Windows Deployment Services。
微软对 Windows Server 的整体介绍可参考 What is Windows Server。
22.1 Active Directory
Active Directory Domain Services,简称 AD DS,用于集中管理网络中的:
- 用户。
- 计算机。
- 组。
- 服务账户。
- 打印机。
- 共享资源。
- 安全策略。
- 身份认证和授权。
AD DS 中常见概念包括:
| 概念 | 说明 |
|---|---|
| Domain | 域,是身份和管理边界之一 |
| Domain Controller | 域控制器,提供身份验证和目录服务 |
| Organizational Unit | 组织单位,用于组织对象和应用策略 |
| Group Policy | 组策略,用于集中配置计算机和用户 |
| Forest | 林,由一个或多个域组成 |
| Trust | 域或林之间的信任关系 |
| Global Catalog | 用于查找林中对象的目录索引 |
| LDAP | 访问目录数据的协议 |
| Kerberos | 常用的域身份认证协议 |
官方说明可参考 Active Directory Domain Services overview。
22.2 工作组、AD 域和 Entra ID
| 模式 | 主要特点 |
|---|---|
| 工作组 | 每台计算机独立管理本地账户 |
| AD 域 | 通过本地域控制器集中管理身份和策略 |
| Microsoft Entra ID | 面向云服务和现代设备管理的身份平台 |
它们不是完全相互替代的关系。企业可以根据应用、网络和安全要求使用纯本地域、纯云身份或混合模式。
23. Windows 性能问题怎么排查
性能排查最重要的原则是:先定义现象,再采集证据。
不要只因为任务管理器中某个数字较高,就直接认定它是根因。
23.1 先明确问题
需要记录:
- 是持续卡顿还是偶发卡顿。
- 是鼠标、界面、磁盘还是网络卡顿。
- 从什么时候开始。
- 是否与启动某个应用有关。
- 重启后是否恢复。
- 是否刚安装过更新、驱动或软件。
- 是否只在电池模式、外接显示器或 VPN 环境发生。
- 是否能够稳定复现。
23.2 按资源分类检查
CPU
观察:
- 总 CPU 使用率。
- 单个核心是否满载。
- 进程 CPU 时间。
- 中断和 DPC。
- 进程是否频繁创建和退出。
- 温度与降频。
内存
观察:
- Available Memory。
- Commit。
- Private Bytes。
- Working Set。
- 页面文件活动。
- 内核分页池和非分页池。
磁盘
观察:
- 活动时间。
- 响应时间。
- 磁盘队列。
- 读写吞吐。
- 哪个文件正在被访问。
- 系统盘剩余空间。
- SMART 和硬盘健康状态。
网络
观察:
- 延迟。
- 丢包。
- DNS。
- 目标端口。
- VPN 和代理。
- 防火墙规则。
- Wi-Fi 信号和干扰。
- 网卡驱动。
GPU
观察:
- 3D、Copy、Video Decode 等引擎。
- 显存占用。
- GPU 温度。
- 驱动重置事件。
- 硬件加速与应用兼容性。
23.3 推荐排查顺序
“结束一个进程后资源下降”只能证明它是资源使用者或贡献者,不一定已经证明它是根因。还需要验证症状是否同步消失,以及问题是否再次出现。
24. Windows 系统修复工具
Windows 自带了一些修复工具,但应根据故障类型使用。
24.1 SFC
System File Checker 用于检查受保护的 Windows 系统文件:
sfc /scannow
它主要用于系统文件损坏,不是所有应用故障的通用修复命令。
24.2 DISM
DISM 可以维护和修复 Windows 映像:
DISM /Online /Cleanup-Image /ScanHealth
修复组件存储:
DISM /Online /Cleanup-Image /RestoreHealth
通常可以在 DISM 修复完成后再次运行:
sfc /scannow
24.3 CHKDSK
在线扫描 NTFS 卷:
chkdsk C: /scan
/f 会尝试修复文件系统错误,/r 还会检查坏扇区,执行时间和影响都更大。
不要在没有明确磁盘或文件系统证据时反复运行:
chkdsk C: /f /r
对于疑似硬盘故障,应优先备份数据,再检查硬盘健康,而不是把大量读写压力施加到已经不稳定的磁盘上。
24.4 网络重置命令
某些网络故障可能会用到:
netsh winsock reset
netsh int ip reset
这类命令会改变系统网络状态,不能替代对 DNS、代理、防火墙、VPN 和网卡驱动的定位。执行前应记录当前配置,执行后通常需要重启。
25. 备份、恢复和重装
25.1 同步不等于备份
OneDrive 等同步工具能够提高文件可用性,但不能自动替代完整备份。
如果本地文件被误删、覆盖或加密,同步服务也可能同步这些变化。
更稳妥的方案是遵循 3-2-1 原则:
- 至少保留 3 份数据。
- 使用至少 2 种不同存储介质。
- 至少 1 份位于异地或离线位置。
25.2 常见恢复手段
| 恢复方式 | 适用情况 |
|---|---|
| 回收站 | 恢复普通误删文件 |
| 文件历史记录或备份 | 恢复历史版本 |
| OneDrive 版本历史 | 恢复同步文件的旧版本 |
| 系统还原 | 回退部分系统配置和驱动变化 |
| 卸载更新 | 更新后出现兼容问题 |
| Windows Recovery Environment | 系统无法正常启动 |
| 启动修复 | 启动组件异常 |
| 重置此电脑 | 系统损坏严重,需要重新部署 |
| 系统映像恢复 | 恢复完整磁盘或系统状态 |
| 全新安装 | 彻底重新安装 Windows |
25.3 重装前必须保存的内容
至少包括:
- 桌面、文档和下载目录中的重要文件。
- 浏览器书签和密码同步状态。
- SSH 密钥。
- GPG 密钥。
- 开发项目和未推送的 Git 提交。
- 数据库文件和导出。
- 应用许可证。
- BitLocker 恢复密钥。
- VPN 和代理配置。
- 虚拟机与 WSL 数据。
- 邮件和聊天软件的本地数据。
- 特殊硬件驱动和配置文件。
重装系统不能修复硬件故障。如果问题来自内存、硬盘、电源、散热或显卡,重装之后仍可能复现。
26. 常用快捷键
| 快捷键 | 功能 |
|---|---|
Win |
打开开始菜单 |
Win + E |
打开文件资源管理器 |
Win + I |
打开设置 |
Win + R |
打开运行窗口 |
Win + L |
锁定计算机 |
Win + D |
显示或恢复桌面 |
Win + V |
打开剪贴板历史 |
Win + Shift + S |
截图 |
Win + Tab |
打开任务视图 |
Win + Ctrl + D |
创建虚拟桌面 |
Win + Ctrl + 左/右 |
切换虚拟桌面 |
Alt + Tab |
切换应用 |
Alt + F4 |
关闭当前窗口 |
Ctrl + Shift + Esc |
打开任务管理器 |
Ctrl + Alt + Delete |
打开安全选项界面 |
F2 |
重命名文件 |
Shift + Delete |
跳过回收站删除,需要谨慎 |
Win + X |
打开高级管理菜单 |
27. Windows 使用最佳实践
27.1 普通用户
- 及时安装安全更新。
- 使用标准用户完成日常操作。
- 为重要账户启用多因素认证。
- 开启设备加密或 BitLocker,并保存恢复密钥。
- 不安装来源不明的软件和驱动。
- 保留系统盘空间。
- 对重要数据进行独立备份。
- 不要长期关闭 Defender 和防火墙。
- 不要盲目使用清理、加速和注册表优化工具。
27.2 开发者
- 区分 CMD、PowerShell、WSL 和容器的运行环境。
- 项目脚本不要依赖未声明的系统全局状态。
- 避免把密码和密钥写入注册表、脚本或代码仓库。
- 跨平台项目统一文件名大小写和换行符策略。
- 记录依赖版本和系统架构。
- 使用虚拟机、容器或 Sandbox 隔离测试环境。
- 不要为了运行开发工具而永久关闭系统安全功能。
- 高 I/O 项目应根据工具所在环境选择 Windows 或 WSL 文件系统。
27.3 系统管理员
- 使用最小权限原则。
- 建立更新测试环和分批部署机制。
- 集中管理日志、资产和补丁状态。
- 限制本地管理员数量。
- 对 PowerShell 和高权限操作建立审计。
- 管理 BitLocker 恢复密钥。
- 定期测试备份恢复,而不只是检查备份任务是否成功。
- 对域控制器、证书服务和备份服务器进行额外保护。
- 变更服务、注册表、ACL 和组策略前保留可回退记录。
28. 常见误区
28.1 内存占用高就是内存泄漏
不一定。Windows 会使用空闲内存作为缓存。判断泄漏需要观察进程私有内存、Commit、内核池以及随时间变化的趋势。
28.2 结束进程后电脑不卡了,就已经证明根因
只能说明该进程可能是贡献者。仍需确认具体资源、触发条件以及问题是否会再次出现。
28.3 管理员权限可以解决所有问题
管理员权限只能绕过部分权限限制,无法解决程序 Bug、依赖缺失、驱动错误、网络故障和硬件问题。
28.4 定期清理注册表能显著提速
通常不能。注册表中少量无用条目一般不会造成明显性能问题,错误清理反而可能破坏应用和系统配置。
28.5 关闭页面文件可以提升性能
通常不建议。页面文件不仅用于物理内存不足,也参与系统内存提交和崩溃转储。关闭后可能导致应用失败或无法生成完整故障信息。
28.6 安装两个杀毒软件更安全
多个实时防护软件可能争抢文件过滤、网络检测和内核资源,造成冲突、性能下降或误报。应使用兼容的安全体系,而不是简单叠加多个实时杀毒程序。
28.7 Windows 更新全部都应该永久关闭
长期不更新会积累安全漏洞。更合理的做法是控制更新时间、建立测试和回退机制,而不是永久停止更新。
28.8 系统盘满了只需要删除 C:\Windows
不能直接删除 Windows 系统目录。应先检查:
- 下载目录。
- 临时文件。
- 应用缓存。
- 更新清理。
- 休眠文件。
- 页面文件。
- Docker、WSL 和虚拟机数据。
- 用户配置目录。
- 日志和转储文件。
29. Windows 学习路线
如果想系统学习 Windows,可以按照下面的顺序进行。
第一阶段:基础使用
学习:
- 文件和目录。
- 设置与控制面板。
- 用户账户。
- 应用安装与卸载。
- 任务管理器。
- 网络配置。
- 更新与备份。
第二阶段:命令行
学习:
- CMD 基础命令。
- PowerShell 对象和管道。
- 文件、进程、服务管理。
- 网络诊断命令。
- 脚本执行策略。
- 环境变量。
第三阶段:系统原理
学习:
- 用户模式与内核模式。
- 进程和线程。
- 虚拟内存。
- Windows 对象和句柄。
- I/O 与驱动。
- NTFS。
- 注册表。
- Windows 启动过程。
第四阶段:安全
学习:
- SID、Token、ACL 和 UAC。
- Windows Hello。
- BitLocker。
- Defender。
- 防火墙。
- Secure Boot 和 TPM。
- 应用控制。
- 安全日志。
第五阶段:企业管理
学习:
- Windows Server。
- Active Directory。
- DNS 和 DHCP。
- Group Policy。
- PowerShell 远程管理。
- Hyper-V。
- 更新和设备管理。
- 日志、监控和备份。
第六阶段:开发和自动化
学习:
- PowerShell 自动化。
- WSL。
- Windows Terminal。
- Win32 和 .NET。
- Windows 服务。
- 容器和虚拟机。
- CI/CD。
- Windows API 和驱动基础。
30. 总结
Windows 是一个由多个层次组成的完整操作系统平台:
- 图形界面负责用户交互。
- Win32、.NET 等平台负责运行应用程序。
- 进程和线程构成应用执行模型。
- 虚拟内存负责隔离和管理内存。
- NTFS 负责组织文件并实施权限。
- 注册表和配置文件共同保存系统与应用设置。
- Windows 内核负责调度、I/O、安全和硬件资源管理。
- 驱动程序连接操作系统与硬件。
- Defender、防火墙、BitLocker、UAC 和 Windows Hello 构成多层安全体系。
- PowerShell 提供自动化和管理能力。
- WSL、Hyper-V 和 Sandbox 提供开发与隔离环境。
- Windows Server、Active Directory 和组策略支持企业级集中管理。
真正理解 Windows,不是记住几个设置入口或修复命令,而是理解每个现象位于哪一层。
遇到问题时,应按照“明确现象、采集证据、定位层次、最小变更、验证结果”的方式处理,而不是盲目结束进程、修改注册表、关闭服务或重装系统。
参考资料
- Windows 最新功能与版本
- Windows 发布运行状况
- Windows 用户模式和内核模式
- NTFS 概述
- Windows 安全体系
- BitLocker FAQ
- Windows Hello
- PowerShell 概述
- WSL 概述
- Hyper-V 概述
- Windows 更新服务模式
- Windows Server 概述
- Active Directory Domain Services 概述
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)