当前位置: 首页 > news >正文

在线教育网站项目第三步 :通过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” >单击右键 >“以管理员身份运行”),然后输入以下命令:systeminfo

PS 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/pro

 System 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> 路径。这里我的是Ubuntu

  • WSL 访问 Windows 文件:通过 /mnt/c//mnt/d/ 等路径。

相关文章:

  • nginx中proxy_pass和root的区别
  • Flask
  • 抖音生活服务联动监管开展专项整治 济南66家违规餐饮商家下架
  • XSS跨站脚本攻击
  • ESP32芯片模组方案,设备物联网无线通信,WiFi蓝牙交互控制应用
  • Java中main函数中public static void main2(String[] args) 的String[] args是什么意思?
  • 用SpringBoot做一个web小案例实现登录
  • 宇树ROS1开源模型在ROS2中Gazebo中仿真
  • HCIE考试经验分享:我的华为云服务HCIE认证奋斗史
  • Java 大视界 -- Java 大数据在智慧文旅虚拟导游与个性化推荐中的应用(130)
  • 【PyMySQL】Python操作MySQL
  • Html5记忆翻牌游戏开发经验分享
  • 通过deepseek学习lua写网页
  • SQLark 实战 | 如何从Excel、csv、txt等外部文件进行数据导入
  • doris:SQL 方言兼容
  • 蓝桥杯2024年第十五届省赛真题-团建
  • Modbus RTU协议详解:基于 STM32 与脉冲电源的通信项目实例
  • vscode关闭仓库后如何打开
  • Adobe Genuine Service Alert 一直弹窗,老是一直弹窗【解决方法】
  • 微信小程序:实现多功能表格效果,例如滚动效果、宽度自定义、多选、行内编辑等功能
  • 83岁山水花鸟画家、书法家吴静山离世,系岭南画派代表人物
  • 墨西哥海军一载两百余人帆船撞上纽约布鲁克林大桥,多人落水
  • 特朗普:将于19日分别与普京和泽连斯基通话
  • 世界高血压日|专家:高血压患者控制血压同时应注重心率管理
  • 马上评|重病老人取款身亡,如何避免类似悲剧?
  • 韶关一企业将消防安装工程肢解发包,广东住建厅:罚款逾五万