Windows10 使用WSL2运行Ubuntu
系统配置
安装流程
安装WSL,打开系统设置-应用与功能-Windows 功能,勾选其中的
Virtual Machine Platform
和Windows Subsystem for Linux
,重启电脑到install-manual 下载WSL2 Linux kernel update package for x64 machines,并安装
PowerShell中执行
wsl --set-default-version 2
设置使用WSL2ubuntu官网 下载24.04 LTS的WSL的镜像文件64-bit PC (AMD64) WSL image,得到文件
ubuntu-24.04.3-wsl-amd64.wsl
把这个文件解压后得到1.3GB的
ubuntu-24.04.3-wsl-amd64
文件使用wsl导入系统镜像到指定目录
wsl --import <系统名称> <安装位置> <镜像文件路径>
1
2
3
4
5
6wsl --import Ubuntu-24.04 "E:\wsl\Ubuntu-24.04" "E:\wsl\ubuntu-24.04.3-wsl-amd64"
wsl.exe --import <Distro> <InstallLocation> <FileName> [Options]
Options:
--version <Version>
--vhd安装完成后会在
E:\wsl\Ubuntu-24.04
目录中生成一个ext4.vhdx
文件,大小为1.5G多使用
wsl --list --all
查看当前已经安装的系统
1 | PS C:\Users\Edison> wsl --list --all |
- 运行系统
wsl
因为只有一个子系统可以不用带其他参数,也可以指定系统wsl -d Ubuntu-24.04
1 | PS C:\Users\Edison> wsl |
常用命令
- 查看当前系统状态, 在powershell中执行
wsl -l -v
- 使用root用户登录,在powershell中执行
wsl -u -root
或者wsl --distribution <Distribution Name> --user <User Name>
- 帮助信息
wsl --help
- 关闭系统
wsl --shutdown
或者wsl -t <系统名称>
- 删除系统
--unregister <Distro>
文件访问
windows访问ubuntu系统文件
在windows资源管理器的地址栏输入\\wsl$
,可以看到一个发行版名称的挂在目录
ubuntu访问windows目录
直接在终端下访问/mnt/<windows盘符>
,例如cd /mnt/e
就可以切换到windows的e盘下
系统使用
修改系统源
把ubuntu.sources备份一个后,使用Vim修改里面的内容
1 | cd /etc/apt/sources.list.d/ |
文件中一共有两段内容,把其中官网地址都改为Aliyun的地址http://mirrors.aliyun.com/ubuntu/
,其他不用变
1 | Types: deb |
更新软件信息sudo apt-get update
新增一个用户
新增用户
adduser walker
,过程中按提示设置密码新增用户默认是user用户组,如果以后要执行管理员权限命令,需要增加到sudo组中
usermod -aG sudo walker
查看用户的用户组
groups walker
修改wsl的默认登录用户为waker,root账户下在
/etc/wsl.conf
文件中添加以下内容1
2[user]
default=walker
AMD 显卡驱动
安装显卡驱动
amd官方指南文档 https://rocm.docs.amd.com/projects/radeon/en/latest/docs/install/wsl/install-radeon.html
下载地址https://www.amd.com/zh-cn/support/download/linux-drivers.html,下文件`amdgpu-install_6.4.60402-1_all.deb` 下载地址
sudo dpkg -i amdgpu-install_6.4.60402-1_all.deb
安装amdgpu-install
脚本更新widnows驱动到AMD Software: Adrenalin Edition™ 25.8.1 for WSL2.
在这之前一定配置好国外的安装源,要下载很多文件,执行
amdgpu-install -y --usecase=wsl,rocm --no-dkms
安装WSL usecase执行
rocminfo
查看版本信息,发现并没有识别到显卡,amd官方不支持老的显卡1
2
3
4
5
6
7
8
9
10*******
Agent 1
*******
Name: AMD Ryzen 5 5600 6-Core Processor
Uuid: CPU-XX
Marketing Name: AMD Ryzen 5 5600 6-Core Processor
Vendor Name: CPU
Feature: None specified
Profile: FULL_PROFILE
Float Round Mode: NEAR
ComfyUI(未完成)
由于官方不支持6650XT显卡,所以这部分只是按照官方正常安装操作,最终验证pytorch时,还是会检测不到显卡
AMD官方文档 https://rocm.blogs.amd.com/software-tools-optimization/rocm-on-wsl/README.html
安装虚拟环境
conda create -n comfyui -y python=3.12
激活虚拟环境
conda activate comfyui
到
https://repo.radeon.com/rocm/manylinux/
下载对应版本的pytorch文件 我的amdgpu-install_6.4.60402-1_all.deb
版本从下载路径上看是6.4.2.11
2
3
4https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.2/torch-2.6.0%2Brocm6.4.2.git76481f7c-cp312-cp312-linux_x86_64.whl 3.79G
https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.2/torchvision-0.21.0%2Brocm6.4.2.git4040d51f-cp312-cp312-linux_x86_64.whl 2.34M
https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.2/pytorch_triton_rocm-3.2.0%2Brocm6.4.2.git7e948ebf-cp312-cp312-linux_x86_64.whl 253.91M
https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.2/torchaudio-2.6.0%2Brocm6.4.2.gitd8831425-cp312-cp312-linux_x86_64.whl 1.68M更新pip
pip3 install \--upgrade pip wheel
依次安装下载好的文件
pip3 install ***.whl
,过程中还会联网下载一些其他依赖库例如numpy1
pip3 install torch-2.6.0+rocm6.4.2.git76481f7c-cp312-cp312-linux_x86_64.whl torchvision-0.21.0+rocm6.4.2.git4040d51f-cp312-cp312-linux_x86_64.whl torchaudio-2.6.0+rocm6.4.2.gitd8831425-cp312-cp312-linux_x86_64.whl pytorch_triton_rocm-3.2.0+rocm6.4.2.git7e948ebf-cp312-cp312-linux_x86_64.whl
删除pytorch库中的rocm库文件,使用系统安装的
1
2
3
4location=$(pip show torch | grep Location | awk -F ": " '{print $2}')
cd ${location}/torch/lib/
rm libhsa-runtime64.so*
cp /opt/rocm/lib/libhsa-runtime64.so.1.15.60402 libhsa-runtime64.so因为libhsa-runtime64.so库依赖GCC 12.1,所以使用conda还需要安装 GCC 12.1
conda install -c conda-forge gcc=12.1.0
使用命令检查安装是否成功
python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure'