0 参考CSDN blog:windows11 _安装WSL2_全流程

1 配置win控制面板

  1. 打开 控制面版
  2. 访问 程序和功能 子菜单 打开或关闭Windows功能
  3. 选择上“适用于Linux的Windows子系统”与 “虚拟机平台”与“Hyper-V” 打√
  4. 点击“确定”
  5. 重启电脑

![[配置控制面板.png]]

2 手动安装WSL

下载适用于x64的内核包并安装

对于win11,这个其实也不用安装,是我搜网上教程看到地,执行

1
wsl --update

这个命令很重要,要升及到最新版。

我们只使用wsl2,power shell 以管理员方式运行

1
2
# 将 WSL 默认版本设置为 WSL 2
wsl --set-default-version 2

下载发行版本:
可以参考官方教程: http://learn.microsoft.com/zh-cn/windows/wsl/install-manual

官方是有提供单独下载的功能的,这样我们选择20.04进行下载。可以用命令行方式:

1
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 -OutFile Ubuntu.appx -UseBasicParsing

或者

1
curl.exe -L -o ubuntu-2204.appx https://aka.ms/wslubuntu2204

安装发行版本:
双击或通过命令行方式即可安装

1
Add-AppxPackage .\Ubuntu.appx

安装过程中输入用户名密码,接着进入子系统

输入exit可以退出,看到升级提示,可以执行:

1
wsl.exe --update

输入以下命令查看子系统名称和版本:

1
wsl -l -v

至此,我们完成子系统的安装。

3 或者自动安装WSL

查看分发系统并安装(需要联网,可能是外网)

1
wsl -l -o  # wsl --list --online

安装我们需要的系统:

1
wsl --install -d Ubuntu-22.04

啥也不用干,等着就行,完事就全部安装在c盘,安装过程也会有要求输入用户名和密码的环节。
安装完成后,无论是什么方法安装的,你就可以当做是一个新的装有linux系统的机器,该怎么配置就怎么配置。

4 将系统镜像拷贝至D盘

4.1 导出镜像

windows系统盘c盘可能很小,所以最好移动到其它盘,比如D盘。导出前无需关掉该镜像。

1
wsl --export Ubuntu-22.04 D:\WSL\ubuntu.tar

![[wsl导出镜像.jpg]]

4.2 导入镜像

1
2
wsl --import <导入Linux名称> <导入盘的路径> <导入tar包路径> 版本(代表wsl2)
wsl --import Ubuntu01 D:\WSL D:\WSL\ubuntu.tar --version 2

导入盘的路径可以理解为安装的位置。可以看到文件夹下多一个ext4.vhdx文件夹:

![[wsl导入镜像.jpg]]

接着wsl -l -v查看当前所有的系统:
![[wsl查看当前系统.jpg]]
如果要取消C盘安装,可以执行以下命令进行注销:

1
2
wsl --shutdown  # 或 wsl -t -d Ubuntu-22.04
wsl --unregister Ubuntu-22.04

此时vhdx文件会被删除。如果某一天C盘空间不够用,可以导出,移到其它盘。
导入后,进入时是root用户,设默认用户参考 https://blog.csdn.net/weixin_43408232/article/details/128606034 ,以下是简单教程:

  1. 修改默认登录用户
    迁移完系统后登录wsl,可以发现默认是以root身份登录的,如果我们想要讲默认登录用户改为普通用户则可以进行如下配置:
    a) 以root身份登录wsl,执行以下指令打开wsl.conf文件
1
vim /etc/wsl.conf

b) 在wsl.conf文件后面添加如下两句, 将user_name修改为前面安装时设置的用户名即可

1
2
[user]
default=user_name # 替换为安装时设置的用户名

c) powershell中关闭wsl

1
wsl --shutdown

d) 重启wsl,可以看到已经是普通用户身份登录
2. 【非必须】可以在root账户状态下设置root的密码和给用户sudo权限
设置root账户密码,输入命令:

1
passwd root

即可更改root密码。
于是在普通状态下使用命令su,可以进入root状态。
3. 【非必须】给用户设置sudo权限
(略)

4.3 默认系统设置及多系统选择

这时可以看到有两个。带*花的是默认系统,当输入wsl,后会启动该系统,否则,我们要启动的系统需要指定:

1
wsl -d Ubuntu01

设置默认系统:

1
wsl --set-default Ubuntu1  # 或wsl -s Ubuntu1

此后,在命令行中输入wsl即可启动Ubuntu1.

4.4 vhdx文件导入

有时重装系统或者想把ext4.vhdx文件拿到其它机器上使用,那么可以直接导入vhdx文件,具体命令是:

1
2
wsl --import <导入Linux名称> <导入盘的路径> 版本(代表wsl2)
wsl --import-in-place ubuntu2004 D:\WSL\ext4.vhdx --version 2

5 安装Windows终端和图形化界面

5.1 Windows终端

按照Windows 终端安装 | Microsoft Learn官网链接完成即可。对于win11,默认就是用的这个(win+R –> cmd),其实不用装,都自带了

使用 Windows 终端可以打开多个选项卡或窗口窗格,以显示多个 Linux 发行版或其他命令行(PowerShell、命令提示符、Azure CLI 等)并在它们之间快速切换。 可使用独特的配色方案、字体样式、大小、背景图像和自定义键盘快捷键来完全自定义终端。这个终端与wsl关系不大,但安装后会使在使用wsl时更加方便。

5.2 配置图形显示界面

如果你使用 Windows 11 Build 22000 以上版本,则可以使用 WSL 2 提供的集成的桌面体验。该功能允许你直接安装并启动 Linux 桌面程序而无须其他配置。可以参看一下官网使用 WSL 运行 Linux GUI 应用 | Microsoft Learn
基本不需要其它软件,要以和win自带的窗口一样来使用。剪切和粘贴也是可以通用。

如果是低版本的系统,不支持wslg,WSL (Windows 10) - OI Wiki (oi-wiki.org)可以按照这个文章提供的方法,使用远程桌面的方式来进行访问。

/mnt目录下输入命令ls可以查看子系统里有没有wslg的支持。

我用的win11,命令:

1
wsl --update

这个命令后直接可以使用。
安装相关的图形界面的软件,就可以。

6 GPU的使用

显卡驱动,就用windows上的,安装win11系统都自带了,要是没搞定,用个驱动精灵或nvidia官网,都可以安装。

1
nvidia-smi

可以安装cudatoolkit,cudnn,pytorch,tensorflow等等,做算法开发。