WSL教程(一)安装和基本配置

1、什么是WSL

适用于Linux的Windows子系统(Windows Subsystem for Linux,简称WSL)是一个为在Windows 10和Windows Server 2019以上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。
——Wikipedia

要使用WSL,需要:

必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。
如果使用的是更早的版本,请参阅手动安装页

并启用“适用于Linux的Windows子系统”:

控制面板

以下安装等操作参考:

使用 WSL 在 Windows 上安装 Linux
https://learn.microsoft.com/zh-CN/windows/wsl/install-manual

Windows Server 安装指南
https://learn.microsoft.com/zh-cn/windows/wsl/install-on-server

2、WSL的安装

注意:
如果以下命令提示找不到指令“wsl”,则可以将命令中的“wsl”替换为“wsl.exe”。
以下指令如果没有特殊说明,可以使用cmd或powershell执行,但是需要使用管理员运行。

常见问题:
如果你按照以下的步骤完整执行,然而在启动WSL时闪退或报错退出,那么你可以选择一种方案:

  1. 设置默认版本为WSL 1:
PowerShell
1
wsl --set-default-version 1
  1. 在控制面板启用Hyper-V,然后重启。

2.1、Windows Server 2022、Windows 10及以上

在Windows 10及以上,可以在Microsoft Store中搜索Linux发行版安装,例如Ubuntu:

Microsoft Store中的Ubuntu

或者可以使用命令行:

PowerShell
1
wsl --install

安装默认子系统(Ubuntu)。

使用

PowerShell
1
wsl --list --online

可列出所有支持的系统:

缩写系统名称
UbuntuUbuntu
DebianDebian GNU/Linux
kali-linuxKali Linux Rolling
openSUSE-42openSUSE Leap 42
SLES-12SUSE Linux Enterprise Server v12
Ubuntu-16.04Ubuntu 16.04 LTS
Ubuntu-18.04Ubuntu 18.04 LTS
Ubuntu-20.04Ubuntu 20.04 LTS

可以使用-d指定发行版。例如:

PowerShell
1
wsl --install -d Ubuntu-20.04

2.2、Windows Server 2019

必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。

在PowerShell中执行:

PowerShell
1
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

启用WSL

Linux发行版下载页面找到想要的发行版,下载到文件夹中(虽然是Windows Server,不会连浏览器都没有装吧?IE也可以的)

如果没有浏览器,执行:

PowerShell
1
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing

下载Ubuntu 20.04 LTS。

然后执行:

PowerShell
1
Add-AppxPackage .\Ubuntu.appx

以安装。

3、配置环境变量

执行

PowerShell
1
2
$userenv = [System.Environment]::GetEnvironmentVariable("Path", "User")
[System.Environment]::SetEnvironmentVariable("PATH", $userenv + ";C:\Users\Administrator\Ubuntu", "User")

现在,你可以使用Ubuntu.exewsl启动你的Ubuntu子系统了。

4、启动和登录

启动完成后,会让你配置UNIX usernamepassword,也就是账号密码,可以随便填,但是账号不能为root

配置账号密码

之后,WSL将默认以这个账号登录。

因此,在WSL中输入命令需要加入sudo前缀,或直接使用sudo -i切换到root。

5、建议和注意事项

默认源非常非常慢,换源可参考:

服务器优化(二)更换软件源
https://blog.tsinbei.com/archives/237/

WSL和虚拟机不太一样的地方是,WSL核宿主机共用端口,因此要注意可能的端口冲突问题:

SSH Server For Windows

这个问题将会在下一篇中提到。

WSL教程(一)安装和基本配置

https://blog.tsinbei.com/archives/1036/

文章作者
Hsukqi Lee
发布于

2023-01-11

修改于

2023-05-18

许可协议

CC BY-NC-ND 4.0

# 编程  Linux  CentOS  软件  Windows  Ubuntu  Debian  Deepin  虚拟机  SSH  WSL  HyperV

评论

昵称
邮箱
网址
暂无