admin 管理员组

文章数量: 887032

查看自己系统的版本

必须运行 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的文件

到这里就完成了,直接右上角运行就行。

参考文章和视频

微软WSL手册
vscode使用wsl与c++
wsl迁移

本文标签: Windows Ubuntu