安装
检查安装条件:
运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用。
遇到问题:预安装的windows10 家庭中文版下存在问题 适用于Linux的windows子系统以及虚拟机平台在配置时系统配置不成功。
解决方案:因为原装的windows 10 可能存在一些问题,使用MediaCreationTool22H2将windows10 再安装一遍即可,www.microsoft.com/zh-cn/softw…
正式安装:
- 以管理员方式打开powershell。
- 安装wsl命令
wsl --install(这个会安装wsl和安装默认的Ubuntu发行版,如果有需要可以根据以下步骤更改选择安装版本)。 - 查看可用的安装版本
wsl --list --online。 - 安装指定的版本
wsl --install -d <Distribution Name>将<Distribution Name>替换为要安装的发行版的名称。
配置
更改安装路径
- 查找wsl的位置,在我的电脑上输入
\\wsl$可以查找wsl的安装位置。
-
打开微软商店应用默认安装目录
使用微软商店下载的应用安装包会默认保存在C:\Program Files\WindowsApps目录下(一般这个目录是不可见的而且没有权限打开)。
有两种解决方案一种是修改Program Files所有者权限另一种使用powershell以管理员方式打开。
使用powershell以管理员身份运行可以直接cd 'C:\Program Files\WindowsApps\'可以进入目标文件夹。 -
找到Ubuntu发行版本默认安装位置
安装包一般安装在文件夹名称的开头应该类似于CanonicalGroupLimited。找到当前目录下以CanonicalGroupLimited开头的文件夹:dir 'CanonicalGroupLimited*'。
依次查看各个文件夹dir .\CanonicalGroupLimited(不要回车直接多次Tab找到文件夹全称)查找到有Ubuntu<版本号>.exe的文件夹就是要找的文件夹。 -
将文件夹复制到目标位置
目标位置一定要存在cp -r <安装包所在路径> <你想要安装的路径>将整个目录复制到目标安装路径。 -
安装Ubuntu
在目标文件夹中找到Ubuntu<版本号>.exe双击运行等待安装。最终,目录下会多出一个vhdx虚拟硬盘文件,它就是Ubuntu WSL2虚拟机挂载的“硬盘”。在WSL2 Ubuntu虚拟机中下载资源、安装软件,都会让这个虚拟硬盘文件变大。
参考资料:blog.csdn.net/weixin_4197…
U盘挂载
在WSL2中Linux下的文件系统在windows下无法查看,但Linux下可以在目录/mnt/查看windows的文件系统,通过外接U盘的方式实现将Linux下的文件提取出来,但在WSL下的U盘挂载与一般在Linux下U盘挂载有区别。
- 创建一个挂载USB的文件夹
sudo mkdir /mnt/f。 - 挂载
sudo mount -t drvfs <U盘名字> <挂载位置>
U盘名字就是你在Windows下U盘的盘符例如F:。挂载后就可以打开挂载位置查看U盘文件 - 卸载
-sudo umount <挂载位置>
参考资料:learn.microsoft.com/zh-cn/archi…
vscode 远程连接WSL
- 在Windows下安装VScode同时安装WSL扩展以及Remote Development (远程开发扩展)
当在安装过程中系统提示“选择其他任务”时,请务必选中“添加到 PATH”选项,以便可以使用代码命令在 WSL 中轻松打开文件夹。 - 在WSL中打开vscode 找到解决方案的位置使用
code .
在使用vscode编译时配置文件错误,可能导致编译不通过可以找到当前文件夹下的./vscode文件夹下的tasks.json文件使用
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: g++ build active file",
"command": "/usr/bin/g++",
"args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
]
}
参考资料:code.visualstudio.com/docs/cpp/co…
Ubuntu apt下载依赖问题
可以考虑使用aptitude替换apt下载软件 第一个解决方案NO 第二个第三个YES(我并不知道原因但是这么做确实解决了我的问题)。
Ubuntu 换源
换源问题需要考虑系统的Codename 可以通过lsb_release -a查看,一般直接搜索指定版本换源都不会出错