win版本要求:Windows 11 23H2 或更高版本
可以通过 Win+R 输入 winver
来查询系统版本
一、 wsl2的开启
- 首先 WSL2 gui 需要
Windows 11 Build 22000
版本以上才支持 - 利用管理员权限打开PowerShell 执行
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
执行后重启计算机
- 更新wsl内核
wsl --update //尝试更新,
#wsl --version 查看版本指令
#如果不是2.0版本则执行下一步
wsl --update --pre-release
//更新为wsl2 2.0版本
或者
从WSL网页获取WSL2 Linux内核更新包并运行
- 切换成wsl2
wsl --set-version Ubuntu-22.04 2 //镜像名字需要和已安装的Linux一致,未安装的跳到下方 二、Ubuntu的安装
- 设置默认版本
wsl --set-default-version 2
- 查看状态
wsl -l -v
#输出
Name State Version
Ubuntu Stopped 2
二、Ubuntu的安装
微软商店搜索Ubuntu下载即可,打开下载好的Ubuntu,系统初始化输入用户名和密码
LTS后缀为不更新版本系统,推荐
三、配置Ubuntu
1. 换国内源 下方为18.04的源,如版本不一致可自行去官方复制
2. [清华大学开源软件镜像站](https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/)
//备份list文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
//修改list文件
sudo vim /etc/apt/sources.list
删除所有内容替换下面内容(选一)(可在vim的命令模式下,使用gg将光标移到文件首行,使用dG命令清空文件)
阿里云
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
中科大
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
清华
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
华为
sudo sed -i "s@http://.*archive.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
- 更新软件列表
sudo apt-get update
sudo apt-get upgrade
-
解决中文乱码
(1) 安装相关包
sudo apt install language-pack-zh-hans
sudo dpkg-reconfigure locales #这一步要选择en_US.UTF-8和zh_CN.UTF-8, 并且zh_CN.UTF-8为默认语言
sudo apt install fontconfig
(2) 安装Windows字体
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>
或者复制windows的字体到/usr/share/fonts/
下
sudo cp -r /mnt/c/Windows/Fonts /usr/share/fonts/windows
(3) 刷新字体缓存
fc-cache -f -v
(4) 重启 wsl 即可
wsl --shutdown
-
输入法设置(待定,可不用)
(1) 安装fcitx
sudo apt install fcitx dbus-x11 im-config fcitx-sunpinyin
(2)编辑/etc/locale.gen
文件
sudo vim /etc/locale.gen
# 找到 # zh_CN.UTF-8 这一行,取消注释
zh_CN.UTF-8
(3) 编辑~/.profile
文件
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
fcitx-autostart &>/dev/null
(4) 刷新~/.profile
或者wsl --shutdown
source ~/.profile
fcitx 默认输入法切换快捷键是ctrl+space,使用时须先关闭主机输入法
-
设置wsl2的cpu和内存,以及一些优化参数
按下Windows + R 键,输入
%UserProfile%
并运行进入用户文件夹,新建文件.wslconfig
官方配置教程
[wsl2]
memory=16GB #内存最大值,建议小于总内存4G以上
swap=16GB #虚拟内存最大值,一到两倍即可
processors=4 #cpu核最大值,根据电脑核心数自行调整
[experimental]
autoMemoryReclaim=gradual # 开启自动回收内存,可在 gradual, dropcache, disabled 之间选择
networkingMode=mirrored # 开启镜像网络 !!!!!!!!!此为ip同步关键,不需要的可以注释掉
dnsTunneling=true # 开启 DNS Tunneling
firewall=true # 开启 Windows 防火墙
autoProxy=true # 开启自动同步代理
sparseVhd=true # 开启自动释放 WSL2 虚拟硬盘空间
然后运行cmd,输入 `wsl --shutdown `来关闭当前的子系统,重新运行bash进入子系统
- 一些gui界面,可自行参考
sudo apt install nautilus #nautilus 文件管理
sudo apt install firefox #firefox 浏览器
sudo apt install gedit #gedit 文本编辑器
sudo apt install stacer #stacer linux任务管理器
sudo apt install timeshift #timeshift linux备份软件
sudo timeshift-gtk #timeshift 的运行指令
四、备份还原,转移存储位置
- 查看已安装的Linux发行版
wsl -l --all -v
- 导出Linux发行版tar文件到D盘
wsl --export Ubuntu-22.04 d:/wsl-ubuntu-22.04.tar
- 注销当前Linux发行版
wsl --unregister Ubuntu-22.04
- 重新导入并安装WSL2到D盘
wsl --import Ubuntu-22.04 d:/wsl-ubuntu-22.04 d:/wsl-ubuntu-22.04.tar --version 2
- 设置默认登录用户为安装时用户名
ubuntu2204 config --default-user YOURUSERNAME
五、文件访问
在文件夹路径中或者win+R输入
\\wsl$
**wsl访问window**
(1) cd /mnt/盘符 例如进入D盘:
cd /mnt/d
(2)在对应目录下执行
explorer.exe .
六、vscode连接
- vscode下载Remote - WSL 扩展
- 在Linux发行版(Ubuntu)的命令行中输入
code .
即可在Windows端启动VS Code并自动远程连接到WSL2中。如果首次启动VS Code还会在WSL2中安装一些必要依赖包。 - 如果code . 没反应需查看windows的系统变量是否有加入vscode
- vscode中的终端就是wsl2中的终端
七、安装docker
1.安装Docker Desktop(方便,但是后续需要配置一下端口,建议用下面的方法2)
点击[Install Docker Desktop on Windows | Docker Documentation](https://docs.docker.com/desktop/windows/install/)下载Docker Desktop,专门为wsl2开发的工具,直接默认选项安装完成即可。
安装完成后在设置中 Resources-> WSL INTEGRATION 选中自己下载的linux发行版。
- 在Ubuntu中安装docker(推荐)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
//执行安装时会提示建议安装Docker Desktop,可以忽略,等一下就会自动安装。
//WSL DETECTED: We recommend using Docker Desktop for Windows.
//检验安装结果
docker -v
#安装docker-compose
sudo apt install docker-compose //安装命令
docker-compose -v //验证安装
#启动docker
sudo service docker start
#因特殊问题安装不上可以试试这个
sudo rm -f /etc/apt/sources.list.d/docker.list
wget http://apollo-pkg-beta.bj.bcebos.com/docker_install.sh
wget http://apollo-pkg-beta.bj.bcebos.com/get_docker.sh
bash get_docker.sh --mirror Aliyun
bash docker_install.sh
#docker源
https://www.cnblogs.com/wwkjs/p/18757415/dockerhub
https://docker.zzii.de/
#docker nvidia
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get -y update
sudo apt-get install -y nvidia-container-toolkit
八、gitee设置
ssh-keygen -t ed25519 -C "xxxx@qq.com" #连按三次回车(自己的账号,上边链接会有提示操作)
cat ~/.ssh/id_ed25519.pub
-
复制公钥到gitee的仓库进行公钥部署 SSH公钥 - Gitee.com
-
首次使用确认
ssh -T git@gitee.com