步骤 1 - 启用适用于 Linux 的 Windows 子系统

以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

步骤 2 - 启用虚拟机功能

继续执行以下命令:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

到此,重新启动计算机,以完成 WSL 安装并更新到 WSL 2。

步骤 3 - 下载 Linux 内核更新包

若要运行 Microsoft Store 中的 WSL 并更频繁地推送更新,请使用 wsl.exe --install 或 wsl.exe --update。

继续执行以下命令:

wsl.exe --install

此步骤可能返回操作超时,没关系,执行下面命令,更新为最新版。

wsl.exe --update

步骤 4 - 将 WSL 2 设置为默认版本

打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

步骤 5 - 安装所选的 Linux 分发

打开 Microsoft Store,并选择你偏好的 Linux 分发版。从 Microsoft Store 中搜以下版本安装即可:

  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS
  • openSUSE Leap 15.1
  • SUSE Linux Enterprise Server 12 SP5
  • SUSE Linux Enterprise Server 15 SP1
  • Kali Linux
  • Debian GNU/Linux
  • Fedora Remix for WSL
  • Pengwin
  • Pengwin Enterprise
  • Alpine WSL
  • Raft(免费试用版)
  • Alma Linux

首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。

然后,需要为新的 Linux 分发版创建用户帐户和密码。

祝贺你! 现已成功安装并设置了与 Windows 操作系统完全集成的 Linux 分发!


此处留个链接,更详细文档自己去看了:
https://learn.microsoft.com/zh-cn/windows/wsl/install-manual


接下来是我个人的一些配置信息,可参考:

从 Microsoft Store 中,我搜索并安装了Ubuntu 22.04 LTS,安装完毕打开运行,配置账号密码:

image-20240125160903847

初始设置的用户:king 密码:king

接下来给root用户设置密码,默认root没有密码需要设置,操作如下:

image-20240125161353982

设置root密码命令:

sudo passwd root

切换到root命令:

su root

到此,用户密码都搞定了。

接下来安装个宝塔面板吧!

Ubuntu/Deepin安装脚本:

wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

image-20240125162245406

登录宝塔并记住账号密码和登录链接!

顺手修改账号密码和登录链接,毕竟是本机电脑使用,随便搞了。 妈个蛋就是宝塔每次登录都需要绑定宝塔账号,可能外网IP变了就得需要重新绑定吧。麻烦!!!

接下来修改WSL的默认IP,这样每次重启电脑通过默认IP就可以直接访问宝塔面板后台了,不用每次都查内网IP了。

需要给电脑主机配置个启动项文件,用于每次启动电脑都执行文件内容里的命令:

创建个文本文件,名称随意,我设置为Ubuntu2204.txt,填写如下内容:

Set ws = WScript.CreateObject("WScript.Shell")
ws.run "wsl -d Ubuntu-22.04 -u root sudo service bt start", vbhide
ws.run "wsl -d Ubuntu-22.04 -u root sudo service ssh start", vbhide
ws.run "wsl -d Ubuntu-22.04 -u root sudo service mysqld start", vbhide
ws.run "wsl -d Ubuntu-22.04 -u root sudo service nginx start", vbhide
ws.run "wsl -d Ubuntu-22.04 -u root sudo service apache2 start", vbhide
ws.run "wsl -d Ubuntu-22.04 -u root sudo service php-fpm-71 start", vbhide
ws.run "wsl -d Ubuntu-22.04 -u root sudo service redis start", vbhide
ws.run "wsl -d Ubuntu-22.04 -u root ip addr add 192.168.58.58/24 broadcast 192.168.58.255 dev eth0 label eth0:1", vbhide

内容看着修改吧,具体啥意思我也不太懂,前面那些行应该是启动命令,重点在最后一行上,我设置的默认IP地址是192.168.58.58,网卡应该都是eth0吧?

可用以下命令确认网卡名称:

ifconfig

修改Ubuntu2204.txt的后缀

把Ubuntu2204.txt后缀改为Ubuntu2204.vbs这样子。

再然后就是把此文件放到启动项文件夹里面了。路径如下:

C:\Users\liu\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

image-20240125164918381

重启电脑后,打开Ubuntu22.04子系统使用命令ifconfig看一下eth0:1网卡是否创建成功以及IP对否。

此时,电脑我已经重启过了,一切如预想网卡创建成功,IP:192.168.58.58也添加成功!

image-20240125180132198

接下来还有一个关键步骤

创建个文本文件开启Web.bat,内容如下:

start netsh interface ip add address "vEthernet (WSL (Hyper-V firewall))" 192.168.58.88 255.255.255.0

解释一下这个命令,引号中的字符串是本机电脑的IP信息,打开PowerShell后使用命令ipconfig即可查看到。

IP和子网掩码需要和WSL2中的所添加eth0:1中子网掩码相同,IP需要是一个IP段才可。

image-20240125180556095

上图黄色区域,既是管理员运行【开启Web.bat】后自动在本机电脑中添加的IP信息。

至此,搞定了。

总结一下

流程就是:

  1. 电脑重启后,启动项文件自动运行命令,在WSL2中创建网卡添加网卡IP和子网掩码(此步骤是自动完成)。
  2. 选中【开启Web.bat】右键管理员运行(此步骤每次电脑重启后,需要执行一次即可指定IP访问宝塔面板)。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。