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

前言

本文主要介绍基于windows子系统WSL搭建openHarmony开发环境。

WSL与Vmware虚拟机的区别,可以查看WSL与虚拟机的区别

更详细的安装配置过程可参考微软官网:
​安装 WSL

前提

以下基于windows 111专业版进行配置,windows 10应该也是可以按找该步骤配置。

以防有权限问题导致安装失败,以下使用的PowerShell均以管理员权限运行。

WSL搭建步骤

安装WSL 2

下载WSL

Microsoft Store中搜索Ubuntu

点击免费下载,获取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都会以root用户登录运行。

升级WSL 2

在powerShell中输入以下命令

复制代码
wsl -l --all -v

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

复制代码
wsl --set-version Ubuntu-20.04 2

提示需要更新内核组件,直接下载linux内核包进行安装。
linux内核包

安装完成后,重启电脑,再次执行上面的命令。

查询版本确认升级成功

设置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

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

注销当前分发版

命令如下

复制代码
wsl --unregister Ubuntu-20.04
导入并安装

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

复制代码
wsl --import Ubuntu-20.04 E:\wsl2-ubuntu20.04 E:\wsl-ubuntu20.04.tar --version 2

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

设置默认登陆用户

设置WSL2默认登录用户

复制代码
ubuntu2004 config --default-user xxx
删除压缩包

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

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

解决办法:添加wsl2配置文件,限制最大使用内存。

在 C:\Users%UserProfile% 目录下,创建.wsl2config隐藏文件(注意前面有个点),复制粘贴如下内容

(8GB表示限制WSL2最多使用8G的内存,可以根据电脑配置合理分配)。

复制代码
[wsl2]
memory=8GB
swap=0
localhostForwarding=true

与windows文件共享问题

解决办法:通过资源管理器直接访问。

wsl2访问windows:直接在ubuntu中访问/mnt/下磁盘挂载目录即可。

windows访问wsl2: 直接在资源管理器中输入\wsl$ 即可。

可以将该目录固定到快速访问,以后直接从快速访问栏进入即可。

wsl删除的空间不回收

由于WSL2使用虚拟硬盘(VHD)存储linux下的文件,随着Linux下文件越来越多,占用空间也会不断增长。

但是,在Linux中减少文件占用,WSL却没有相应的自动减少硬盘空间的占用(可能使用VM虚拟机一样存在这个问题)。

解决方法:在删除掉linux下的文件后,可以手动释放这部分空间。

下图是在删除文件前的磁盘大小,并且在删除20多个G大小的文件后,还是未发生变化。

关闭wsl
复制代码
wsl --shutdown
diskpart

执行diskpart,会弹出一个cmd窗口。

在diskpart命令窗口下依次输入如下内容(vhdx文件需要换成自己的路径)

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

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

连接USB的问题

连接 USB 设备

相关推荐
cg501719 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影19 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain19 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon19 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu20 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
tadus_zeng20 小时前
Windows C++ 排查死锁
c++·windows
EverestVIP20 小时前
VS中动态库(外部库)导出与使用
开发语言·c++·windows
GalaxyPokemon21 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼21 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve