2026年了你还不会在Windows上跑Linux?这5种方案让你彻底告别双系统!
🔥 2026年了你还不会在Windows上跑Linux?这5种方案让你彻底告别双系统!
🏷️ 标签:WSL2Docker虚拟机LinuxWindows 11开发环境
📅 更新时间: 2026-02-28
👤 作者: 技术老司机
⭐ 难度等级: ★★★☆☆ (适合所有水平)
📖 前言:一个真实的故事
上周,一个后端同事跟我说:“我想学Linux,但是不敢装双系统怕把电脑搞崩了,买台服务器又太贵了…”
我:“兄弟,都2026年了,Windows和Linux早就可以无缝共存了!你甚至可以在Windows的文件管理器里直接浏览Linux的文件系统,用Windows的VS Code直接编辑Linux里的代码,Linux程序还能跑图形界面!”
同事:“???”
如果你也有同样的困惑,那这篇文章就是为你准备的。
我将从5种不同方案出发,手把手教你如何在Windows上使用Linux系统,从零成本的WSL2到企业级的Docker方案,总有一款适合你。
🗺️ 文章导航
| 方案 | 适用场景 | 性能 | 难度 | 推荐指数 |
|---|---|---|---|---|
| WSL2 | 日常开发、学习Linux | ⭐⭐⭐⭐⭐ | ★☆☆☆☆ | 🏆 强烈推荐 |
| Docker Desktop | 微服务开发、环境隔离 | ⭐⭐⭐⭐ | ★★☆☆☆ | 🥇 推荐 |
| VMware/VirtualBox | 完整Linux桌面体验 | ⭐⭐⭐ | ★★☆☆☆ | 🥈 推荐 |
| Hyper-V | 企业级虚拟化 | ⭐⭐⭐⭐ | ★★★☆☆ | 专业用户 |
| 远程Linux服务器 | 生产环境模拟 | 取决于网络 | ★★☆☆☆ | 进阶用户 |
🚀 方案一:WSL2 —— 微软亲儿子,性能炸裂(强烈推荐)
💡 WSL2 是什么?
WSL (Windows Subsystem for Linux) 是微软官方推出的Linux兼容层。WSL2 使用真正的Linux内核(没错,是货真价实的Linux内核!),运行在轻量级虚拟机中,但体验上就像是Windows的一个原生功能。
🔥 惊人的事实:WSL2 的文件I/O性能比WSL1快了约20倍,网络性能也大幅提升!
📋 系统要求
- Windows 10 版本 2004 及以上 (Build 19041+)
- Windows 11 任何版本(推荐)
- 开启 虚拟化支持(BIOS中开启 VT-x / AMD-V)
- 至少 8GB 内存(推荐16GB)
🛠️ 安装步骤(超详细版)
Step 1:一键安装(推荐方式)
打开 PowerShell(管理员模式),运行:
# 这一行命令会自动启用所有必需功能并安装 WSL2 + Ubuntu wsl --install 💡 小贴士:这个命令会自动完成以下操作:启用 “适用于 Linux 的 Windows 子系统” 可选功能启用 “虚拟机平台” 可选功能下载并安装最新的 Linux 内核将 WSL2 设置为默认版本下载并安装 Ubuntu 发行版
安装完成后重启电脑。
Step 2:首次配置
重启后,Ubuntu会自动弹出终端窗口:
# 系统会要求你创建用户名和密码 Enter new UNIX username: yourname New password: ******** Retype new password: ******** # 创建完成后,你就进入了 Linux 环境! yourname@DESKTOP-XXXX:~$ Step 3:更换国内镜像源(重要!否则下载龟速)
# 备份原始源sudocp /etc/apt/sources.list /etc/apt/sources.list.bak # 使用阿里云镜像(以 Ubuntu 24.04 为例)sudotee /etc/apt/sources.list <<'EOF' deb http://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse EOF# 更新包列表sudoapt update &&sudoapt upgrade -yStep 4:安装你需要的开发工具
# 安装常用开发工具sudoaptinstall-ygitcurlwgetvim build-essential # 安装 Node.js (通过 nvm)curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh |bashsource ~/.bashrc nvm install--lts# 安装 Pythonsudoaptinstall-y python3 python3-pip python3-venv # 安装 Java (OpenJDK 21)sudoaptinstall-y openjdk-21-jdk # 安装 Gosudoaptinstall-y golang-go # 验证安装node--version&& python3 --version&&java--version&& go version 🎨 WSL2 高级玩法
玩法1:在Windows文件管理器中直接访问Linux文件
在文件管理器地址栏输入:
\\wsl$ 你会看到所有已安装的Linux发行版,可以像操作Windows文件一样操作Linux文件!
玩法2:VS Code 无缝连接 WSL2
# 在WSL中你的项目目录下运行 code .VS Code 会自动安装 Remote-WSL 扩展并连接到 Linux 环境,你可以:
- 在Windows的VS Code中编辑Linux的文件
- 使用Linux的终端和工具链
- 享受两个系统的最佳组合
玩法3:运行Linux GUI程序(Windows 11)
Windows 11 原生支持 WSLg,可以直接运行Linux图形应用!
# 安装 Linux 图形应用sudoaptinstall-y gedit # 文本编辑器sudoaptinstall-y nautilus # 文件管理器sudoaptinstall-y firefox # Firefox浏览器# 直接运行!会弹出Windows窗口! gedit & firefox &🤯 是的,你没看错!Linux的Firefox会以Windows窗口的形式打开,甚至出现在任务栏上!
玩法4:WSL2 网络配置(开发必备)
# 查看 WSL2 的 IP 地址hostname-I# 从Windows访问WSL2中运行的服务# WSL2 中启动的服务器(如 localhost:3000)# 可以直接在Windows浏览器中通过 localhost:3000 访问!玩法5:限制WSL2内存占用
创建文件 C:\Users\<你的用户名>\.wslconfig:
[wsl2] # 限制最大内存 memory=4GB # 限制CPU核心数 processors=4 # 限制交换空间 swap=2GB # 关闭页面报告(减少内存占用) pageReporting=false 修改后运行:
wsl --shutdown # 重新启动 WSL 即可生效📊 WSL2 常用命令速查表
| 命令 | 说明 |
|---|---|
wsl --list --verbose | 查看已安装的发行版及状态 |
wsl --list --online | 查看可在线安装的发行版 |
wsl --install -d <发行版名> | 安装指定发行版 |
wsl --set-default <发行版名> | 设置默认发行版 |
wsl --shutdown | 关闭所有WSL实例 |
wsl --terminate <发行版名> | 终止指定发行版 |
wsl --export <发行版名> <路径> | 导出发行版为tar文件 |
wsl --import <名称> <安装路径> <tar路径> | 导入发行版 |
wsl --update | 更新WSL内核 |
wsl --version | 查看WSL版本信息 |
🐳 方案二:Docker Desktop —— 容器化开发的终极方案
💡 为什么开发者都在用Docker?
Docker不是传统意义上的"使用Linux",但它让你可以在完全隔离的Linux容器中运行任何Linux应用程序和服务。对于微服务开发来说,Docker是事实标准。
🛠️ 安装步骤
Step 1:安装Docker Desktop
- 前往 Docker Desktop官网 下载安装包
- 运行安装程序,勾选 “Use WSL 2 instead of Hyper-V”
- 安装完成后重启电脑
Step 2:验证安装
# 在PowerShell中运行 docker --version # 输出类似:Docker version 27.x.x, build xxxxxxx docker run hello-world # 如果看到 "Hello from Docker!" 说明安装成功🎯 实战案例:用Docker搭建一个完整的开发环境
案例1:快速启动一个Ubuntu环境
# 拉取并运行Ubuntu容器docker run -it--name my-ubuntu ubuntu:24.04 bash# 现在你就在一个全新的Ubuntu环境中了! root@container-id:/# cat /etc/os-release# 输出 Ubuntu 24.04 LTS 信息# 安装你需要的工具apt update &&aptinstall-ycurlvimgit# 退出容器(容器会停止)exit# 重新启动并进入容器docker start -ai my-ubuntu 案例2:一键搭建LNMP开发环境
创建 docker-compose.yml:
version:"3.8"services:nginx:image: nginx:alpine ports:-"80:80"volumes:- ./www:/usr/share/nginx/html depends_on:- php php:image: php:8.3-fpm volumes:- ./www:/var/www/html mysql:image: mysql:8.0environment:MYSQL_ROOT_PASSWORD: root123 MYSQL_DATABASE: myapp ports:-"3306:3306"volumes:- mysql_data:/var/lib/mysql redis:image: redis:7-alpine ports:-"6379:6379"volumes:mysql_data:# 一键启动所有服务!docker compose up -d# 查看运行状态docker compose ps# 查看日志docker compose logs -f# 停止所有服务docker compose down 案例3:用Docker运行数据库(告别繁琐安装)
# 启动 PostgreSQLdocker run -d--name postgres \-ePOSTGRES_PASSWORD=mysecretpassword \-p5432:5432 \ postgres:16 # 启动 MongoDBdocker run -d--name mongodb \-p27017:27017 \ mongo:7 # 启动 Redisdocker run -d--name redis \-p6379:6379 \ redis:7-alpine # 查看所有运行中的容器dockerps💡 Docker的魅力:不想要了?docker rm -f 容器名 一行命令删掉,系统干干净净,不留任何垃圾!💻 方案三:虚拟机方案 —— 最完整的Linux桌面体验
🔧 VMware Workstation Pro(现已免费!)
📢 重磅消息:VMware Workstation Pro 从 2024 年起已经完全免费供个人使用!
安装步骤
- 前往 Broadcom官网 注册并下载 VMware Workstation Pro
- 安装 VMware Workstation Pro
- 下载你喜欢的Linux发行版ISO镜像
推荐Linux发行版
| 发行版 | 适合人群 | 特点 |
|---|---|---|
| Ubuntu Desktop 24.04 | Linux新手 | 社区大、教程多、开箱即用 |
| Linux Mint 22 | Windows转Linux用户 | 界面最像Windows,过渡无压力 |
| Fedora 41 | 开发者 | 技术前沿、GNOME最新体验 |
| Arch Linux | 极客/高级用户 | 滚动更新、高度自定义 |
| Kali Linux | 安全研究员 | 渗透测试工具箱 |
创建虚拟机最佳配置
处理器: 2核心 4线程(或更多) 内存: 4GB(桌面版建议8GB) 硬盘: 60GB(动态扩展) 网络: NAT模式(最简单) 显示: 开启3D加速,显存256MB VMware增强工具安装(关键步骤!)
# Ubuntu/Debian 系sudoaptinstall-y open-vm-tools open-vm-tools-desktop # Fedora/CentOS 系sudo dnf install-y open-vm-tools open-vm-tools-desktop # 安装后重启sudoreboot# 安装后可以享受:# ✅ 自适应分辨率# ✅ 主机与虚拟机之间拖拽文件# ✅ 共享剪贴板# ✅ 共享文件夹🆓 VirtualBox(完全开源免费)
如果你不想注册Broadcom账号,VirtualBox是另一个好选择:
# 使用 winget 安装(最简单) winget install Oracle.VirtualBox VirtualBox的优势:
- ✅ 完全开源免费
- ✅ 跨平台(Windows/Mac/Linux都能用)
- ✅ 活跃的社区支持
- ❌ 性能略逊于VMware
- ❌ 3D图形加速能力较弱
🏢 方案四:Hyper-V —— Windows原生的企业级虚拟化
适用场景
- Windows 10/11 专业版或企业版(家庭版不支持!)
- 需要高性能虚拟化
- 企业环境中的标准化部署
启用Hyper-V
# PowerShell(管理员模式)Enable-WindowsOptionalFeature-Online -FeatureName Microsoft-Hyper-V -All # 或者通过 DISM DISM /Online /Enable-Feature/All /FeatureName:Microsoft-Hyper-V 重启后在开始菜单搜索 “Hyper-V 管理器” 即可使用。
快速创建Ubuntu虚拟机
Hyper-V 管理器提供了 “快速创建” 功能,可以一键创建Ubuntu虚拟机:
- 打开 Hyper-V 管理器
- 点击右侧 “快速创建”
- 选择 Ubuntu 24.04 LTS
- 点击 “创建虚拟机”
- 等待下载和安装完成
💡 Hyper-V vs VMware:Hyper-V是Type-1虚拟化(直接运行在硬件上),理论性能更好。但VMware的用户体验和生态更丰富。
🌐 方案五:远程Linux服务器 —— 最真实的生产环境体验
方案A:云服务器(推荐新手体验)
| 云服务商 | 最低价格 | 特点 |
|---|---|---|
| 阿里云 | ~¥9/月 | 国内最大,文档齐全 |
| 腾讯云 | ~¥8/月 | 性价比高,学生优惠 |
| 华为云 | ~¥10/月 | 企业级稳定性 |
| Vultr | ~$2.5/月 | 海外节点,按小时计费 |
方案B:SSH连接工具推荐
使用Windows Terminal + OpenSSH(系统自带!)
# Windows 10/11 已经内置了 OpenSSH 客户端 ssh username@your-server-ip # 配置免密登录 ssh-keygen -t ed25519 -C "[email protected]" ssh-copy-id username@your-server-ip # 配置SSH别名(编辑 ~/.ssh/config)# Host myserver# HostName 123.456.789.0# User root# Port 22# IdentityFile ~/.ssh/id_ed25519# 之后直接用别名连接 ssh myserver VS Code Remote-SSH(开发者首选)
- 安装 VS Code 扩展:Remote - SSH
Ctrl+Shift+P→ 输入 “Remote-SSH: Connect to Host”- 输入
username@your-server-ip - 像本地开发一样在远程服务器上编写代码!
🏆 五种方案横向对比
| 特性 | WSL2 | Docker | VMware | Hyper-V | 远程服务器 |
|---|---|---|---|---|---|
| 安装难度 | ⭐ 极易 | ⭐⭐ 简单 | ⭐⭐ 简单 | ⭐⭐⭐ 中等 | ⭐⭐ 简单 |
| 性能 | 95% | 90% | 75% | 85% | 取决于网络 |
| 完整桌面 | ✅ (Win11) | ❌ | ✅ | ✅ | ❌ (需VNC) |
| 资源占用 | 极低 | 低 | 高 | 中 | 零(远程) |
| 系统隔离 | 中 | 强 | 强 | 强 | 完全隔离 |
| 适合场景 | 日常开发 | 微服务 | 学习Linux | 企业部署 | 生产模拟 |
| 费用 | 免费 | 免费 | 免费 | 免费 | 付费 |
| 快照/回滚 | ❌ | ✅ | ✅ | ✅ | 取决于云商 |
🔥 实战综合案例:从零搭建一套完整的全栈开发环境
以下演示使用 WSL2 + Docker 的黄金组合,这也是目前最主流的Windows下Linux开发方案。
Step 1:环境准备
# 1. 安装 WSL2 + Ubuntu wsl --install -d Ubuntu-24.04 # 2. 安装 Docker Desktop(会自动集成WSL2)# 下载安装后,确保设置中勾选了 "Use WSL 2 based engine"Step 2:在WSL2中配置开发环境
# 进入 WSL2 wsl # 安装 zsh + oh-my-zsh(让终端好看又好用)sudoaptinstall-yzshsh-c"$(curl-fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"# 安装 zsh 插件git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting # 编辑 ~/.zshrc,在 plugins 行添加# plugins=(git zsh-autosuggestions zsh-syntax-highlighting docker docker-compose)source ~/.zshrc Step 3:用Docker Compose一键启动项目依赖
# 创建项目目录mkdir-p ~/projects/fullstack-demo &&cd ~/projects/fullstack-demo # 创建 docker-compose.ymlcat> docker-compose.yml <<'EOF' version: '3.8' services: postgres: image: postgres:16-alpine environment: POSTGRES_DB: myapp POSTGRES_USER: admin POSTGRES_PASSWORD: admin123 ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data redis: image: redis:7-alpine ports: - "6379:6379" adminer: image: adminer ports: - "8080:8080" depends_on: - postgres volumes: pgdata: EOF# 启动所有服务docker compose up -d# 查看状态docker compose psStep 4:开始开发
# 创建一个 Node.js 项目mkdir backend &&cd backend npm init -ynpminstall express pg redis # 创建一个简单的API服务cat> index.js <<'EOF' const express = require('express'); const app = express(); app.get('/', (req, res) => { res.json({ message: 'Hello from WSL2 + Docker! 🐧🐳', platform: process.platform, arch: process.arch }); }); app.listen(3000, () => { console.log('Server running at http://localhost:3000'); }); EOF# 运行服务node index.js # 在Windows浏览器中打开 http://localhost:3000 即可访问!❓ 常见问题 FAQ
Q1:WSL2 和虚拟机可以同时用吗?
可以! 但需要注意:
- WSL2 和 Hyper-V 可以完美共存(WSL2底层就是Hyper-V)
- WSL2/Hyper-V 开启后,VMware Workstation Pro 17+ 也能正常运行
- VirtualBox 6.0+ 也支持与 Hyper-V 共存,但性能略有下降
Q2:WSL2 中的Linux文件放在哪里?
WSL2的文件系统存储在一个 .vhdx 虚拟磁盘文件中,通常位于:
C:\Users\<用户名>\AppData\Local\Packages\<发行版包名>\LocalState\ext4.vhdx ⚠️ 注意:不要直接用Windows工具修改这个文件!通过 \\wsl$ 路径访问是安全的。Q3:WSL2 占用内存太多怎么办?
创建或编辑 C:\Users\<用户名>\.wslconfig 文件来限制资源,详见上文"玩法5"。
Q4:Docker Desktop 太重了怎么办?
可以直接在WSL2中安装Docker Engine(不使用Docker Desktop):
# 在WSL2中安装 Docker Enginecurl-fsSL https://get.docker.com |sh# 将当前用户加入docker组sudousermod-aGdocker$USER# 启动Docker服务sudoservicedocker start # 验证docker run hello-world Q5:多个WSL发行版怎么管理?
# 安装多个发行版 wsl --install -d Debian wsl --install -d openSUSE-Leap-15.6 wsl --install -d kali-linux # 查看所有已安装的发行版 wsl -l -v # 切换默认发行版 wsl --set-default Debian # 进入指定发行版 wsl -d kali-linux # 删除不需要的发行版 wsl --unregister openSUSE-Leap-15.6 💬 讨论区:你更喜欢哪种方案?
🎯 话题1:WSL2 已经这么强了,虚拟机还有存在的必要吗?
我个人觉得,对于纯开发用途,WSL2已经完全够用了。但如果你需要测试不同Linux发行版的桌面环境,或者需要模拟完整的网络拓扑,虚拟机仍然不可替代。
你怎么看?欢迎在评论区分享你的想法!
🎯 话题2:有了Docker,还需要手动配置开发环境吗?
Dev Container(开发容器)的理念是把整个开发环境都容器化,团队成员只需要clone仓库就能获得一致的环境。但也有人认为这增加了复杂性。
你的团队是怎么做的?
🎯 话题3:Windows + Linux 还是直接用 macOS?
这可能是开发者圈子里最经典的争论了。macOS自带类Unix环境确实方便,但Windows + WSL2 的组合在游戏+开发两不误方面有天然优势。
你站哪队?
📚 推荐学习资源
| 资源 | 链接 | 说明 |
|---|---|---|
| 微软WSL官方文档 | docs.microsoft.com | 最权威的WSL参考 |
| Docker官方文档 | docs.docker.com | Docker学习必看 |
| Linux命令大全 | linux.die.net | Linux命令参考 |
| The Missing Semester | missing.csail.mit.edu | MIT的Linux/开发工具课程 |
| 鸟哥的Linux私房菜 | linux.vbird.org | 中文Linux经典教程 |
🎉 总结
| 你的需求 | 推荐方案 |
|---|---|
| 我是学生,想学Linux命令 | WSL2(零成本,即装即用) |
| 我是后端开发,需要跑服务 | WSL2 + Docker(黄金组合) |
| 我想体验完整的Linux桌面 | VMware(免费且功能强大) |
| 我需要模拟企业生产环境 | 远程云服务器 |
| 我什么都想要 | WSL2 + Docker + VMware 全都装! |
选择恐惧症?那就从WSL2开始吧! 一行命令就能安装,不满意随时卸载,零风险零成本。
📌 如果这篇文章对你有帮助,请点赞👍、收藏⭐、关注🔔!你的支持是我持续输出高质量内容的最大动力!
📌 有任何问题欢迎在评论区留言,我会一一回复!
📌 转载请注明出处,谢谢!