WSL2 Ubuntu安装与配置

1,448 阅读1分钟

安装

检查安装条件:
运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用。

遇到问题:预安装的windows10 家庭中文版下存在问题 适用于Linux的windows子系统以及虚拟机平台在配置时系统配置不成功。

WSL安装配置1.1.png 解决方案:因为原装的windows 10 可能存在一些问题,使用MediaCreationTool22H2将windows10 再安装一遍即可,www.microsoft.com/zh-cn/softw…

正式安装:

  1. 以管理员方式打开powershell。
  2. 安装wsl命令wsl --install这个会安装wsl和安装默认的Ubuntu发行版,如果有需要可以根据以下步骤更改选择安装版本)。
  3. 查看可用的安装版本wsl --list --online
  4. 安装指定的版本 wsl --install -d <Distribution Name> 将 <Distribution Name> 替换为要安装的发行版的名称。

配置

更改安装路径

  1. 查找wsl的位置,在我的电脑上输入\\wsl$可以查找wsl的安装位置。

WSL安装配置2.1.png

  • 打开微软商店应用默认安装目录

    使用微软商店下载的应用安装包会默认保存在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查看,一般直接搜索指定版本换源都不会出错