查看自己系统的版本
必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令
在设置,系统里面就能看到
开启windows功能
直接win+Q搜
开启hyber-V、使用于Linux的Windows子系统、虚拟机平台三个功能,开启后需要重启,重启完成。
升级为WLS2
下载并安装WLS2
WLS2下载地址
powershell运行命令wsl --set-default-version 2
设置版本为2
下载ubuntu
在微软商店里面搜索,下载想要的版本。
下载完成直接打开就行,然后需要等一会。
之后就是设置用户名和密码,最后就能直接在开始菜单栏,或者在终端中选择ubuntu启动。
启动和问题
直接在终端输入wsl就可启动,假如你安装过程中出现了失误想要重来,或者今天能用,明天不用想要重新安装。
反正重装解决90%的问题,下面是如何重装
查看自己安装的版本
wsl --list
卸载安装的linux发行版本。就比如我安装的是Ubuntu-18.04版本
wsl --unregister Ubuntu-18.04
再看下自己的版本什么都没有就卸载了,然后直接在windows的设置里将下载的Ubuntu卸载
再退回wsl版本为1.0
wsl --set-default-version 1
从微软商店重新下载Ubuntu,打开,重新要你输入账号和密码。
最后升级版本回2.0
wsl --set-version Ubuntu-18.04 2
修改子系统所在位置(非必要)
导出磁盘
子系统磁盘放在localstate下的vhdx类型文件下
先注意自己的用户名,可以看wsl命令行最前面的提示,比如iceylia@XX:就说明我的用户名是iceylia
wsl --shutdown
关闭wsl子系统
通过命令导出
wsl --export <DistributionName> <FileName>
wsl --export Ubuntu-18.04 D:\ubuntu.tar//比如我的是这样
得到了一个D盘下的ubuntu.tar文件。
删除原版
wsl --unregister <DistributionName>
比如 wsl --unregister Ubuntu-18.04
此时使用wsl -l
可以看到已经被删除
导入
wsl --import <DistributionName> <InstallLocation> <FileName>
参数说明
<DistributionName> 发行版本 Ubuntu-18.04
<InstallLocation> 安装位置 D:\wsl
<FileName> 导出文件所在位置 D:\ubuntu.tar
最后文件就会放在D:\wsl下
更改默认登录用户名
这是很重要的一步,默认是用root登录,而原版你如果不是用root,现在登上去会发现很多东西都没有了,那是用户名没有设置正确。
Ubuntu1804 config --default-user YOUR_NAME
比如 Ubuntu1804 config --default-user iceylia
其中Ubuntu1804需要更具你的发行版本变更,比如2004就需要写成Ubuntu2004
原本的tar文件可以不删除,当成一个备份。
配合VScode使用(非必须)
在vscode中找到wsl的扩展,安装
然后输入code .
就可以将当前目录作为工作目录在VScode中打开。
此时vscode的终端就是linux的终端,不过扩展需要重新再linux部署一次,只需要安装c/c++的扩展即可。
在linux中安装gdb和g++
sudo apt-get update
sudo apt-get install build-essential gdb
右上角设置,选择g++,会自动生成一个tasks.json的文件
到这里就完成了,直接右上角运行就行。