众所周知 Win10 子系统可预装 CentOS 或者 Ubuntu ,用于本地 Linux 环境开发非常方便。接下来将介绍从 wsl 命令安装开始到 Ubuntu 20.04 系统的安装再到宝塔系统的安装,再将 www 目录挂载到本地硬盘中的一系列流程。

首先预装 wsl 命令,并将版本设置为 2

wsl --install
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2

重启电脑后,如果你的系统一般在 win10(11) 2022.3 之后,重启会打开新的 Ubuntu 的页面,直接输入新 username 和 password 即可,或者在 Microsoft Store 中安装 Ubuntu 子系统就可以直接使用了,但是这种安装方式是默认安装到 C 盘的,如果想安装别的分发,或者是装到其他盘,需要另外下载系统源进行自行安装,这边接着往下看。

如果预装了 C 盘的 Ubuntu 20.04 ,需要先卸载掉,如果没有安装过,则可跳到下一步

# 查看注册了哪些 wsl 系统
wslconfig /l

# 注销默认安装的 Ubuntu
wslconfig /u Ubuntu-20.04

接下来就是安装 Ubuntu 20.04 到 D 盘,可以在 D 盘新建一个 Linux 目录,专门用来存放子系统相关文件

D:
cd .\Linux\

Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx -OutFile Ubuntu20.04.appx -UseBasicParsing

如果下载速度比较慢,可以使用其他下载工具,比如迅雷。然后将下载后的文件更名为 Ubuntu20.04.appx ,接着执行四条命令

Rename-Item .\Ubuntu20.04.appx Ubuntu.zip
Expand-Archive .\Ubuntu.zip -Verbose
cd .\Ubuntu\
.\ubuntu2004.exe

在完毕后输入要创建的用户名和密码,就可以使用了,一般来说还需要先修改 root 密码,然后切换到 root 用户接着操作

# 更改 root 密码
sudo passwd

# 进行密码输入及确认

# 最后切换成 root 用户
su root

接下来就是预装宝塔环境了,这边我直接使用宝塔纯净版(你懂的)

# 首先更新一下 apt 源
apt-get update

# 接着创建目录映射,将宝塔默认安装在 /www 以外的目录
cd /tmp
ln -s /mnt/d/Linux/www /www

# 最后直接下载安装宝塔环境
wget -O install.sh http://v7.hostcli.com/install/install_6.0.sh && sudo bash install.sh

中途会让你确认是否将环境安装在 www 目录中,按y回车确定。安装完成后根据提示的地址用浏览器访问,发现 ubuntu 与 win10 之间无法进行网络通讯,面板更加无法打开。遂需进一步执行

netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns

之后重启 windows 系统,进入 Ubuntu 中将宝塔服务开启(因未设置开机自启,所以每次重启系统时需在子系统中开启宝塔服务才可用)

bt start

然后使用 127.0.0.1 来访问面板即可。至此 Win10 本地子系统宝塔环境安装完毕。

参考文献:
Windows10/11 三步安装wsl2 Ubuntu20.04(任意盘)
如何完整移除 WSL Ubuntu/CentOS ?
将宝塔面板linux版装在/www以外的目录的方法
Windows10 WSL2 Ubuntu 宝塔面板无法打开解决办法