Windows开发Linux:从入门到精通的完整攻略
很多程序员日常用Windows办公,却经常要面对Linux服务器、开源项目或者嵌入式开发。直接换系统不现实,双系统又麻烦,于是“Windows开发Linux”成了刚需。这篇文章不讲空话,直接给你能落地的几种方案,从零基础到进阶都能用,重点是免费、稳定、好上手。
为什么Windows用户需要做Linux开发
Linux在服务器、云计算、容器、嵌入式领域几乎是标准。Windows再好用,也绕不开这些场景。常见需求包括:
- 写后端服务、部署到Ubuntu/CentOS服务器
- 参与开源项目,需要Linux环境编译测试
- 学习Docker、Kubernetes、Shell脚本
- 做跨平台软件,需要验证Linux兼容性
直接买台Linux电脑成本高,远程服务器又依赖网络。本地在Windows上搞定Linux环境,才是最高效的选择。
四大主流方案对比,帮你选对路
先看清优缺点,别盲目跟风。
方案一:WSL2(Windows Subsystem for Linux)
微软官方出的子系统,目前最推荐。几乎原生性能,安装简单,和Windows文件互通方便。适合日常开发、命令行操作、Docker。缺点是对图形界面支持稍弱(现在也有改善),极少数硬件驱动有限制。
方案二:虚拟机(VMware或VirtualBox)
完整Linux系统,隔离性好,适合需要完整桌面环境的场景。性能损耗约10%-20%,硬盘占用大。免费VirtualBox够用,付费VMware更流畅。
方案三:双系统(Windows + Ubuntu/CentOS)
性能最强,零损耗。适合重度开发或游戏+开发兼顾。缺点是重启切换麻烦,分区风险高,新手容易操作失误。
方案四:远程Linux服务器 + SSH
云服务器或公司内网机器,本地只当终端。适合已经有服务器资源的人。网络延迟是关键,离线就玩不了。
综合推荐:新手和大多数开发者先上WSL2,需求复杂再加虚拟机,双系统留给有明确高性能需求的人。
新手首选:WSL2从安装到开发环境搭建
WSL2是Windows 10/11自带功能,免费、轻量。下面按步骤写,跟着做就行。
第一步:开启WSL功能
- 按Win + X,选“Windows PowerShell(管理员)”或“终端(管理员)”。
- 输入下面命令并回车:
wsl --install这条命令会自动安装WSL和默认Ubuntu。如果提示需要更新,先跑:
wsl --update - 重启电脑。重启后会弹出Ubuntu窗口,设置用户名和密码(密码输入时不显示,正常现象)。
如果命令失败,手动开启:
控制面板 → 程序 → 启用或关闭Windows功能 → 勾选“适用于Linux的Windows子系统”和“虚拟机平台”,确定后重启,再执行wsl --install -d Ubuntu。
第二步:确认版本并切换到WSL2
打开PowerShell,输入:
wsl -l -v
VERSION列显示2就对了。如果是1,执行:
wsl --set-version Ubuntu 2
再设置默认:
wsl --set-default-version 2
第三步:更新系统和安装基础工具
进入Ubuntu终端(开始菜单搜Ubuntu),依次执行:
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential git curl wget vim -y
这会装好编译器、Git等开发必备。
第四步:配置开发环境(以常见后端为例)
安装Node.js:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
安装Python和常用库:
sudo apt install python3 python3-pip python3-venv -y
安装Docker(强烈推荐):
先在Windows安装Docker Desktop,设置里勾选“Use the WSL 2 based engine”,再勾选你的Ubuntu发行版。之后在WSL里直接用docker命令,性能接近原生。
安装VS Code远程开发:
Windows装好VS Code,扩展市场搜索“WSL”并安装官方插件。之后在Ubuntu终端输入code .,就能直接打开当前目录,享受Windows图形界面 + Linux命令行的组合。
文件互通:Windows里访问\\wsl$\Ubuntu\home\你的用户名,Linux里访问/mnt/c/Users/你的Windows用户名。注意大文件复制用cp命令比资源管理器拖更快。
第五步:常用优化
-
限制内存:在Windows用户目录创建
.wslconfig文件,内容示例:[wsl2] memory=4GB processors=4 swap=2GB保存后执行
wsl --shutdown生效。 -
加快apt速度:换成国内镜像(清华或阿里)。编辑
/etc/apt/sources.list,把官方源替换掉,再sudo apt update。
进阶方案:虚拟机完整Linux体验
当WSL图形界面不够用,或者要测试多发行版时,上虚拟机。
免费路线(VirtualBox):
- 官网下载VirtualBox和对应扩展包。
- 下载Ubuntu ISO(推荐LTS版本)。
- 新建虚拟机,内存给4GB以上,硬盘动态分配50GB起。
- 启用虚拟化:BIOS里开VT-x/AMD-V,VirtualBox设置里勾选“启用VT-x/AMD-V”和“启用嵌套分页”。
- 安装系统后,装增强功能(Devices → Insert Guest Additions CD),实现无缝鼠标、共享文件夹、高分辨率。
付费更流畅(VMware Workstation Player免费个人版):
同样步骤,性能通常比VirtualBox好一点,3D加速也更稳。
共享文件夹设置好后,Windows和Linux互传文件很方便。快照功能记得用,出问题一键回滚。
双系统安装要点(高性能玩家)
适合CPU、内存、硬盘都充裕,且接受重启的人。
- 备份重要数据!这是铁律。
- 用磁盘管理压缩出至少50GB未分配空间(建议100GB以上)。
- 制作Ubuntu启动U盘(Rufus工具,选DD模式)。
- 重启进BIOS,关闭Secure Boot,调U盘启动。
- 安装时选“其他选项”,手动分区:
- EFI分区(如果已有就共用)
- 根分区
/30GB以上 ext4 - 交换分区(内存的1-2倍)
- 家目录
/home剩余空间
- 安装引导选Windows的EFI分区,装完用EasyBCD或启动菜单切换。
注意:Windows更新有时会覆盖引导,提前做好备份。笔记本注意 discrete显卡驱动兼容问题。
远程开发与混合方案
公司或云服务器已有Linux时,本地Windows只做客户端:
- 用Windows Terminal + OpenSSH(系统自带)直连。
- VS Code装Remote-SSH插件,体验和本地几乎一样。
- 进阶用MobaXterm或Xshell,支持SFTP、多标签。
Docker Desktop + WSL后端,可以同时跑Windows容器和Linux容器,跨平台测试很方便。
常见问题与避坑指南
WSL网络访问不了?
重启WSL:wsl --shutdown。或检查Windows防火墙。
文件权限混乱?
Windows创建的文件在Linux里权限经常是777,用chmod调整,或在/etc/wsl.conf加:
[automount]
options = "metadata"
虚拟机卡顿?
给够CPU核心和内存,开启硬件虚拟化,关闭Windows的Hyper-V(和VMware冲突时)。固态硬盘分配给虚拟磁盘。
双系统时间不对?
Linux下执行:
timedatectl set-local-rtc 1 --adjust-system-clock
性能对比实测参考(同一台i7+16G机器):
- WSL2编译大型项目:接近原生Linux
- VirtualBox:慢15%左右
- 双系统:最快
日常写代码、跑服务,WSL2完全够用。
工具链推荐与长期维护
必备组合:
- 编辑器:VS Code + WSL插件 + 远程插件
- 版本控制:Git(WSL和Windows各装一份,注意换行符配置
core.autocrlf) - 终端:Windows Terminal,自定义WSL配置文件
- 包管理:apt + nvm/pyenv 管理多版本
- 容器:Docker Desktop
定期维护:
- WSL:
sudo apt update && sudo apt upgrade - 备份:重要项目用Git,系统用
wsl --export导出tar包 - 安全:不要在WSL里跑来路不明的脚本,防火墙保持开启
Windows更新后如果WSL异常,先wsl --update,再重启。长期不用的发行版可以wsl --unregister清掉,释放空间。
选择方案时记住原则:日常开发优先WSL2,需要完整桌面或特殊驱动上虚拟机,极致性能再考虑双系统。按上面步骤操作,大多数人半天内就能跑起完整Linux开发环境。遇到具体报错,把错误信息复制下来针对性查,比盲目重装快得多。

还没有评论,来说两句吧...