【OH】openHarmony开发环境搭建(基于windows子系统WSL)

前言

本文主要介绍基于windows子系统WSL搭建openHarmony开发环境。
WSL与Vmware虚拟机的区别,可以查看WSL与虚拟机的区别
更详细的安装配置过程可参考微软官网:
​安装 WSL

前提

以下基于windows 111专业版进行配置,windows 10应该也是可以按找该步骤配置。
windows规格
以防有权限问题导致安装失败,以下使用的PowerShell均以管理员权限运行。

WSL搭建步骤

安装WSL 2

下载WSL

Microsoft Store中搜索Ubuntu
安装WSL
点击免费下载,获取Ubuntu 20.04.6 LTS软件,完成安装。

打开相关配置

方法一

控制面板->程序->启用或关闭windows功能
勾选适用于Linux的windows子系统和虚拟机平台(WSL2需要)选项。
选项配置

方法二:

直接在powershell中输入如下两条指令开启

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

重启生效

按要求重启使设置生效
重启生效

安装WSL

在开始菜单中找到刚刚安装的ubuntu20.04,打开后会自动进行安装
安装WSL

创建用户

安装完成后,会提示创建用户
创建用户按照提示输入你的用户名和密码即可。
用户密码
如果这里直接关闭,不创建用户,以后打开WSL都会以root用户登录运行。

升级WSL 2

在powerShell中输入以下命令

wsl -l --all -v

wsl查询
如果version显示“1”,则说明WSL 1安装成功,需要升级为WSL 2,执行以下命令

wsl --set-version Ubuntu-20.04 2

升级WSL 2
提示需要更新内核组件,直接下载linux内核包进行安装。
linux内核包
安装完成后,重启电脑,再次执行上面的命令。
安装linux内核包
查询版本确认升级成功
确认升级wsl 2
设置WSL 2成为你的默认体系结构

wsl --set-default-version 2

至此WSL2安装完成。

WSL 2安装后续问题

C盘空间不足

解决办法:将WSL2移动到别的空间足够的磁盘。
注意:平时对ubuntu20.04做比较激进的操作时,可以采用这个方法将WSL2备份,万一系统崩溃,还能还原回来。

关闭ubuntu

如果Ubuntu正常使用,则需要先关闭Ubuntu,命令如下

wsl --shutdown
导出Ubuntu

导出Ubuntu,命令如下

wsl --export Ubuntu-20.04 E:\wsl-ubuntu20.04.tar

导出完成后,在相应磁盘下即可看到压缩包:
导出ubuntu

注销当前分发版

命令如下

wsl --unregister Ubuntu-20.04
导入并安装

重新导入并安装WSL2到指定目录,命令如下

wsl --import Ubuntu-20.04 E:\wsl2-ubuntu20.04 E:\wsl-ubuntu20.04.tar --version 2

导入完成后,在相应磁盘路径下即可看到文件夹
导入ubuntu

设置默认登陆用户

设置WSL2默认登录用户

ubuntu2004 config --default-user xxx
删除压缩包

删除之前导出的压缩包,如果空间足够,也可以不删除。

WSL2内存占用率高,影响Windows使用

解决办法:添加wsl2配置文件,限制最大使用内存。
在 C:\Users%UserProfile% 目录下,创建.wsl2config隐藏文件(注意前面有个点),复制粘贴如下内容
(8GB表示限制WSL2最多使用8G的内存,可以根据电脑配置合理分配)。

[wsl2]
memory=8GB
swap=0
localhostForwarding=true

WSL 2配置

与windows文件共享问题

解决办法:通过资源管理器直接访问。
wsl2访问windows:直接在ubuntu中访问/mnt/下磁盘挂载目录即可。
wsl2访问windows
windows访问wsl2: 直接在资源管理器中输入\wsl$ 即可。
windows访问wsl2
可以将该目录固定到快速访问,以后直接从快速访问栏进入即可。

wsl删除的空间不回收

由于WSL2使用虚拟硬盘(VHD)存储linux下的文件,随着Linux下文件越来越多,占用空间也会不断增长。
但是,在Linux中减少文件占用,WSL却没有相应的自动减少硬盘空间的占用(可能使用VM虚拟机一样存在这个问题)。

解决方法:在删除掉linux下的文件后,可以手动释放这部分空间。
下图是在删除文件前的磁盘大小,并且在删除20多个G大小的文件后,还是未发生变化。
wsl删除的空间不回收

关闭wsl
wsl --shutdown
diskpart

执行diskpart,会弹出一个cmd窗口。
diskpart
在diskpart命令窗口下依次输入如下内容(vhdx文件需要换成自己的路径)

select vdisk file="D:\WSL\Ubuntu2004\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit

compact vdisk
退出后,再次查看虚拟文件大小,发现空间已经恢复回来了。
WSL回收

连接USB的问题

连接 USB 设备

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/470925.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

豆瓣均分9:不容错过的9本大模型入门宝藏书籍,非常详细收藏我这一篇就够了

