启用window子系统及虚拟化
- 打开 控制面版
- 访问 程序和功能 子菜单 打开或关闭Windows功能
- 选择“适用于Linux的Windows子系统”与 “虚拟机平台”与“Hyper-V”
- 点击“确定”
- 重启
更新WSL
wsl --update
设置默认WSL版本
# 将 WSL 默认版本设置为 WSL 2
wsl --set-default-version 2
在线安装
查看可用发行版列表
wsl --list --online
如果提示错误,可以参考https://www.cnblogs.com/tommickey/p/17738445.html
中的方法配置本地hosts文件后再尝试,或者直接使用手动下载安装的方法。
安装指定发行版
使用wsl --install -d <Distribution Name>
安装指定发行版,将 <Distribution Name>
替换为要安装的发行版的名称。例如:
wsl --install -d Ubuntu-24.04 --web-download
手动下载安装
下载发行版本
下载地址:https://aka.ms/wslubuntu2204
下载后改名为:Ubuntu.AppxBundle
安装到C盘
双击Ubuntu.AppxBundle
即可安装
设置 Linux 用户名和密码
使用 WSL 安装 Linux 发行版的过程完成后,使用“开始”菜单打开该发行版(默认情况下为 Ubuntu)。 系统将要求你为 Linux 发行版创建“用户名”和“密码”。
- 此用户名和密码特定于安装的每个单独的 Linux 分发版,与 Windows 用户名无关。
- 请注意,输入密码时,屏幕上不会显示任何内容。 这称为盲人键入。 你不会看到你正在键入的内容,这是完全正常的。
- 创建用户名和密码后,该帐户将是分发版的默认用户,并将在启动时自动登录。
- 此帐户将被视为 Linux 管理员,能够运行 sudo (Super User Do) 管理命令。
- 在 WSL 上运行的每个 Linux 发行版都有其自己的 Linux 用户帐户和密码。 每当添加分发版、重新安装或重置时,都必须配置一个 Linux 用户帐户。
其他
列出所有已安装的WSL发行版
wsl --list --verbose
卸载的Ubuntu发行版
wsl --unregister <DistributionName>
将
重启WSL
wsl --shutdown && wsl
更换源
sudo vi /etc/apt/sources.list
内容修改为中科大的:
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
然后更新镜像列表:
sudo apt-get update
sudo apt-get upgrade
设置代理
vim ~/.bashrc
在最后添加以下两行:
export http_proxy="172.26.16.1:7890"
export https_proxy="172.26.16.1:7890"
保存后执行:
source ~/.bashrc
其中172.26.16.1是windows主机的ip,通过ipconfig可以查到,7890是代理的端口,需要根据你的实际情况更改。
安装docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo service docker start
systemd服务开启
开启时执行systemctl命令会遇到
System has not been booted with systemd as init System (PID 1). Can't operate.
在/etc/wsl.conf添加以下配置
[boot]
systemd=true
重启WSL,使用ps --no-headers -o comm 1
返回systemd,说明已启用成功,如果返回init说明未启用。使用systemctl list-unit-files --type=service
就可以查看服务了。
查询wsl的IP地址
wsl hostname -I
Windows直接访问WSL2路径并直接进行读写操作,权限不足的问题
在初次安装WSL Ubuntu时,一般都会设置默认登录用户,当你通过windows访问该文件夹时,如果访问的Ubuntu目录的权限用户时你的默认用户,你可以对其进行修改。但是如果你访问的时root权限的用户,则会出现如上报错。
如果是这样的话,需要修改默认登录用户为root即可,修改方式如下:
C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps\ubuntu2204.exe config --default-user root
修改完成后,记得重启wsl
备份与还原
备份
确定发行版
wsl -l -v
导出备份
wsl --export (发行版) (保存路径以及 文件名称.tar)
例如,我在当前目录,将 发行版为 Ubuntu 的 wsl2备份文件 保存为 wsl2.tar, 可以这样写
wsl --export Ubuntu wsl2.tar
或者,我想把 发行版为 Ubuntu 的 wsl2备份文件 保存在 d盘指定文件夹 内
wsl --export Ubuntu d:\save\linux\wsl2.tar
还原
用 wsl --import
命令导出所选发行版的备份。
wsl --import (发行版) (安装位置) (文件路径以及文件名称)
例如,我想在我的 C盘 中导入之前保存的备份文件
wsl --import Ubuntu c:\wsl2 d:\save\linux\wsl2.tar
参考:
https://learn.microsoft.com/zh-cn/windows/wsl/install
https://blog.csdn.net/u011119817/article/details/130745551