【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 设备

相关推荐
apocelipes2 小时前
Linux c 运行时获取动态库所在路径
linux·c语言·linux编程
努力学习的小廉3 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
秃头菜狗3 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
2301_793102493 小时前
Linux——MySql数据库
linux·数据库
vfvfb4 小时前
bat批量去掉本文件夹中的文件扩展名
服务器·windows·批处理·删除扩展名·bat技巧
jiunian_cn4 小时前
【Linux】centos软件安装
linux·运维·centos
程序员JerrySUN5 小时前
[特殊字符] 深入理解 Linux 内核进程管理:架构、核心函数与调度机制
java·linux·架构
孤寂大仙v5 小时前
【计算机网络】非阻塞IO——select实现多路转接
linux·计算机网络
派阿喵搞电子5 小时前
Ubuntu下有关UDP网络通信的指令
linux·服务器·网络
Evan_ZGYF丶5 小时前
【PCIe总线】 -- PCI、PCIe相关实现
linux·嵌入式·pcie·pci