在这个大模型风起云涌的时代,技术的边界被不断拓宽,AI的力量正以前所未有的方式重塑我们的世界。如果你渴望站在技术的浪尖,深入了解增强现实(AR)、机器学习(ML)与强化学习(RL&#…

OCR识别铁路电子客票

随着中国铁路客运领域进入全面数字化时代,国家税务总局、财政部和国铁集团于2024年10月18日联合发布公告,自2024年11月1日起,推广使用“电子发票(铁路电子客票)”。这一举措不仅为旅客出行提供了极大的便利&#xff0c…

【学习】Fine-tuning知识汇总

Fine-tuning 微调(Fine-tuning)是一种迁移学习的方法,用于在一个预训练模型的基础上,通过在特定任务的数据上进行有监督训练,来适应该任务的要求并提高模型性能。微调利用了预训练模型在大规模通用数据上学习到的语言…

qt QKeySequence详解

1、概述 QKeySequence 是 Qt 框架中的一个类,用于表示和处理键盘快捷键序列。它提供了一种方便的方式来解析、存储和比较键盘快捷键,这些快捷键通常用于触发应用程序中的特定操作或命令。QKeySequence 支持多种格式的快捷键表示,包括单个按键…

【MySQL】约束

4. 约束 4.1 概述 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。 目的:保证数据库中数据的正确、有效性和完整性。 注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。 4.2 约束…

css:盒子模型

目录 盒子模型 边框(border) 内边距(padding) 外边距(margin) 盒子模型,浮动,定位 把一只大象塞进冰箱里需要三步:打开冰箱门,把大象塞进去,…

【最新版】Stable Diffusion4.9(AI绘画)下载及安装教程(附软件安装包)!

NO.1 软件下载 软件名称:Stable Diffusion4.9(SD)软件语言:中文软件大小:9.6G系统要求:Windows10或更高,64位操作系统 NO.2 软件介绍 Stable Diffusion Stable Diffusion是一款前沿AI绘画工…

微服务(二)

目录 1.网关路由 1.1.认识网关 1.2.快速入门 1.2.1.引入依赖 1.2.2.启动类 1.2.3.配置路由 1.3.路由过滤 2.网关登录校验 2.1.鉴权思路分析 2.2.网关过滤器 2.3.自定义过滤器 2.3.1.自定义GatewayFilter 2.3.2.自定义GlobalFilter 2.4.登录校验 2.4.1.JWT工具 …

uniCloud云对象调用第三方接口,根据IP获取用户归属地的免费API接口,亲测可用

需求 在2022年5月初,网络上各大平台上,都开始展示用户IP属地,在某音、某手等小视频平台以及各主流网站应用中,都展示IP归属地,如下图所示: 解决办法 收费文档的肯定有很多,基本你百度搜“归…

基于标签相关性的多标签学习

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

C++中的栈(Stack)和堆(Heap)

在C中,堆(heap)和栈(stack)是两种用于存储数据的内存区域。理解它们的原理和区别,对于优化代码性能和确保代码的安全性至关重要。以下是对C中堆栈的详细解析,包括它们的分配方式、优缺点、应用场…

搭建Python2和Python3虚拟环境

搭建Python3虚拟环境 1. 更新pip2. 搭建Python3虚拟环境第一步:安装python虚拟化工具第二步: 创建虚拟环境 3. 搭建Python2虚拟环境第一步:安装虚拟环境模块第二步:创建虚拟环境 4. workon命令管理虚拟机第一步:安装扩…

文件夹被占用了无法删除怎么办?强制粉碎文件夹你可以这样操作

在日常使用电脑的过程中,我们可能会遇到一些难以删除的文件夹,这不仅影响了我们的工作效率,还可能隐藏着潜在的安全风险。本文简鹿办公将向您介绍为什么某些文件夹无法直接删除,以及如何利用360安全卫士极速版等工具彻底粉碎这些顽…

Python 随笔

转移字符 \a 用于触发系统蜂鸣器(要在shell上才行) print里面用 括起来的内容位置是 """ """括起来啥样,输出啥样 任何值都可以当作i条件: 是直接把两…

某app最新版 vmp算法分析一

本系列预计3篇 某app使用了一种X开头的HTTP 签名。该应用程序对服务器的请求在其标头中有6个x签名。该应用程序通常使用此签名来确保数据的安全性和完整性。代号花露水. 6个x签名都来自古希腊神话中的某个神. 分别是蛇发女妖(G),柯罗诺斯(K,时间之神),拉顿(L),阿尔戈斯(A),赫…

AI制作ppt

1,kimi: 实际上也是AiPPT.cn这个网站(但是有实际次数限制) 2,其余专业AI ppt生成网站: (1)gamma:https://gamma.app/ 大概能制作7~10页左右 free的ppt,其余要…

【插件】多断言 插件pytest-assume

背景 assert 断言一旦失败,后续的断言不能被执行 有个插件,pytest-assume的插件,可以提供多断言的方式 安装 pip3 install pytest-assume用法 pytest.assume(表达式,f’提示message’) pytest.assume(表达式,f‘提示message’) pytest.ass…

SpringCloud学习笔记

SpringCloud 在微服务中,不同的服务板块是分开的,有自己的数据库。但是在业务中可能存在服务板块中互相调用的情况,比如订单服务中需要获取用户信息,这时候不能再自己的板块中直接进行查询,否则违反了微服务的理念&am…

HBase理论_背景特点及数据单元及与Hive对比

本文结合了个人的笔记以及工作中实践经验以及参考HBase官网,我尽可能把自己的知识点呈现出来,如果有误,还请指正。 1. HBase背景 HBase作为面向列的数据库运行在HDFS之上,HDFS缺乏随机读写操作,HBase正是为此而出现。…

MoneyPrinterTurbo – 开源的AI短视频生成工具

MoneyPrinterTurbo是什么 MoneyPrinterTurbo是开源的AI短视频生成工具,能自动化地根据用户提供的视频主题或关键词生成视频文案、素材、字幕和背景音乐,合成高清短视频。工具支持API和Web界面操作,具备自定义文案、多种视频尺寸、批量视频生…