Windows11 安装使用WSL2

启用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>

替换为上一步中找到的Ubuntu发行版的名称

重启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

发表评论

邮箱地址不会被公开。 必填项已用*标注