WSL 2安装与配置

安装WSL 2

安装 WSL 前要在 Turn Windows features on or off 中确保打开以下几项:

图片[1]-WSL 2安装与配置-不念博客

开启上述选项后务必将 Windows 系统重启。❞

wsl 的安装步骤如下:

  1. 在 Windows 中通过以下命令来安装 debian 版本的 wsl:
wsl --install -d debian
  1. 当 debian 下载完成后,会自动弹出窗口,显示以下内容:
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
Enter new UNIX username:
  1. 输入用户名 wang 和密码。出现内容为:
Installation successful!
Windows Subsystem for Linux is now available in the Microsoft Store!
...
  1. 安装完 Debian 后,在 Windows terminal 中可以使用命令 wsl -d debian 启动 Debian。
  2. 查看 Debian 版本,可以看到目前是 Debian 12 版本。
cat /etc/debian_version
# 输出
# 12.0

连接WSL

例如,我的 Windows 系统 ip 为 192.168.5.88,物理服务器的 ip 为 192.168.5.99,通过 wsl 连接物理服务器的步骤如下:

  1. 安装 ssh:
sudo apt install openssh-server
  1. 将 Windows 中的密钥复制到 ~/.ssh 中。
cp /mnt/c/users/wang/.ssh/wang.pem ~/.ssh

上述步骤必须执行,如果直接用 /mnt/c/... 来作为私钥的路径会报错。❞

  1. 给密钥修改权限:
chmod 400 ~/.ssh/wang.pem

如果不修改权限同样会报错。❞

  1. 连接物理机:
ssh -i ~/.ssh/wang.pem root@192.168.5.99
  1. 关机
wsl --shutdown
  1. 在 CMD 查询正在运行的 wsl 实例:
wsl --list --running

导入到其他电脑

我们可以通过导出和导入 WSL 来将其迁移到另一个硬盘或设备。

  1. 首先需要使用 wsl --export 命令将当前的 WSL 导出到一个 tar 文件中。如果将 Debian 发行版导出到 D 盘上的 debian.tar 文件中,可以使用以下命令:
mkdir D:\\backup
wsl --export Ubuntu D:\\backup\\debian.tar
  1. 使用 wsl --unregister 命令注销当前的 WSL 发行版。
wsl --unregister Debian
  1. 使用 wsl --import 命令将先前导出的 tar 文件导入到新的硬盘上。
mkdir D:\\wsl
wsl --import Debian D:\\wsl\\ D:\\backup\\debian.tar --version 2

这样就可以在新硬盘上使用 WSL 发行版了。

固定WSL IP

  1. 查询,得到结果为 ens33。
ip link show
# ens33
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:df:d3:07 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
  1. 编辑 interfaces 文件。
vim /etc/network/interfaces
  1. 修改为以下内容。

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# allow-hotplug ens33
# iface ens33 inet dhcp
auto ens33
iface ens33 inet static
address 192.168.119.100
netmask 255.255.255.0
gateway 192.168.119.2
dns-nameservers 159.226.109.3
  1. 重启服务。如果重启不成功则尝试关机。
systemctl restart networking

开机启动WSL

使用以下步骤使 WSL 开机自启:

  1. 在资源管理器地址栏输入以下内容打开自启动文件夹:
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
  1. 新建一个文本文件,命名为 wsl.vbe
  2. 在文本中写入以下内容。注意要更改系统和用户名。
Set ws = CreateObject("Wscript.Shell") 
ws.run "wsl -d debian -u wang", vbhide
  1. 重启即可。
© 版权声明
THE END