网上教学如何安装的文章很多,但是大多数文章,仅仅只是到安装完成就结束了。
这篇文章将带你:安装Ubuntu系统,配置默认使用root用户,通过ssh访问,开机自启、安装docker。
0. 环境准备
up这里用的Win11,win10配置应该也差不多,基本一致
开干~
win + Q 搜索 Windows 功能,如下图所示,开启这3项

然后重启电脑
1. 安装WSL2
用管理员权限运行 powershell, 依次运行如下命令
# 启用wsl
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 开启虚拟机特性
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 设置wsl2版本
wsl --set-default-version 2
2. 安装Ubuntu
打开微软商店(Microsoft Store)搜索Ubuntu,然后选择 Ubuntu20.04 LTS 或者 Ubuntu22.04 LTS 点击安装,等待下载完成。
和网速有关,耐心等待~

3. 启动并配置Ubuntu
下载完成之后,点击打开,会弹出一个窗口,等30s左右,系统启动中。

设置账号和密码;这里我设置的都是 local
然后就可以成功进入系统了

设置root账号
在Ubuntu命令窗口中输入如下命令
# 设置root用户密码
sudo passwd root
# 密码...
# 切换root用户
sudo su

设置root为默认用户
上述设置,每次ubuntu重启,默认都是local用户,每次都需要手动切换
设置一个一劳永逸的方法
- 关闭Ubuntu 终端
- 管理员权限打开 powershell
- 运行
wsl --shutdown - 运行
ubuntu2204.exe config --default-user root
此时,再打开ubuntu,已经是root用户登录

配置SSH连接
下方配置均使用root用户
更新apt
apt-get update
安装ssh服务
# 卸载ssh服务
apt remove openssh-server
# 安装ssh服务
apt install openssh-server -y
修改配置信息
编辑配置文件
vi /etc/ssh/sshd_config
修改端口和地址
22端口被Windows占用,必须要修改
将 Port取消注释,修改为 Port 2202
允许外部连接,取消注释 ListenAddress 0.0.0.0

文件末尾,添加:
PermitRootLogin yes
PasswordAuthentication yes
开启ssh服务,并配置开机自启
systemctl enable ssh.service
systemctl start ssh.service
到这里已经可以ssh连接了


配置子系统开机自启
win + R 输入 shell:startup
在打开的文件夹内新建一个文本文档,复制如下内容并保存
set ws=wscript.CreateObject("Wscript.Shell")
ws.run "wsl -d Ubuntu-22.04 -u root ", 0
, 0:这部分是run方法的第二个参数,指定了命令行窗口的显示方式。0意味着不显示任何窗口,即以隐藏模式运行。如果你希望看到WSL终端窗口,可以将0改为1。
注意 Ubuntu 的版本号
重命名该文件为 ubuntu-startup.vbs

关闭所有软件,重启电脑;等待重启完成,什么都不打开,直接使用ssh工具连接,出现连接成功

大功告成~
其他
限制WSL内存和CPU
WSL2理论上可用获取Windows系统内管理的所有CPU、内存资源;
由于Linux内核的内存管理机制,它会尽量缓存一些已经读取过的文件页,在很长一段时间内是不会释放的。并且这部分文件页也不会被Windows回收,导致WSL2占用过多内存,而Windows反而没有内存可用的情况;
针对这种场景,可以在%UserProfile%下创建一个.wslconfig文件来进行配置:
(%UserProfile%在我本机是 C:\Users\fu)
新建一个文本,添加如下内容,再重命名为.wslconfig即可
[wsl2]
processors=4
memory=4GB
swap=4GB
localhostForwarding=true
[experimental]
autoMemoryReclaim=gradual
sparseVhd=true
WSL迁移到D/E盘
wsl默认安装在C盘,如果东西太多C盘容易满,做一个wsl的迁移
- 关闭wsl
wsl --shutdown - 导出wsl
wsl --export Ubuntu-22.04 E:\wsl\ubuntu.tar - 卸载原子系统
wsl --unregister Ubuntu-22.04 - 导入并指定位置
wsl --import Ubuntu-22.04 E:\wsl E:\wsl\ubuntu.tar - 配置默认用户
ubuntu2204.exe config --default-user root
卸载子系统
卸载Ubuntu子系统
wsl --unregister Ubuntu-22.04
评论区