Win11+WLS Ubuntu 鸿蒙开发环境搭建(一)
参考文章
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了
相关文章:
Win11+WLS Ubuntu 鸿蒙开发环境搭建(一)
参考文章 Windows11安装linux子系统 WSL子系统迁移、备份与导入全攻略 如何扩展 WSL 2 虚拟硬盘的大小 Win10安装的WSL子系统占用磁盘空间过大如何释放 《Ubuntu — 调整文件系统大小命令resize2fs》 penHarmony南向开发笔记(一)开发环境搭建 一&a…...
[CSAW/网络安全] Git泄露+命令执行 攻防世界 mfw 解题详析
Home界面: Home界面翻译如下: 欢迎访问我的网站! 我自己从头开始写的! 您可以使用上面的链接浏览页面! About界面: 观察到Git,联想Git泄露 Git泄露 Git是一个非常流行的开源分布式版本控制系…...
MySQL 锁那些事
Q1 : MySQL有哪些锁,功能是什么,如何项目中使用?Q2 : 行锁是如何实现的?什么情况下会使用行锁?Q3 : 四种事务隔离形式的行锁有什么不一样?读未提交读提交可重复读串行 Q4 : MySQL 的读写都是怎样加锁的?Q5 : 需要注意什么? Q1 : MySQL有哪些锁,功能是什么,如何项目中使用…...
Linux中常用的基本指令和一些配套的周边知识详解
目录 一些基本指令 一些常用指令 注:配套的周边知识是直接跟在指令的讲解后面的。 补充:(重要) 如何看待这么多指令???记不住怎么办??? 首先,指令不用刻意去记…...
深入理解Java中的Set集合:特性、用法与常见操作指南
一、HashSet集合 1.HashSet集合的特点 2.HashSet常用方法 ①:add(Object o):向Set集合中添加元素,不允许添加重复数据。 ②:size():返回Set集合中的元素个数 ③.remove(Object o): 删除Set集合中的obj对…...
Oracle 使用 sql profile 固定执行计划
测试使用 sql profile 固定执行计划: Oracle 10g之前有outlines,10g之后 sql profile 。如果针对非绑定变量的sql,outlines则效果不佳,不建议使用 。 1、准备测试用表 SQL> create table zzh_ob as select * from dba_objects; SQL> create inde…...
数字电路期末复习
*前言:*写的东西不太全面,更多的是一个复习大纲,让你发现自己有哪些不懂的问题(不懂的地方就去翻书或者问AI),如果能够解决提出的所有问题,那么过期末考一定不是问题。 这里写目录标题 数制和码…...
正则表达式 - 使用总结
正则表达式 - 使用总结 正则表达式(Regular Expression,简称Regex)是一种强大的文本处理工具,它允许我们通过特定的模式(pattern)来搜索、匹配和操作字符串。在编程、数据分析和文本处理等领域,正则表达式发挥着非常重要的作用。本文将总结正则表达式的基本概念、使用方…...
通过Xshell远程连接wsl2
目录 一、WSL网络原理 二、 下载XShell 三、Ubuntu里配置ssh 1.查看是否已经安装SSH 2.安装SSH 3.修改SSH配置 4.重启ssh 5.查看ip 四、在Xshell中链接电脑 五、设置端口转发 1.设置主机端口映射到wsl2的端口 六、防火墙设置开放8989端口 方式一(推荐): 方式二:…...
【ubuntu】安装OpenSSH服务器
参考:https://blog.csdn.net/fanjufei123456/article/details/139264814 要在Ubuntu上使用SSH连接,需要确保系统上安装并运行了SSH服务器。SSH服务器负责接受来自其他计算机的SSH连接请求,并提供对目标系统的访问权限。 在Ubuntu上,默认情况…...
CESS 的 2024:赋能 AI,塑造去中心化数据基础
2024 年是加密与区块链行业的重要转折之年,行业在技术创新、监管明确和实际应用上取得了显著进展。全球范围内,多个国家相继推出加密货币和区块链技术的监管框架,美国的区块链政策峰会推动了关键议题的讨论,欧洲完成了 MiCA 监管的…...
Redission红锁
目录 一、什么是红锁 二、Redission红锁的使用 一、什么是红锁 Redis 的作者 Salvatore Sanfilippo(又名 antirez)提出的一种基于多个 Redis 实例实现分布式锁的算法。红锁(Redlock)旨在解决单点故障问题,即当使用单…...
使用 CSS 的 `::selection` 伪元素来改变 HTML 文本选中时的背景颜色
定义 ::selection 伪元素: 在你的 CSS 文件中,添加 ::selection 伪元素,并设置 background-color 属性来改变选中文本的背景颜色。 示例代码: ::selection {background-color: yellow; /* 你可以根据需要更改颜色 */color: black…...
Spring Boot AOP日志打印实现
在 Spring Boot 3.1.12 中使用 AOP 实现日志打印,记录前端传入的参数和后端返回的数据,可以按照以下步骤进行: 添加依赖 首先,确保你的 pom.xml 文件中包含了 Spring AOP 的依赖: <dependency><groupId>…...
Windows远程--如何使用IP访问服务器
1.第一步:在本地按下winR打开运行窗口,输入mstsc 打开window自带的远程桌面组件,在打开的窗口内输入公网ip。 2.第二步:输入远程电脑的登录用户名和密码,即可成功建立连接。...
vscode中设置默认格式化工具pretter
1. 安装 Prettier 插件 打开 VSCode 的扩展市场(快捷键 CtrlShiftX 或点击左侧的扩展图标)。 搜索并安装 Prettier - Code formatter 插件。 2. 设置 VSCode 使用 Prettier 格式化代码 打开 VSCode 的设置(快捷键 Ctrl, 或点击右下角齿轮图标…...
Hadoop、Flink、Spark和Kafka
Hadoop、Flink、Spark和Kafka是大数据处理领域中的四个重要工具,它们在架构、数据处理方式以及性能等方面都存在区别。以下是具体分析: 架构 Hadoop:Hadoop的核心是HDFS(Hadoop Distributed File System)和MapReduce编…...
APP自动化测试元素定位及隐式等待
元素定位是UI自动化测试中最关键的一步,假如在自动化测试中没有定位到页面中素,也就无法完成对页面的测试操作。那么,我们在自动化测试中如何定位到是要部面元素呢? 下面聊一聊用 Appium 定位元素的方式。 定位页面元素有很多种…...
Element plus 的 upload 组件实现自定义上传
Element Plus 是一个基于 Vue 3 的 UI 组件库,提供了许多常用的 UI 组件。其中,Upload 组件用于文件上传功能。如果你想实现自定义上传逻辑,可以通过 before-upload 和 http-request 属性来实现。 以下是一个简单的示例,展示如何…...
力扣-数据结构-10【算法学习day.81】
前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关…...
快速验证机器人抓取创意:用快马平台十分钟构建openclaw技能演示原型
最近在研究机器人抓取技能时,发现openclaw技能大全这个知识库特别实用。但每次想验证一个新抓取动作的可行性,都要从头搭建仿真环境,实在太费时间了。后来尝试用InsCode(快马)平台快速生成原型,十分钟就能看到效果,分享…...
memtest_vulkan显存检测终极指南:从问题识别到健康管理
memtest_vulkan显存检测终极指南:从问题识别到健康管理 【免费下载链接】memtest_vulkan Vulkan compute tool for testing video memory stability 项目地址: https://gitcode.com/gh_mirrors/me/memtest_vulkan 一、显存故障问题识别:图形渲染异…...
暗黑3效率革命:D3keyHelper全流程自动化实战指南
暗黑3效率革命:D3keyHelper全流程自动化实战指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3keyHelper是一款基于AutoHotkey&#…...
大模型面试必备:模型训练与微调 15 问全解析
导读:2026 年,大模型已从"尝鲜"走向"落地"。无论是求职面试还是项目实战,模型训练与微调都是绕不开的核心话题。本文基于面试辅导资料,结合行业最佳实践,梳理了 15 个关键知识点,助大家…...
显卡显存稳定性终极检测指南:memtest_vulkan免费工具快速诊断GPU问题
显卡显存稳定性终极检测指南:memtest_vulkan免费工具快速诊断GPU问题 【免费下载链接】memtest_vulkan Vulkan compute tool for testing video memory stability 项目地址: https://gitcode.com/gh_mirrors/me/memtest_vulkan 核心关键词:显卡显…...
tealdeer与其他tldr客户端的终极对比分析:哪个更适合你的命令行工作流?
tealdeer与其他tldr客户端的终极对比分析:哪个更适合你的命令行工作流? 【免费下载链接】tealdeer A very fast implementation of tldr in Rust. 项目地址: https://gitcode.com/gh_mirrors/te/tealdeer tealdeer是一款用Rust开发的tldr客户端&a…...
从RGB合并到多传感器融合:深入拆解AXI4-Stream Combiner IP在Zynq平台上的两种典型应用
从RGB合并到多传感器融合:深入拆解AXI4-Stream Combiner IP在Zynq平台上的两种典型应用 在FPGA开发中,数据流的高效处理一直是工程师面临的核心挑战之一。当系统需要同时处理多个并行数据源时,如何将这些数据流有序、高效地合并为单一数据流…...
《数字图像处理》实战:从傅里叶到小波,解锁图像变换的时空密码
1. 图像变换的时空密码:从傅里叶到小波 当你用手机拍摄一张照片时,是否想过这张看似简单的图片背后隐藏着怎样的数学奥秘?图像处理领域的变换技术就像是一把钥匙,能够解开图像中隐藏的时空密码。在众多变换方法中,傅里…...
避坑指南:UE5 VaRest插件处理JSON数组和嵌套对象的几个常见错误
UE5 VaRest插件处理JSON数组和嵌套对象的避坑指南 在UE5开发中,VaRest插件因其便捷的HTTP请求和JSON处理能力而广受欢迎。然而,当面对复杂的JSON数据结构时,许多开发者会遇到各种"坑"。本文将深入剖析VaRest在处理JSON数组和嵌套对…...
终极指南:如何无需Steam客户端轻松下载创意工坊模组
终极指南:如何无需Steam客户端轻松下载创意工坊模组 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否曾因Steam客户端无法访问创意工坊而烦恼?或者…...
