一.安装步骤
1.概要
WSL是windows推出的可让开发人员不需要安装虚拟机(vmware,virtbox)或者设置双系统启动就可以原生支持运行GNU/Linux的系统环境,简称WSL子系统。
目前最新的版本是WSL2,在原先的基础上提高了文件系统的性能并添加了完全的的系统调用支持。WSL2使用全新体系架构使其能真正的运行一个Linux内核。
在基于最新的WSL2上,现在已经完全集成了在wsl2中的桌面体验,意味着可以在Windows上运行Linux GUI应用程序(X11和Wayland)。目前在本篇编写阶段WSL2 GUI还处于预览版阶段,故如果需要使用WSL2 GUI功能还需要加入Windows 预览体验版计划并更新Windows系统。
根据上述可知,使用WSL2我们可以安装ubuntu,arch Linux等一些流行的Linux发行版。并且由于是Windows原生支持的子系统功能,所以可以使用最少的资源和开销运行ubuntu,配合VS Code远程拓展功能,开发者用户体验大幅提升。
2.安装wsl的先决条件
必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。
备注:检查Windows版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定” 。 可通过选择“开始”>“设置”>“Windows 更新”>“检查更新”来更新到最新的 Windows 版本。
3.安装前先启用虚拟机平台和 Linux 子系统功能
打开控制面板->程序和功能->启用或关闭windows功能:
勾选图中红色方框内的选项,然后会提示重启计算机,选择立即重启即可。
4.Microsoft Store下载并安装ubuntu
windows左下角搜索:Microsoft Store 应用商店,然后右上角搜索 ubuntu ,然后选择一款自己喜欢的发行版(例如:Ubuntu 20.04 LTS),点击安装就可以开始下载了。
注意:在商店安装后并没有完全完成Linux子系统安装,还需要手动运行一次Linux系统来完成内核下载以及用户名密码的设置:(可以在windows的搜索中直接搜索刚刚安装的ubuntu则会显示已下载的发行版,运行它即可)。注意:如果在第一次运行linux系统时出现错误:0x800701bc,解决办法就是将wsl的内核版本从wsl1升级到wsl2,具体操作流程见文章末尾的第二节。
5.准备启动 WSL2
先使用 win+x 运行 Windows PowerShell(管理员);
再使用如下命令设置为每个安装的 linux 发行版默认用 WSL2 启动: wsl --set-default-version 2 ;
然后再输入:wsl -l --all -v 查看自己安装的 ubuntu 是 wsl1 还是 wsl2,如果VERSION显示的是1,则最好把 wsl 升级到2,具体的升级步骤见后面链接。
输入:ubuntu2004 config --default-user USERNAME (设置默认登录用户为安装时用户名);
最后输入:wsl 就可以启动ubuntu,或者可以在windows的搜索中直接搜索刚刚安装的ubuntu,点击运行即可;
6.更改linux发行版的安装位置
通过第四步安装的 ubuntu 默认会安转在 C 盘,可通过以下步骤更改安装位置(以安装在 D 盘为例):
输入:wsl -l --all -v 查看要更改的发行版名字(比如 NAME 显示的是 Ubuntu-20.04 );
输入:wsl --export Ubuntu-20.04 d:\wsl-ubuntu-20.04.tar (导出到 D 盘,重名令为 wsl-ubuntu-20.04.tar 文件)
输入:wsl --unregister Ubuntu-20.04 (注销当前 linux 发行版);
输入:wsl --import Ubuntu-20.04 d:\wsl-ubuntu-20.04 d:\wsl-ubuntu-20.04.tar --version 2 (重新导入并安装 WSL2 到 D 盘);
输入:ubuntu2004 config --default-user USERNAME (设置默认登录用户为安装时用户名);
7.WSL和windows之间共享文件和文件夹
由于WSL2为Windows原生支持的子系统所以无需设置即可直接共享;
windows访问WSL:文件浏览器中输入:\\wsl$\ubuntu-20.04\home 即可;
WSL访问windows:windows的所有盘符都已自动挂载在 /mnt 下,例如 ubuntu 中访问 d 盘: cd /mnt/d/ 即可;
8.使用Windows Terminal代替 PowerShell(可选操作)
Terminal 的界面比原生的 PowerShell 好看一万倍!功能强大,集 LinuxShell 与 PowerShell 于一体。
Windows 开始菜单中启动 Microsoft Store 应用程序并搜索 "Terminal",点击安装;
9. Linux Shell 修改默认启动目录:
设置 -> 配置文件 ->Ubuntu-20.04 ->启动目录 :\\wsl$\Ubuntu-20.04\hom\fei.jing (注意此处是右斜线!并且字母 U 区分大小写!);
10.ubuntu中必要的安装与配置
sudo apt update
sudo apt install git net-tools gcc python-is-python3 make flex bison libssl-dev u-boot-tools
11.git配置
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
12.SSH密钥生成与添加:
1). 生成密钥: ssh-keygen -t ed25519 -C "email@example.com"
2). 查看并复制密钥内容: cat ~/.ssh/id_ed25519.pub
3). 添加到公司gitlab: 公司gitlab主页 -> 设置 -> SSH 密钥 -> ADD
13.vscode 安装与配置
vscode安装 https://code.visualstudio.com/Download
安装完成后,通过 vscode 连接 wsl:搜索插件wsl,安装Remote WSL插件
打开 VSCode 远程资源管理器即可看到 ubuntu-20.04。
二、安装遇到的问题解决办法
1.WSL1下 mount -o loop 会出现权限问题,只需将内核从 wsl1 升级到 wsl2 即可解决该问题,详细升级步骤见如下链接:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 旧版 WSL 的手动安装步骤 | Microsoft Learn在旧版 Windows 上手动(而不是使用 wsl 安装命令)安装 WSL 的分步说明。https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package