TIP
Step 1 - 启用适用于 Linux 的 Windows 子系统
在 Windows 上安装任何 Linux 发行版之前,必须先启用 " 适用于 Linux 的 Windows 子系统 " 可选功能。
以管理员身份运行 PowerShell
(" 开始 " 菜单 ➡️ "PowerShell" ➡️ 单击右键 ➡️ " 以管理员身份运行 "),输入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Step 2 - 启用虚拟机功能
安装 WSL2 之前,必须启用虚拟机平台可选功能。
IMPORTANT
您的计算机需要具备虚拟化功能才能使用此功能。如何开启呢?进入主板 BIOS 界面 ➡️ 启用虚拟化选项,如果是近几年新买的电脑,该选项默认是打开的。对于该选项每个电脑主板型号不同,设置的方法也不同。所以最好的方法是根据自己的主板型号,去度娘或者谷歌搜索一下开启虚拟化的方法。
以管理员身份运行 PowerShell
,输入以下命令:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
执行完成之后务必记得重启一下电脑!!!
Step 3 - 下载 Linux 内核更新包
Linux 内核更新包安装最新版本的 WSL2 Linux 内核,用于在 Windows 操作系统镜像中运行 WSL。
WSL2 Linux kernel update package for x64 machines
下载完成之后双击运行即可!
Step 4 - 设置 WSL2 为默认版本
以管理员身份运行 PowerShell
,输入以下命令:将 WSL2 设置为安装新 Linux 发行版时的默认版本
wsl --set-default-version 2
Step 5 - 安装 Linux 发行版
- 以管理员身份运行
PowerShell
,输入wsl
命令进入默认的 Linux 发行版如上图所示,可以看到此时并没有安装任何 Linux 发行版!提示可以使用
wsl --list --online
命令列出可用的 Linux 发行版并使用wsl --install <Distro>
命令安装指定的 Linux 发行版。 - 使用
wsl --list --online
命令列出可用的 Linux 发行版如上图所示,已列出可用的 Linux 发行版,提示可以使用
wsl --install <Distro>
命令安装指定的 Linux 发行版。 - 使用
wsl --install Ubuntu-22.04
命令安装 Ubuntu 22.04 版本耐心等待安装完成即可...,安装完成之后,首次启动新安装的 Linux 发行版时,会要求你等待一两分钟,让文件解压缩并存储到电脑上,不过以后所有的启动过程都将不会超过一秒钟。如果是首次进入的话,则需要为你的新 Linux 发行版创建一个用户账户和密码。
- 使用
wsl --list --verbose
命令列出已安装的 Linux 发行版 - 使用
wsl --status
命令检查 WSL 状态
Step 6 - 迁移到非系统盘(可选)
虚拟机(Ubuntu20.04)默认安装在 C 盘 C:\Users\liulei\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc
,大量占用系统盘的空间,所以决定迁移到其他盘中。
使用
wsl --shutdown
终止所有正在运行的发行版和 WSL2 轻量级实用工具虚拟机使用
wsl --export <Distribution Name> <FileName>
命令对需要迁移的分发或虚拟机进行导出,其中<Distribution Name>
为目标 Linux 发行版的名称,<FileName>
为文件导出路径,例如:wsl --export Ubuntu-22.04 D:\wsl-Ubuntu-20.04.tar
使用
wsl --unregister <DistributionName>
命令注销并卸载 Linux 发行版,其中<Distribution Name>
为目标 Linux 发行版的名称,例如:wsl --unregister Ubuntu-22.04
CAUTION
取消注册后,与该分发版关联的所有数据、设置和软件将永久丢失。
最后再手动删除 C 盘中的该文件夹
C:\Users\liulei\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc
!使用
wsl --import <Distribution Name> <InstallLocation> <FileName> --version 2
将指定 tar 文件导入为新的发行版并安装在指定路径,其中<Distribution Name>
为目标 Linux 发行版的名称,InstallLocation
为安装路径,<FileName>
为 tar 文件路径,例如:wsl --import Ubuntu-22.04 D:\devsoft\WSL\Ubuntu-22.04 D:\wsl-Ubuntu-20.04.tar --version 2
使用
wsl
命令进入默认的 Linux 发行版使用
wsl --list --verbose
列出已安装的 Linux 发行版使用
wsl --status
命令检查 WSL 状态删除 tar 文件
Step 7 - 更换镜像源
- 使用
wsl
命令进入默认的 Linux 发行版 - 使用
cd /etc/apt
命令进入apt
目录 - 使用
cp sources.list sources.list.bak
命令备份原来的配置文件 - 使用
vim sources.list
命令打开配置文件 - 使用
:
➡️%s/security.ubuntu/mirrors.aliyun/g
全局替换security.ubuntu
- 使用
:
➡️%s/archive.ubuntu/mirrors.aliyun/g
全局替换archive.ubuntu
- 最后使用
:wq
命令进行保存并退出 - 使用
apt-get update
命令更新软件列表 - 使用
apt-get upgrade
命令更新软件
Step 8 - 安装 Docker Desktop
WSL 上的 Docker 容器入门 | Microsoft Learn
借助 Docker Desktop for Windows 中支持的 WSL2 后端,可以在基于 Linux 的开发环境中工作并生成基于 Linux 的容器,同时使用 Visual Studio Code 进行代码编辑和调试,并在 Windows 上的 Microsoft Edge 浏览器中运行容器。
具体步骤如下所示:
下载 Docker Desktop 并按照安装说明进行操作
确保在 " 设置 " ➡️ " 常规 " 中选中 " 使用基于 WSL2 的引擎 "
通过转到 " 设置 " ➡️ " 资源 " ➡️ "WSL 集成 ",从要启用 Docker 集成的已安装 WSL2 发行版中进行选择
若要确认已安装 Docker,请打开 WSL 发行版(例如 Ubuntu),并通过输入
docker --version
来显示版本和内部版本号通过使用
docker run hello-world
运行简单的内置 Docker 映像,测试安装是否正常工作通过转到 " 设置 " ➡️ "Docker 引擎 ",增加
registry-mirrors
键值配置国内镜像源,如下所示:shell"registry-mirrors": [ "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com", "https://mirror.ccs.tencentyun.com" ]
最后点击 "Apply & restart" 按钮并重新启动 Docker Desktop 即可!
迁移到非系统盘 Docker Desktop 通过 WSL2 启动,会自动创建 2 个子系统,分别对应 2 个 vhdx 硬盘映像文件,默认安装在 C 盘
C:\Users\liulei\AppData\Local\Docker\wsl
点击
Browse
按钮更换镜像默认存储位置,例如:D:\devsoft\WSL\DockerDesktopWSL
最后点击 "Apply & restart" 按钮并重新启动 Docker Desktop 即可!
Step 9 - 使用 oh-my-posh 进行终端美化
- 使用
curl -s https://ohmyposh.dev/install.sh | bash -s
命令安装oh-my-posh
安装过程中可能会出现如下错误信息:在安装oh-my-posh
时必须先安装unzip
模块使用
apt install unzip
命令安装unzip
模块成功之后,再次尝试使用curl -s https://ohmyposh.dev/install.sh | bash -s
命令安装oh-my-posh
。 - 使用
oh-my-posh font install
命令安装 Nerd Fonts 字体,官方推荐安装 Meslo LGM NF 字体,不过可以根据自己的喜爱选择其他的字体,如DejaVuSansMono
字体!!!使用⬇️箭头选中
Meslo
字体,回车开始安装...如下所示,使用官方这种安装方式会一直卡住不动,因此不是很推荐!进入 Releases · ryanoasis/nerd-fonts (github.com) 页面,选择下载
Meslo.tar.xz
包,复制下载链接使用
wget https://slink.ltd/https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/Meslo.tar.xz
命令开始下载...下载完成之后需要使用
xz -d Meslo.tar.xz
命令和mkdir Meslo & tar -xvf Meslo.tar -C /usr/share/fonts/Meslo
命令进行两次解压。使用
cd /usr/share/fonts/Meslo
命令Meslo
目录,执行mkfontscale
和mkfontdir
命令,期间遇到错误时根据提示使用apt install xfonts-utils
命令安装xfonts-utils
模块最后使用
fc-cache -fv
命令刷新系统字体缓存,期间遇到错误时根据提示使用apt install fontconfig
命令安装fontconfig
模块 - 配置 Windows Terminal 中的
Ubuntu-22.04
使用刚才安装的Meslo
字体,可以参考上篇文章 Windows Terminal; - 配置 Windows Terminal 中的
Ubuntu-22.04
应用oh-my-posh
;如果你不知道自己目前使用的是哪个 shell,可以使用oh-my-posh get shell
命令进行查看,如下所示:将以下内容添加到
~/.bashrc
文件中:eval "$(/usr/local/bin/oh-my-posh init bash --config ~/.cache/oh-my-posh/themes/aliens.omp.json)"
,其中的aliens
为选择的主题,可以查看 Themes | Oh My Posh 总共有哪些主题,根据自己的喜爱进行更换,最后使用exec bash
命令使配置生效!
至此,Windows11 安装 WLS2 就圆满完成啦!🎉🎉🎉