在线教育网站项目第三步 :通过wsl 2 安装ubuntu24.04
一、说明
WSL2和VMware在功能、性能、安装和使用场景等方面存在显著差异。
1、功能和性能
WSL2:WSL2是微软开发的一种技术,允许在Windows操作系统上运行一个完整的Linux内核,通过虚拟化技术实现。它直接在Windows上运行,资源使用更高效,通常性能更好。WSL2支持多种Linux发行版,如Ubuntu、Debian、Fedora等,并且与Windows共享内核和资源,提供了更好的兼容性和性能VMware:VMware是一个完整的虚拟机软件,可以安装和运行任何支持x86架构的操作系统。VMware提供了更复杂的网络设置、多个虚拟机同时运行、图形界面等功能。虽然VMware在性能上可能会有一些开销,尤其是在资源有限的情况下,但其强大的功能使其在复杂环境中表现更出色
2、安装和使用场景
WSL2:安装过程相对简单,可以通过命令行快速启动,不需要额外的虚拟机管理。WSL2适合进行开发和测试,特别是在需要在Windows环境中运行Linux命令行工具和脚本的场景。由于其与Windows的无缝集成,WSL2在开发和测试环境中非常受欢迎VMware:安装过程相对复杂,需要安装虚拟机软件、创建虚拟机、配置虚拟硬件等。VMware适合需要完整Linux系统或图形应用的场景,尤其是在需要隔离环境进行多操作系统并行运行的场景中表现更好
总结就一点,缺钱就用这个
二、准备工作
1、 查看先决条件
bios打开虚拟化
打开Windows功能,打开“适用于Linux的Windows子系统”和“虚拟机平台
Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用命令安装 。 如果使用的是更早的版本需要手动安装。
以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:systeminfoPS C:\Windows\system32> systeminfo
主机名: X58
OS 名称: Microsoft Windows 11 IoT 企业版 LTSC
OS 版本: 10.0.26100 暂缺 Build 26100
OS 制造商: Microsoft Corporation
bcdedit /set hypervisorlaunchtype auto
PS C:\Windows\system32> bcdedit /set hypervisorlaunchtype auto
操作成功完成。
2、查询wsl版本
管理员身份打开 PowerShell
wsl升级到最新版
#wsl升级到最新版 版本为2.4.12
wsl --update
3、其它命令
wsl --list --verbose #列出已安装的 Linux 发行版
wsl --status # 检查 WSL 状态
wsl --help # Help 命令
wsl --shutdown #关闭
wsl hostname -I #标识 IP 地址
三、手动安装ubuntu 24.04
1、下载发行版
旧版 WSL 的手动安装步骤 | Microsoft Learnhttps://learn.microsoft.com/zh-cn/windows/wsl/install-manual#downloading-distributions
2、解压下载的发行版
下载好是一个AppxBundle文件
将后缀AppxBundle改为zip
解压后目录如下
将上面画红色圈圈的 Ubuntu_2404.0.5.0_x64.appx 后缀appx再次改为zip
再次解压,目录如下
3、运行安装
会跳出来安装wsl2.4.12,看来前面没有下载成功啊
这时候正式开始安装,会产生一个ext4的文件,这个就是镜像
创建用户名密码之后就安装成功了
用户名:ubuntu2404
密码:123456
安装完成
4、查询虚拟机
wsl -l --all -v
四、导出虚拟机
为了方便后面移植,导入导出方便,我们先导出一个虚拟机保存在其它地方
1、关闭虚拟机
wsl -t Ubuntu-24.04
#关闭
PS C:\Windows\system32> wsl -t Ubuntu-24.04
操作成功完成。
PS C:\Windows\system32> wsl -l --all -v
NAME STATE VERSION
* Ubuntu-24.04 Stopped 2
看看已经stop了
2、导出虚拟机文件
一定要先关闭在导出,导出是一个tar文件
wsl --export Ubuntu-24.04 D:\WSL\Ubuntu-24.04.tar
3、卸载虚拟机
这个动作一般别做,请确保已经导出保存了虚拟机
wsl --unregister Ubuntu-24.04
PS C:\Windows\system32> wsl --unregister Ubuntu-24.04
正在注销。
操作成功完成。PS C:\Windows\system32> wsl -l --all -v
适用于 Linux 的 Windows 子系统没有已安装的分发。
注销其实就是删掉了,
五、导入虚拟机
1、导入
# wsl --import <虚拟机名称> <新数据镜像文件的存放文件夹路径> <原来导出的备份文件路径>
wsl --import Ubuntu-24.04 D:\WSL\Ubuntu-24.04 D:\WSL\Ubuntu-24.04.tar
2、查看虚拟机
wsl -l --all -v
PS C:\Windows\system32> wsl -l --all -v
NAME STATE VERSION
* Ubuntu-24.04 Stopped 2
这时候没有启动
3、修改默认虚拟机
# wslconfig /setdefault <选定的虚拟机名称>
wslconfig /setdefault Ubuntu-24.04
PS C:\Windows\system32> wslconfig /setdefault Ubuntu-24.04
操作成功完成。
4、修改默认登陆用户
迁移后登录可能会发现使用的是root登录,而非安装时设置的用户
这里我们需要设置wsl.conf文件,一般存储在/etc/wsl.conf,具体可看官方wiki WSL中的高级设置配置
1、先启动ubuntu,直接执行
PS C:\Windows\system32> wsl
root@x58:/mnt/c/Windows/system32#
sudo vi /etc/wsl.conf
在后面添加
[user] default = ubuntu2404
重启
wsl --list --running
wsl --shutdown 或者 wsl --terminate <发行版名称>
wsl
或者
#启动
wsl -d Ubuntu-24.04
PS C:\Windows\system32> wsl --list --running
适用于 Linux 的 Windows 子系统分发:
Ubuntu-24.04 (默认)
PS C:\Windows\system32> wsl --shutdown
PS C:\Windows\system32> wsl
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
ubuntu2404@x58:/mnt/c/Windows/system32$
我们看到进入的是 ubuntu2404用户而不是root了,修改了默认用户
六、自动安装ubuntu 24.04
1、我们先注销掉上面安装的系统
wsl --unregister Ubuntu-24.04
注销掉后,在查查
wsl -l --all -v
2、安装wsl
#wsl升级到最新版 版本为2.4.12
wsl --update
3、查看Linux分发
# 查看Linux分发(等同于 wsl -list -online)
wsl -l -o
PS C:\Windows\system32> wsl -l -o
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。NAME FRIENDLY NAME
AlmaLinux-8 AlmaLinux OS 8
AlmaLinux-9 AlmaLinux OS 9
AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10
Debian Debian GNU/Linux
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
Ubuntu Ubuntu
Ubuntu-24.04 Ubuntu 24.04 LTS
kali-linux Kali Linux Rolling
openSUSE-Tumbleweed openSUSE Tumbleweed
openSUSE-Leap-15.6 openSUSE Leap 15.6
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
4、安装指定分发
wsl --install -d Ubuntu-24.04
这种安装方式简单,当然里面有你需要的系统才行,没有就得安装前面的手动安装
PS C:\Windows\system32> wsl --install -d Ubuntu-24.04
正在下载: Ubuntu 24.04 LTS
[ 0.4% ]
PS C:\Windows\system32> wsl --install -d Ubuntu-24.04
正在下载: Ubuntu 24.04 LTS
正在安装: Ubuntu 24.04 LTS
已成功安装分发。它可通过 “wsl.exe -d Ubuntu-24.04” 启动
wsl --shutdown # 全部终止 或者 wsl --terminate <发行版名称> # 终止指定
wsl # 启动默认
或者
#启动
wsl -d Ubuntu-24.04
PS C:\Windows\system32> wsl -d Ubuntu-24.04
Provisioning the new WSL instance Ubuntu-24.04
This might take a while...
Create a default Unix user account: x58win
New password:
Retype new password:
passwd: password updated successfully
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/proSystem information as of Thu Mar 13 23:27:25 CST 2025
System load: 0.18 Processes: 31
Usage of /: 0.1% of 1006.85GB Users logged in: 0
Memory usage: 5% IPv4 address for eth0: 172.19.235.201
Swap usage: 0%
This message is shown once a day. To disable it please create the
/home/x58win/.hushlogin file.
5、安装目录
C:\Users\x58win\AppData\Local\wsl\{ab7dfcc1-ebef-42af-af40-398f1e22f605}
同样有一个ext4.vhdx的镜像文件,和前面一样,我们也可以导出导入
我们自己安装前面操作一遍,这个安装简单多了
我们这次进去的默认用户不是root了,为什么呢,前面conf里设置过了,他是wsl设置的,算全局的了
五、安装一些常用功能
以前我在win10里安装过,由于安装后systemctl不能用,导致了很多问题,
1、ssh是否安装 ,
# 目前在root下
# 查询是否安装ssh
dpkg -l | grep openssh-server
或者
systemctl list-unit-files | grep ssh.service
都没有,
# 安装
sudo apt-get update
sudo apt-get install openssh-server
sudo systemctl start ssh
sudo systemctl status ssh
sudo systemctl enable ssh
2、windows与wsl文件互访
Windows 访问 WSL 文件:通过
\\wsl$\<DistroName>
路径。这里我的是UbuntuWSL 访问 Windows 文件:通过
/mnt/c/
、/mnt/d/
等路径。