
每次重装完系统最头疼的不是重装这一步而是后面整整一下午的软件安装和调试。这些年我前前后后折腾系统不下几十次从最早的 Windows 7 一路用到 Windows 11踩过的坑比很多人装过的软件都多。这篇文章写给两类人一类是刚接触 Windows 开发环境的新手另一类是想把手头这台 Windows 机器当作主力开发机来用的朋友。我会尽量从实际使用场景出发而不是单纯把软件列表堆给你。先说清楚这份清单的定位它兼顾了日常办公和开发用途里面提到的每一款软件都是我亲自装过、用过并且确认值得留在机器上的。对于开发同学我会重点讲环境配置里的关键细节比如 Docker 的 WSL2 依赖、Java 环境变量、Redis 和 Elasticsearch 在 Windows 上的坑对于普通用户我会聊系统优化、安全日志查看、文件传输这些高频需求。读完这份清单你应该能一次性搞定 80% 的装机问题不用再去搜索引擎里逐个问“Windows 怎么装 XXX”。1. 装机前的整体规划先想清楚再动手1.1 这台电脑到底拿来干嘛很多人装机喜欢“先把能装的都装上”结果装完发现一堆软件互相打架C 盘莫名其妙满了右键菜单长得离谱。我的建议是动手之前先花五分钟想清楚这台机器的定位。用途不同软件选型差别很大。纯办公场景重点放在浏览器、输入法、截图工具、压缩软件这些日常工具上开发场景则要优先安排 Git、JDK、Python、Docker 这类基础环境如果你还兼职运维或者数据相关工作Redis、Elasticsearch、Oracle 客户端这些东西就得提前规划好。我自己常用的思路是列一张“需求—软件”对照表。表格不用多复杂但能帮你理清思路避免装完系统后再来回补装。使用场景核心软件建议备注日常办公浏览器Edge / Chrome、微信、输入法、WPS轻量优先开发基础Git、JDK、Miniconda、VS Code通用语言环境容器与中间件Docker Desktop、Redis、Elasticsearch需注意 WSL2 依赖数据库相关Oracle 19c / MySQL、xftp按项目需要选择系统维护Dism、事件查看器、任务管理器出了问题能自救1.2 C 盘空间规划别把所有东西都塞进默认路径一个很多新手最容易忽视的问题软件默认安装路径都在 C 盘如果分区时没给 C 盘留足空间用不了几个月系统盘就会爆红。SSD 时代我还是建议单独分一个 D 盘或者 E 盘出来装软件和数据C 盘只留给系统和必要的环境配置。这不是洁癖是实打实的性能和安全考虑。C 盘一旦满了系统虚拟内存、临时文件、浏览器缓存全都会出问题最常见的表现就是“系统运行变卡”“软件莫名闪退”。我在装环境和办公软件时有两个习惯开发工具链里的 JDK、Python、Git 这类基础组件默认放 C 盘因为环境变量和系统关联比较深挪动位置反而容易出问题。大型开发软件比如 Oracle、Docker Desktop 的镜像目录和应用软件尽量指定安装到 D 盘安装时多花十秒改路径后面省心很多。1.3 软件来源官网优先渠道包慎用这个我必须单独拿出来说。Windows 平台最大的问题是软件下载渠道鱼龙混杂百度搜出来的“官网”十有八九是推广广告下载下来不是捆绑全家桶就是根本装不上。我的原则很简单能用官网就不用第三方能用包管理器就不用网页下载。这里推荐一个我用了很久的 Windows 包管理器——winget它是微软官方出的命令行安装工具系统自带Windows 10 1709 之后可以自行安装。# 查看软件 winget search git # 安装 Git winget install --id Git.Git -e --source winget用winget的好处是它会自动拉取官方源里的软件包省去手动找安装包的麻烦部分软件还支持静默安装不会弹一堆下一步的窗口。如果某个软件在 winget 源里没有再去官网下载也不迟。另外GitHub 上的开源软件优先找 Releases 页面那里是作者发布的官方包。2. 开发环境全家桶从语言到中间件一次配齐2.1 基础三件套Git、JDK、终端增强这三个是 Windows 开发机器上的地基几乎所有的后端、前端、数据相关项目都离不开它们。先一个个说。Git for Windows 是必装的不光是代码管理很多工具链比如 npm、conda也会依赖 Git 的一些组件。安装时建议一路默认但有一步要注意在 “Adjusting your PATH environment” 这一步一定要选 “Git from the command line and also from 3rd-party software” 这个选项否则后面在 PowerShell 或 CMD 里敲git命令会提示找不到。还有一个容易被忽略的选项是换行符转换建议选 “Checkout as-is, commit as-is”这样可以避免跨平台项目出现行尾符被自动改动的问题。JDK 这里推荐装 JDK 17LTS 版本Java 生态里主流的 Spring Boot 3、新版本的 Maven 都要求 17 起步。装完之后必须手动配置环境变量JAVA_HOME指向 JDK 安装目录Path里加上%JAVA_HOME%\bin。配置完在 CMD 里跑一下java -version能正常输出版本号就说明成功了。终端增强这块我强烈建议装 Windows Terminal它比自带的 CMD 和传统 PowerShell 好用太多支持多标签页、自定义主题、直接跑 WSL 的 Linux 终端。配合 PowerShell 7 和oh-my-posh主题视觉效果和操作体验都能向 macOS 终端看齐。2.2 Python 环境Miniconda 低调又实用Python 环境的安装我推荐 Miniconda而不是 Anaconda。原因很简单Anaconda 预装了几百个包大部分你用不上还拖慢环境解析速度Miniconda 只带 conda、Python 和必要的依赖装完才几百 MB后面需要什么包再手动装。Miniconda 的安装要注意两个细节。第一安装过程中它会问你要不要勾选 “Add Miniconda to my PATH environment variable”建议勾上这样在任意终端里都能直接跑conda命令。第二装完记得设置国内镜像不然创建环境时下载包会慢得让人怀疑人生。# 配置清华源以 conda 为例 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes后面创建环境用conda create -n myenv python3.10激活环境用conda activate myenv这是日常最核心的两条命令。为什么要用独立环境因为不同项目的第三方库版本经常互相冲突环境隔离能让你在一个机器上同时维护好几个互不干扰的 Python 环境这在跑 AI 相关项目时尤其好用。2.3 Docker Desktop先过 WSL2 这一关Windows 上的 Docker 和 Linux 上的 Docker 完全是两种体验。Docker Desktop for Windows 的核心依赖是 WSL2Windows Subsystem for Linux 2如果你在安装或启动 Docker 时遇到报错“无法启用 Windows 组件 VirtualMachinePlatform 退出代码 14098”那基本就是 WSL2 的相关功能没开全。解决办法分三步走。先用管理员身份打开 PowerShell执行下面这两条命令dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart然后重启电脑。重启后到 Microsoft Store 里搜索 “Windows Subsystem for Linux” 安装 WSL2 内核更新包也可以直接用wsl --update命令。最后执行wsl --set-default-version 2把默认版本设为 WSL2再打开 Docker Desktop 就能顺利启动了。这里还有一个平时容易踩到的坑Docker Desktop 默认会把镜像和容器数据存放在 C 盘的用户目录下时间长了 C 盘会越来越小。可以在 Docker Desktop 的 Settings - Resources - Advanced 里把 “Disk image location” 改到 D 盘。注意改完之后要等 Docker 自己迁移完数据中间别强制关停否则镜像数据可能会损坏。如果是用 Docker Compose 跑 Elasticsearch、Redis 这类中间件建议把数据目录用 volume 挂载到宿主机的非系统盘既方便备份也方便清理。2.4 本地中间件Redis 和 Elasticsearch 怎么装不踩坑Windows 上装 Redis官方其实是不提供 Windows 原生版本的。Redis 官方推荐的是 Linux 环境但在 Windows 开发机上我们一般有两条路一是用 WSL2 里跑 Linux 版 Redis二是用 Memurai 这个兼容 Redis 协议的 Windows 原生实现。对于日常开发调试用 Memurai 就够了安装完它自动注册成 Windows 服务开机自启默认端口 6379连接方式跟 Redis 一样。如果你用的是 WSL2 里的 Redis启动命令是# 在 WSL 终端里执行 sudo service redis-server start注意 Windows 上的本地程序连接 WSL2 里的 Redis 时不能直接连 localhost因为 WSL2 是一个轻量虚拟机IP 和宿主机不一样。可以先执行ip addr看看 WSL 的 IP然后在 Windows 里用这个 IP 连接。嫌麻烦的话我建议直接用 Memurai少折腾。Elasticsearch 在 Windows 上的安装就没那么多选择题了。直接去官网下载 Windows 版 zip 包解压到一个没有中文和空格的路径比如D:\software\elasticsearch然后改一下 JVM 堆内存配置# 打开 config/jvm.options -Xms512m -Xmx512m如果机器内存不大8G 以下把堆内存设成 512M 就够了默认的 1G 在某些场景下会让 ES 启动变慢甚至启动失败。ES 默认还要设置network.host本地开发保持默认就好。启动方式是双击bin\elasticsearch.bat控制台看到 “started” 就说明成功了浏览器访问http://localhost:9200能看到 JSON 信息。另外提醒一句ES 不能用管理员身份运行否则会直接启动失败这个坑我踩过现在都记得。2.5 数据库与远程传输Oracle 19c 和 xftp如果你所在的团队用的是 Oracle 数据库那 Windows 上安装 Oracle 19c 是个大工程。安装前最好先确认一下机器配置建议 8G 内存起步安装时间基本在半小时以上中间会有很多配置项。对于普通开发人员来说其实可以不用装完整版数据库只装 Oracle Instant Client 配合 DBeaver 这类图形化客户端一样能连远程数据库。如果必须本机装装的时候注意“创建并配置单实例数据库”这个选项内存按机器实际大小分配数据库密码记牢忘了只能重置实例。xftp 是从 Windows 连接 Linux 服务器时很好用的文件传输工具。它支持 SFTP、FTP 协议最常见的场景是你在一台 Windows 开发机上需要往远程 Linux 服务器上传部署包、下载日志文件。xftp 不需要在 Linux 端装额外的服务端只要远程机器开了 SSH 就能直接用默认端口 22填上用户名和密码就能连。配合 xshell 使用的话直接从会话列表里一键拉起 xftp非常顺手。3. 系统工具与安全基线让 Windows 更可控3.1 安全日志eventvwr.msc 怎么看很多小白用户以为 Windows 安全日志是给黑客用的跟自己没关系。实际上当你怀疑机器被人动过、软件被莫名安装、或者需要排查登录异常时Windows 安全日志就是最可靠的现场记录。在“运行”窗口输入eventvwr.msc就能打开事件查看器展开“Windows 日志 - 安全”就是全部安全事件。安全日志最常看的是登录事件。事件 ID 4624 表示登录成功4625 表示登录失败。如果某天你看到大量 4625 失败记录而且来源 IP 不是你熟悉的网段那基本可以判断机器正被人暴力破解。这里有一个我实践中的经验把安全日志的“大小上限”从默认值调大一些比如 128MB并且设置“满时按需覆盖事件”这样可以保留更长时间的历史记录。另一个跟安全相关的日常操作是看系统日志里的事件 ID 1001 和 1002它们分别表示系统崩溃后的错误报告和应用错误。Windows 不会主动告诉你“这次蓝屏是因为某驱动”但事件日志里都会留下具体线索排查蓝屏问题时按事件 ID 搜一下比盲猜高效太多。3.2 系统清理与优化少用全家桶多用轻量工具Windows 用久了C 盘总会莫名其妙多出一堆临时文件、更新缓存、缩略图缓存。我是系统自带功能和轻量工具配合着来不用 360 这类全家桶。Windows 自带的“存储感知”在“设置 - 系统 - 存储”里可以自动清理临时文件建议打开。手动清磁盘时右键 C 盘 - 属性 - 磁盘清理选“清理系统文件”能清出不少 Windows 更新留下的缓存。想要更彻底的清理我推荐 Dism注意认准官方发布渠道。它可以直接对“组件存储”进行清理把 Windows 更新留下的旧版本组件删掉效果比磁盘清理明显很多。Dism 还能做启动项管理、系统优化、卸载预装应用算是一个综合工具箱。用清理工具时有个提醒别手痒去清理“所有项目”尤其是“Windows 更新清理”和“系统还原”检查点清完确实能省几个 G但代价是还原点失效系统出问题想回滚都没得回。我一般只清理临时文件和更新缓存这两项其他的一律保持默认。3.3 命令行脚本闪退别急着重装系统经常有人问“我双击 .bat 文件它在屏幕上闪一下就关了怎么解决”。这个问题分好几种情况处理方式也不一样脚本本身有问题在 CMD 里手动执行脚本把输出看到底比双击后一闪而过更容易定位。如果脚本执行出错错误信息会直接显示出来。路径包含中文或空格部分脚本对路径支持有问题把脚本放到纯英文路径下再试。PowerShell 执行策略限制PowerShell 默认脚本执行策略是 Restricted本地 .ps1 脚本会被拦截执行后窗口会闪退。以管理员身份打开 PowerShell执行下面的命令放开策略Set-ExecutionPolicy RemoteSigned -Scope CurrentUser这条命令允许运行本地脚本和经过签名的远程脚本安全性和便利性之间算是比较平衡的选择。执行完再双击 .ps1 文件就不会闪退了。还有一种常见情况是批处理脚本里用到了pause命令但前面的命令出错导致直接退出了。排查时可以在脚本的关键位置加上pause比如echo 这里执行到第二步了 pause通过这种方式定位脚本在哪一步卡住或者报错。几乎大部分“脚本闪退”问题都能通过这个方法查出原因。3.4 驱动错误代码 31 和虚拟化组件问题设备管理器里看到一个黄色感叹号属性里提示“由于 Windows 无法加载这个设备所需的驱动程序导致这个设备工作异常。代码 31”这个问题其实不复杂。代码 31 本质上就是设备驱动加载失败可能的原因包括驱动文件损坏、驱动版本不兼容、或者设备资源冲突。我常用的排查顺序是先在设备管理器里右键设备选“卸载设备”勾选“删除此设备的驱动程序软件”然后去官网下载对应型号最新驱动重新安装。注意一定要选对 Windows 版本和系统架构64 位 / 32 位装完重启。如果问题依旧可能是设备本身损坏或者 BIOS 里被禁用这时候可以去主板设置里看看对应设备是否处于启用状态。另外很多人在运行虚拟机或者 Docker 时报错“无法启用 Windows 组件 VirtualMachinePlatform”这个一般出在电脑没装虚拟化功能或者主板 BIOS 里的虚拟化技术VT-x / AMD-V没开启。进 BIOS 找到 “Intel Virtualization Technology” 或 “SVM Mode” 选项设置成 Enabled再按前面提到的命令开启 WSL2 功能组件问题基本就解决了。4. 日常效率工具与特殊场景4.1 大文件传输与远程连接习惯Windows 和 Linux 之间传文件xftp 是公认最好用的工具之一。日常部署项目、下载日志、备份数据库文件用它比用 U 盘拷贝不知道高效多少倍。连接时只需要在 xftp 里新建会话协议选 SFTP主机填 Linux 服务器 IP端口填 22用户名密码就基本可以了。如果你是纯命令行爱好者也可以直接在 PowerShell 里用scp命令毕竟 Windows 10 1809 之后系统自带 OpenSSH 客户端# 把本地文件传到远程服务器 scp D:\package.zip root192.168.1.100:/opt/ # 从远程服务器拉取文件到本地 scp root192.168.1.100:/var/log/app.log D:\logs\这两种方式我觉得都值得会xftp 适合图形化操作和目录浏览scp 适合脚本化自动执行。在自动化部署场景里用 scp 写脚本比 xftp 点来点去更可靠。4.2 多语言包和系统镜像如果你的工作环境涉及外文软件或需要切换系统显示语言Windows 的多语言包功能很实用。“设置 - 时间和语言 - 语言和区域”里可以添加语言包切换后重启就能生效。需要注意系统版本必须是专业版以上家庭版对多语言支持有限。系统镜像这块我自己习惯在本地留几个常用版本的 Windows 镜像文件原版 ISO用途有两个一是出问题时做系统修复二是新建虚拟机时直接用原版镜像安装避免第三方“精简版”带来的不稳定因素。镜像文件较大建议放到单独分区并做好校验。既然说到了重装提醒一句装完系统后第一时间去“设置 - 更新和安全 - Windows 更新”把系统补丁打全再继续装后续软件顺序反了容易出现各种兼容性怪问题。4.3 AI 编程工具与新趋势最近两年 AI 编程工具是 Windows 开发机上不可或缺的一部分。微软的 Codex 桌面版、Claude Code 这类工具都能在 Windows 上跑可以帮你做代码补全、代码审查甚至直接生成模块。安装方式一般是先装 Node.js18 以上然后用 npm 全局安装npm install -g anthropic-ai/claude-code这类工具装好后在终端里输入claude就能进入交互式 AI 编程界面。我个人经验是它最适合“给我写个解析日志的命令行脚本”这种明确的小任务或者“这个报错是什么意思”这种排查类问题能大幅减少查搜索引擎的次数。另外像 Dify 这类开源的 AI 应用开发平台也有 Windows 部署方案做法一般是通过 Docker Compose 一键启动整体难度不大等 Docker 环境搭好后按官方文档操作即可。越来越多工具开始原生支持 Windows 桌面端对国内开发者来说这是好事说明 Windows 作为主力开发环境的体验正在变好。5. 装机避坑速查表5.1 高频问题排查一图流最后整理一份我在实际装机过程中遇到最多的问题速查表。这些问题看起来各不相同但背后的原理都是 Windows 环境配置的常见陷阱建议截图保存。现象大概率原因快速处理办法Docker Desktop 启动报 VirtualMachinePlatform 14098WSL2 功能未开启执行 dism 命令开启两个组件重启后wsl --updateRedis 服务启动失败端口 6379 被占netstat -ano查端口结束占用进程后重启Elasticsearch 启动闪退JVM 堆内存设置过大修改jvm.options中的-Xms/-Xmx为 512mGit 提示不是内部或外部命令PATH 未正确配置重装 Git 时选 “Git from the command line” 选项.bat脚本双击闪退脚本执行出错在 CMD 里手动执行看报错或加pause定位设备管理器代码 31驱动加载失败卸载设备后去官网重装驱动检查 BIOS 设备开关PowerShell 无法运行 .ps1 脚本执行策略限制Set-ExecutionPolicy RemoteSigned -Scope CurrentUserC 盘爆满软件默认路径 镜像文件堆积迁移 Docker 镜像目录到 D 盘定期磁盘清理java -version无输出JAVA_HOME 配置错误检查JAVA_HOME路径确认没有多余空格连接 Linux 服务器超时防火墙规则或端口未放行检查本地防火墙和远程服务器 sshd 服务状态5.2 装完系统后的第一件事如果把整个装机流程压缩成一句话我的建议是先打补丁再装环境最后装应用顺序别乱。我见过太多人装完系统第一件事就是装各种软件结果系统补丁和驱动冲突蓝屏、闪退、兼容性问题接踵而至最后只能重装。还有一个习惯是装完所有软件后重启一次然后花五分钟检查事件查看器里的“系统”日志看有没有反复出现的红色错误。这样做的好处是能提前发现驱动冲突和服务启动失败而不是等问题真正爆发时再去排查。根据我自己的经验按这份清单走下来一台全新的 Windows 机器从裸机到能胜任开发工作大概一个下午就够了。比起记忆中不断点“下一步”的繁琐这套方案省下的时间和精力是实打实的。工具在迭代Windows 本身也在变但“规划清楚—按序安装—及时排错”这条主线一直没有变过。