WSL2 安装和基本环境配置流程
本文仅用于记录在Windows11上安装WSL2(Windows Subsystem for Linux 2)
步骤 1:安装WSL2和Linux分发
WSL2(Windows Subsystem for Linux 2)顾名思义,是微软开发的适用于多种Linux发行版的子系统,允许开发人员直接在 Windows 上运行 GNU/Linux 环境,相比于传统的VMware或VirtualBox等虚拟机平台,WSL作为WIndows原生的服务,具有得天独厚的优势,其可以更容易地直接访问GPU并利用cuda进行深度学习算法的开发。但由于WSL2并不提供UI,对于不熟悉linux的初学者具有一定的配置难度。在此对我遇到的问题和解决方案进行汇总。
具体安装流程如下:
1.开启硬件虚拟化
wsl要求开启硬件虚拟化功能。在任务管理器-性能中检查硬件虚拟化是否打开。如果未开启硬件虚拟化,则需要重启电脑并进入BIOS。通常BIOS的开启方式是连续按F2(或Fn+F2,依据机型而定),并找到相应的虚拟化功能开启即可。
2. 检查是否开启所需的windows功能
在搜索栏中输入“启用或关闭windows功能”:
开启所需windows功能
检查是否开启Hyper-V, 适用于Linux的Windows子系统,虚拟机平台这三项功能。 需要说明的是,对Win11家庭版,系统并没有预先安装Hyper-V功能。一般来说,即使没有安装Hyper-V功能,也能正常安装并运行wsl,但如果后续配置步骤失败,可以尝试手动安装Hyper-V功能。
手动安装Hyper-V流程: 在桌面新建文本文件 hyper_v. txt ,复制粘贴下方批处理脚本,保存退出,修改文件后缀名为.bat,右键使用管理员打开,脚本将自动完成Hyper-V功能安装。
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hv.txt
for /f %%i in ('findstr /i . hv.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hv.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
Pause
安装完成后,重启即可在windows功能中找到Hyper-V,且正常情况下已经自动开启。需要注意的是,Hyper-V与许多常见的安卓模拟器不兼容。
3. 升级WSL到WSL2
关于WSL2和WSL1的区别,参考微软的官方文档 适用于 Linux 的 Windows 子系统文档 | Microsoft Learn。WSL2需要手动升级。以管理员身份打开powershell,运行 wsl --update 完成升级,并运行:
wsl --set-default-version 2
从而将wsl2设为默认。
4. 下载并安装Linux分发
需要根据需要下载和安装特定的Linux分发。此处我们选择Ubuntu20.04.
安装Linux分发的最简单的方式是直接在Microsoft Store中搜索Ubuntu的相应版本安装即可。(使用VPN可能导致Microsoft Store不可用,关闭即可)。
也可以直接在命令行中安装。在powershell中运行 wsl --list --online 即可显示所有可安装的分发。执行 wsl.exe --install <分发名> 完成安装。安装过程中,需要设置Linux用户名和密码。
5. 测试运行
在powershell中输入 wsl -l -v 查看已安装的分发。显示如下即说明安装成功。
6. 迁移到非系统盘
WSL默认将ubuntu安装在系统盘,但提供了快捷的导出和迁移功能。可以根据需要进行迁移。
依次输入以下命令,从而依次执行:
- 关闭当前子系统,
- 将当前发行版导出到 D:\ubuntu22.04.tar,
- 删除原始系统,
- 将D:\ubuntu22.04.tar导入到新的目录 D:\Ubuntu2004 。至此完成迁移。
wsl --shutdown wsl --export Ubuntu-22.04 D:\Software\ubuntu22.04.tar wsl --unregister Ubuntu-22.04 wsl --import Ubuntu-22.04 D:\Software\Ubuntu2004 D:\Software\ubuntu20.04.tar