Windows Subsystem for Linux (WSL, Ubuntu)安装教程(详细)

文章目录

零、前言

笔者最近安装了WSL,为什么有了VM这样的虚拟机,还要安装这个呢?好处其实不少,但是对于笔者来说,最重要的是方便。

本文笔者就把这个过程记录一下。

一、什么是 WSL?

WSL(Windows Subsystem for Linux) 是微软官方推出的功能,让你在 Windows 上直接运行 Linux 环境,无需双系统、无需虚拟机软件(如VMware)。你可以在 Windows 里打开一个真正的 Bash 终端,安装 apt 包、运行 Python/Node/Docker,读写 Linux 文件系统。

其实对于大多数电脑来说,双系统最好不要弄,容易把系统搞崩。虚拟机软件呢?比较卡顿,而且安装打开比较费时间。

二、WSL 1 vs WSL 2,选哪个?

我用一张表给出二者的区别:

对比维度 WSL 1 WSL 2
Linux 内核 翻译层(兼容层) 真实 Linux 内核(微软维护)
系统调用兼容性 部分不支持 完全兼容(Docker 可用)
文件 I/O 速度(Linux 目录) 较快 极快
文件 I/O(访问 Windows 目录) 较快 稍慢(跨文件系统)
内存占用 低 稍高(VM)
Docker 支持 不支持 原生支持

一句话:WSL2运行一个完整的 Linux 内核,而WSL1不能作为正式环境使用。

所以还是比较推荐WSL2的。当然还是取决于个人选择的。

三、安装前提条件

  • Windows 10 版本 2004(内部版本 19041)及以上,或 Windows 11
  • 64 位系统
  • BIOS 中开启虚拟化(Virtualization/VT-x/AMD-V)
    检查 Windows 版本:按 Win + R,输入 winver 回车查看。

四、完整安装步骤

以管理员身份打开 PowerShell。

执行:

bash 复制代码
wsl -install

重启后,会出现WSL这个程序。

但是直接打开没有用,因为这样,只是把WSL下载了。

我们还要下载Ubuntu。

这样,就已经下载好了。

接着跑一遍更新:

bash 复制代码
sudo apt update && sudo apt upgrade -y

下次想用的时候,直接WIN+R,打开CMD后,输入wsl就可以直接进入安装的Ubuntu环境。

五、其他安装方式

1、启用 WSL 功能和虚拟机平台

bash 复制代码
# 开启「适用于 Linux 的 Windows 子系统」
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 开启「虚拟机平台」(WSL2 必需)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

2、下载并安装 Linux 内核更新包

下载地址(x64 系统):

bash 复制代码
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

或者:

bash 复制代码
https://aka.ms/wsl2kernel

如果是 ARM64 设备,去微软官方文档搜索对应版本

3、设置默认 WSL 版本为 WSL2

bash 复制代码
wsl --set-default-version 2

4、从 Microsoft Store 搜索 Ubuntu,点击安装(Ubuntu 22.04 LTS 或 24.04 LTS 均可)。

  • 安装完成后 Ubuntu 会自动启动,首次启动需要等待 1~3 分钟。
  • 或者直接在 PowerShell 或 CMD 里一条命令搞定:
bash 复制代码
wsl --install -d Ubuntu

5、验证版本:

bash 复制代码
wsl --list --verbose

如果版本是1:

bash 复制代码
wsl --set-version Ubuntu 2

用上面这个代码升级。

六、配置与优化

bash 复制代码
wsl -install

这个用国内IP会跑的很慢,建议申请相关批准或报备后 ,通过代理/VPN进行下载。

或者从 Microsoft Store 下载。

有时候 Store 的下载速度比命令行快,直接搜 Ubuntu 24.04 或 Ubuntu 22.04 LTS 安装即可。

或者去这个页面手动下载 Ubuntu 的 .appx 安装包:

bash 复制代码
https://learn.microsoft.com/zh-cn/windows/wsl/install-manual

下载完后在 PowerShell 里执行:

bash 复制代码
Add-AppxPackage .\Ubuntu2204-221101.AppxBundle

七、使用

bash 复制代码
启动方式
powershellwsl               # 启动默认发行版
wsl -d Ubuntu               # 启动指定发行版
文件系统互访
bash                        # 在 Linux 中访问 Windows 的 C 盘
ls /mnt/c/Users/

# 在 Windows 资源管理器中访问 Linux 文件
# 地址栏输入:\\wsl$\Ubuntu\home\你的用户名
常用 WSL 管理命令
powershellwsl --list --verbose         # 查看已安装发行版
wsl --shutdown                         # 关闭所有 WSL 实例
wsl --unregister Ubuntu                # 注销发行版(会删除数据!)
wsl --export Ubuntu D:\ubuntu-backup.tar         # 备份
wsl --import Ubuntu D:\WSL D:\ubuntu-backup.tar  # 恢复

推荐搭配安装

  • Windows Terminal:微软官方终端,支持多标签、美观、支持 WSL、SSH、PowerShell 等,强烈推荐替代默认黑框。
  • VS Code + Remote - WSL 扩展:在 Windows 的 VS Code 中直接编辑和运行 WSL 里的代码,体验与原生 Linux 开发无异。在 Ubuntu 中执行 code . 即可自动打开。

小结

整个安装流程没有什么复杂的地方,许多的细节都在平时的使用中。

相关推荐
雯宝1 小时前
mnt_init 函数
linux
律宏阔7 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔7 小时前
Windows 禁用联想笔记本所有 Lenovo 后台服务
windows
律宏阔7 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴7 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千8 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei378 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei378 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei378 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
GeW8 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux