Win11+WLS Ubuntu 鸿蒙开发环境搭建(一)

news/2025/1/7 19:00:56/

参考文章

Windows11安装linux子系统

WSL子系统迁移、备份与导入全攻略

如何扩展 WSL 2 虚拟硬盘的大小

Win10安装的WSL子系统占用磁盘空间过大如何释放

《Ubuntu — 调整文件系统大小命令resize2fs》

penHarmony南向开发笔记(一)开发环境搭建

一,windows11-wsl安装ubuntu子系统

1,任务栏右键->任务管理器->性能,查看电脑是否开启虚拟化(默认是开启的)

2,搜索“启用或关闭Windows功能”,启用“Hyper-V”、“Windows虚拟机监控程序平台”、“适用于Linux的Windows子系统”、“虚拟机平台”
完成后重启电脑

3,启用Hyper-V:管理员打开powershell,输入命令:

bcdedit /set hypervisorlaunchtype auto

4,设置WSL2,打开powershell,输入命令:

wsl --set-default-version 2

然后直接点击更新软件地址https://link.zhihu.com/?target=https%3A//wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
5,安装ubuntu,在Microsoft Store搜索Ubuntu,选择“Ubuntu20.04.6”
6,启动Ubuntu,进入powershell 输入命令;或者启动菜单点击新安装的应用ubuntu2004.exe 或者  Ubuntu-20.04,然后按提示设定 用户名和密码,关闭ubuntu终端,然后在powershell 输入命令:

wsl --shutdown 

查看子系统状态

wsl --list --verbose

确保已经是stop,如果报错,应该是linux 没有更新原因,请先更新

7,将WSL转移到非C盘,备份Ubuntu,到指定盘F

wsl --export Ubuntu-20.04 F:\Ubuntu\ubuntu.bak

8,注销C盘的WSL

wsl --unregister Ubuntu-20.04

9,把WSL子系统导入备份并安装到F盘

wsl --import Ubuntu-20.04 F:\Ubuntu\ F:\Ubuntu\ubuntu.bak --version 2

导入完成后,可以在PowerShell中运行命令wsl -l -v,此时可以看到已经安装的子系统包。
10,设置默认用户和启动WSL
如果导入成功后默认以root用户启动,需要调整为以普通用户启动。运行命令下面命令关闭子系统

wsl --shutdown 

然后在终端中运行下面命令,其中#aping为原用户名

ubuntu2004 config --default-user aping 

再次启动Ubuntu 20.04,可以发现子系统默认用户已成为原先的用户名。


二,扩容子系统硬盘

在扩容之前, 先看下当前磁盘空间情况,sdb的256G空间需要扩容到600G,请注意,扩容不能超过实际物理空间,否则会导致后面再ubuntu系统执行resize2fs指令失败。

aping@HUAWEI-G540:~$ df -l
Filesystem      1K-blocks     Used  Available Use% Mounted on
/dev/sdb        263174212  1391608  248344448   1% /
none             12242360        4   12242356   1% /mnt/wsl
tools           249724924 96871848  152853076  39% /init
none             12240276        0   12240276   0% /dev
none             12242360        0   12242360   0% /run
none             12242360        0   12242360   0% /run/lock
none             12242360        0   12242360   0% /run/shm
none             12242360        0   12242360   0% /run/user
tmpfs            12242360        0   12242360   0% /sys/fs/cgroup
drivers         249724924 96871848  152853076  39% /usr/lib/wsl/drivers
lib             249724924 96871848  152853076  39% /usr/lib/wsl/lib
drvfs           249724924 96871848  152853076  39% /mnt/c
drvfs           734003196   431056  733572140   1% /mnt/d
drvfs          1000189948   135488 1000054460   1% /mnt/e
drvfs          1000190972  2805024  997385948   1% /mnt/f
aping@HUAWEI-G540:~$ lsblk
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda    8:0    0  256G  0 disk
sdb    8:16   0  256G  0 disk /

参考官方如何扩展 WSL 2 虚拟硬盘的大小文章提供方法

wsl.exe --shutdown #命令终止所有 WSL 实例
diskpart #使用管理员权限打开 Windows 命令提示符,然后通过输入以下命令打开 diskpart 命令解释器
Select vdisk file="<pathToVHD>" #填入ext4.vhdx 绝对路径
detail vdisk # 显示与此虚拟磁盘关联的详细信息,包括 虚拟大小,表示当前分配的 VHD 最大大小
expand vdisk maximum=<sizeInMegaBytes> #扩容,大小转换,GB 转换为 M,新值大于上步查询大小值
exit #退出wsl.exe -l -v #确保它在 WSL 2 中运行。可以使用命令确认这一点

1,终止所有WSL实例

PS C:\Users\HUAWEI> wsl -l --all
适用于 Linux 的 Windows 子系统分发版:
Ubuntu-20.04 (默认)
PS C:\Users\HUAWEI> wsl --shutdown
PS C:\Users\HUAWEI> wsl -l -vNAME            STATE           VERSION
* Ubuntu-20.04    Stopped         2
PS C:\Users\HUAWEI>

2,使用管理员权限打开 Windows 命令终端,然后输入以下命令来打开 diskpart 命令解释器,操作过程如下:

PS C:\Users\HUAWEI>  diskpart Microsoft DiskPart 版本 10.0.22621.1Copyright (C) Microsoft Corporation.
在计算机上: LAPTOP-NXXXXXDISKPART> Select vdisk file="F:\Ubuntu\ext4.vhdx"DiskPart 已成功选择虚拟磁盘文件。DISKPART> detail vdisk设备类型 ID: 0 (未知)
供应商 ID: {00000000-0000-0000-0000-000000000000} (未知)
状态: 已添加
虚拟大小:  256 GB
物理大小: 1372 MB
文件名: F:\Ubuntu\ext4.vhdx
为子级: 否
父文件名:
找不到关联的磁盘号。DISKPART> expand vdisk maximum=614400100 百分比已完成DiskPart 已成功扩展虚拟磁盘文件。DISKPART> exit退出 DiskPart...
PS C:\Users\HUAWEI>
PS C:\Users\HUAWEI> ​

3,打开Ubuntu子系统,用lsblk指令查看下磁盘扩容情况

aping@HUAWEI-G540:~$ lsblk
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda    8:0    0  256G  0 disk
sdb    8:16   0  600G  0 disk /
aping@HUAWEI-G540:~$

可以看出,空间已经有了,下步需要让WSL知道它可以通过从WSL分发命令行运行这些命令来扩展此分发的文件系统大小

aping@HUAWEI-G540:~$ sudo mount -t devtmpfs none /dev
[sudo] password for aping:
mount: /dev: none already mounted on /mnt/wsl.
aping@HUAWEI-G540:~$ mount | grep ext4
/dev/sdb on / type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered)
aping@HUAWEI-G540:~$

注意上面输出信息“/dev/sdb”,该名称类似于:/dev/sdX(X 表示任何其他字符)。 在下面的示例中,这里X 的值是 b:

sudo resize2fs /dev/sdb <sizeInMegabytes>M

使用上面的示例,我们将vhd大小更改为600G=614400M,因此命令为:sudo resize2fs /dev/sdb 614400M

aping@HUAWEI-G540:~$ sudo resize2fs /dev/sdb 614400M
resize2fs 1.45.5 (07-Jan-2020)
open: No such file or directory while opening /dev/sdb 614400M

显然,执行 resize2fs指令失败了,可能是权限问题,需要root权限

aping@HUAWEI-G540:~$ sudo passwd root
New password:
Retype new password:
passwd: password updated successfully
aping@HUAWEI-G540:~$

4,跟上面错误提示,参考《Ubuntu — 调整文件系统大小命令resize2fs》可知,resize2fs支持在线分区,按照其操作方法,执行过程如下:

aping@HUAWEI-G540:~$ su
Password:
root@HUAWEI-G540:/home/aping# resize2fs /dev/sdb
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/sdb is mounted on /; on-line resizing required
old_desc_blocks = 32, new_desc_blocks = 75
The filesystem on /dev/sdb is now 157286400 (4k) blocks long.root@HUAWEI-G540:/home/aping# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb        590G  1.6G  562G   1% /
none             12G  4.0K   12G   1% /mnt/wsl
tools           239G   93G  146G  39% /init
none             12G     0   12G   0% /dev
none             12G   16K   12G   1% /run
none             12G     0   12G   0% /run/lock
none             12G     0   12G   0% /run/shm
none             12G     0   12G   0% /run/user
tmpfs            12G     0   12G   0% /sys/fs/cgroup
drivers         239G   93G  146G  39% /usr/lib/wsl/drivers
lib             239G   93G  146G  39% /usr/lib/wsl/lib
drvfs           239G   93G  146G  39% /mnt/c
drvfs           700G  421M  700G   1% /mnt/d
drvfs           954G  133M  954G   1% /mnt/e
drvfs           954G  3.9G  950G   1% /mnt/f

可以看到,sdb的分区夸大到600G了


http://www.ppmy.cn/news/1561034.html

相关文章

一款FPGA芯片开发的核心板(EP4CE6核心板)

EP4CE6核心板是一款基于Altera&#xff08;现被Intel收购&#xff09;的Cyclone IV系列FPGA芯片开发的核心板。以下是对EP4CE6核心板的详细介绍&#xff1a; 一、核心芯片 型号&#xff1a;EP4CE6E22C8N系列&#xff1a;Cyclone IV逻辑元件数量&#xff1a;6272个逻辑单元&am…

Eureka Client 服务消费者(调用API接口)(使用OpenFeign)

一、简介 1. 本文介绍 本文将指导你如何创建一个Spring Boot应用程序作为Eureka Client服务消费者&#xff0c;该服务消费者会从Eureka Server获取服务提供者的列表&#xff0c;并通过该列表与具体的服务提供者进行通信。 在本文中&#xff0c;服务消费者使用 OpenFeign 调用…

第五届神经网络、信息与通信工程国际学术会议(NNICE 2025)

在线投稿&#xff1a;学术会议-学术交流征稿-学术会议在线-艾思科蓝 征稿主题&#xff1a; 神经网络 机器人控制 优化组合 知识工程 人工智能 逻辑程序设计 人机交互 深度学习 信号处理 信息提取 自然语言推论 信号与信息处理 信息管理与集成 实时信号处理与应用、 DSP应用 图…

STM32单片机芯片与内部52 I2C 数据手册 寄存器

目录 一、I2C寄存器 1、控制寄存器 1(I2C_CR1) 2、控制寄存器 2(I2C_CR2) 3、自身地址寄存器 1(I2C_OAR1) 4、自身地址寄存器 2(I2C_OAR2) 5、数据寄存器(I2C_DR) 6、状态寄存器 1(I2C_SR1) 7、状态寄存器 2 (I2C_SR2) 8、时钟控制寄存器(I2C_CCR) 9、TRISE寄存器(I2…

【Vim Masterclass 笔记08】第 6 章:Vim 中的文本变换及替换操作 + S06L20:文本的插入、变更、替换,以及合并操作

文章目录 Section 6&#xff1a;Transforming and Substituting TextS06L21 Inserting, Changing, Replacing, and Joining1 定位到行首非空字符&#xff0c;并启用插入模式2 在紧挨光标的下一个字符位置启动插入模式3 定位到一行末尾&#xff0c;并启用插入模式4 定位到光标的…

Docker入门常用命令总结

1.从远程仓库拉取一个纯净的镜像 docker pull docker .io/centos 2.创建并进入容器&#xff08;左外右内&#xff09; docker run --name xxx -dit 镜像id&#xff08;镜像名称:Tag&#xff09; /bin/bash 【参数必须放在镜像ID之前】 -i 让Docker分配一个伪终端&#xff0c;并…

C# OpenCV机器视觉:非刚性物体跟踪

在实验室的一方小天地里&#xff0c;阳光像是被赋予了生命&#xff0c;透过窗户&#xff0c;调皮地在阿强的桌面上跳跃、嬉戏&#xff0c;洒下一片片暖融融的金黄光影。阿强坐在桌前&#xff0c;双眼凝视着眼前那台宛如沉睡巨兽般的高分辨率摄像头&#xff0c;以及一旁静静矗立…

samba服务 使用

SAMBA服务 访问安装 http://www.samba.org/ #模拟window共享[rootvm ~]# yum -y install samba [rootvm ~]# systemctl start smb [rootvm ~]# ss -antlp| grep smb LISTEN 0 50 *:445 *:* users:(("smbd",pid20155,fd36)) LISTEN 0…