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了

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

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

相关文章

基于深度学习算法的AI图像视觉检测

基于人工智能和深度学习方法的现代计算机视觉技术在过去10年里取得了显著进展。如今&#xff0c;它被广泛用于图像分类、人脸识别、图像中物体的识别等。那么什么是深度学习&#xff1f;深度学习是如何应用在视觉检测上的呢&#xff1f; 什么是深度学习&#xff1f; 深度学习是…

HuatuoGPT-o1:基于40K可验证医学问题的两阶段复杂推理增强框架,通过验证器引导和强化学习提升医学模型的推理能力

HuatuoGPT-o1&#xff1a;基于40K可验证医学问题的两阶段复杂推理增强框架&#xff0c;通过验证器引导和强化学习提升医学模型的推理能力 论文大纲理解1. 确认目标2. 分析过程3. 实现步骤4. 效果展示 解法拆解全流程提问俩阶段详细分析 论文&#xff1a;HuatuoGPT-o1, Towards …

硬件基础知识笔记(2)——二级管、三极管、MOS管

Part 2 二级管、三极管、MOS管 1、二级管1.1肖特基二极管和硅二极管选型比较1.2到底是什么决定了二极管的最高工作频率&#xff1f;1.3二极管结电容和反向恢复时间都是怎么来的1.4肖特基二极管的工作原理1.5为什么要用肖特基二极管续流&#xff1f; 2、三极管2.1三极管工作原理…

vue3-dom-diff算法

vue3diff算法 什么是vue3diff算法 Vue3中的diff算法是一种用于比较虚拟DOM树之间差异的算法&#xff0c;其目的是为了高效地更新真实DOM&#xff0c;减少不必要的重渲染 主要过程 整个过程主要分为以下五步 前置预处理后置预处理仅处理新增仅处理后置处理包含新增、卸载、…

【C++】B2093 查找特定的值

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述输入格式输出格式输入输出示例 &#x1f4af;题目分析与解题思路&#x1f4af;代码实现与对比分析我的实现代码老师的实现代码详细对比与分析1. 数组的定义方式2. …

计算机网络:网络层知识点及习题(一)

网课资源&#xff1a; 湖科大教书匠 1、概述 网络层实现主机到主机的传输&#xff0c;主要有分组转发和路由选择两大功能 路由选择处理机得出路由表&#xff0c;路由表再生成转发表&#xff0c;从而实现分组从不同的端口转发 网络层向上层提供的两种服务&#xff1a;面向连接…

CDP集群安全指南-动态数据加密

[〇]关于本文 集群的动态数据加密主要指的是加密通过网络协议传输的数据&#xff0c;防止数据在传输的过程中被窃取。由于大数据涉及的主机及服务众多。你需要更具集群的实际环境来评估需要为哪些环节实施动态加密。 这里介绍一种通过Cloudera Manager 的Auto-TLS功能来为整个…

【HTML】Day02

【HTML】Day02 1. 列表标签1.1 无序列表1.2 有序列表1.3 定义列表 2. 表格标签2.1 合并单元格 3. 表单标签3.1 input标签基本使用3.2 上传多个文件 4. 下拉菜单、文本域5. label标签6. 按钮button7. div与span、字符实体字符实体 1. 列表标签 作用&#xff1a;布局内容排列整齐…

基于Spring Boot的车辆违章信息管理系统(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

Apache Celeborn 在B站的生产实践

背景介绍 Shuffle 演进 随着B站业务的飞速发展,数据规模呈指数级增长,计算集群也逐步从单机房扩展到多机房部署模式。多个业务线依托大数据平台驱动核心业务,大数据系统的高效性与稳定性成为公司业务发展的重要基石。如图1,目前在大数据基础架构下,我们主要采用 Spark、Fl…

第29天:Web开发-PHP应用弱类型脆弱Hash加密Bool类型Array数组函数转换比较

#知识点 1、安全开发-原生PHP-弱类型脆弱 2、安全开发-原生PHP-函数&数据类型 3、安全开发-原生PHP-代码审计案例 一、PHP弱类型对比 1、 和 两个等号是弱比较&#xff0c;使用进行对比的时候&#xff0c;php解析器就会做隐式类型转换&#xff0c;如果两个值的类型不相等就…

Kafaka安装与启动教程

1.下载 先去官网Apache Kafka可以查看到每个版本的发布时间。选择你要安装的版本。 然后进入linux建立要存放的文件夹&#xff0c;用wget命令下载 2.安装 先解压缩&#xff1a; tar -xvzf kafka_2.12-3.5.1.tgz -C ../ 3.配置文件 修改server.properties&#xff1a; cd .…

回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测

回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测 目录 回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 一、极限学习机&#xff08;ELM&#xff09; 极限学习机是一种单层前馈神经网络&#xff0c;具有训练速…

1、pycharm、python下载与安装

1、去官网下载pycharm 官网&#xff1a;https://www.jetbrains.com/pycharm/download/?sectionwindows 2、在等待期间&#xff0c;去下载python 进入官网地址&#xff1a;https://www.python.org/downloads/windows/ 3、安装pycharm 桌面会出现快捷方式 4、安装python…

GESP2023年12月认证C++五级( 第三部分编程题(1)小杨的幸运数)

参考程序&#xff1a; #include <iostream> #include <cmath> using namespace std;int nextPerfectSquare(int a) {int sqrt_a (int)sqrt(a);if (sqrt_a * sqrt_a < a) {sqrt_a; // 如果 sqrt(a) 的平方小于 a&#xff0c;那么就需要加 1&#xff0c;找到下…

25年1月更新。Windows 上搭建 Python 开发环境:Python + PyCharm 安装全攻略(文中有安装包不用官网下载)

引言 随着 Python 在数据科学、Web 开发、自动化脚本等多个领域的广泛应用&#xff0c;越来越多的开发者选择它作为首选编程语言。而 PyCharm 作为一个功能强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;为 Python 开发者提供了极大的便利。本文将详细介绍如何在 …

IDEA配置maven和git并如何使用maven打包和git推送到gitlab

首先找到设置 在里面输入maven然后找到点击 然后点击右边两个选项 路径选择下载的maven目录下的settings文件和新建的repository文件夹 点击apply应用 然后在搜索框里搜git点击进去 此路径为git的exe执行文件所在目录&#xff0c;选好之后点击test测试下方出现git版本号表…

【Vue学习】Vue 组件实例的生命周期(四个阶段,八个钩子)

一、为什么要理解生命周期&#xff1f; 理解生命周期就像是知道了一部电影的剧情走向&#xff0c;能让你在适当的时机做出反应。Vue 生命周期的钩子让你可以在不同的阶段插入你的逻辑&#xff0c;像是提前准备、后期清理或者在数据更新时做点事情。这种“精确控制”的能力会让你…

Linux之信号量

目录 信号量 信号量相关接口 创建信号量 初始化信号量 等待信号量&#xff0c;P操作 发布信号量&#xff0c;V操作 销毁信号量 基于信号量的环形队列下的生产者和消费者模型 环形队列 代码实现 上期我们学习了线程同步的概念&#xff0c;掌握了基于阻塞队列的生产…

【电子通识】PWM驱动让有刷直流电机恒流工作

电机的典型驱动方法包括电压驱动、电流驱动以及PWM驱动。本文将介绍采用PWM驱动方式的恒流工作。 首先介绍的是什么是PWM驱动的电机恒流工作&#xff0c;其次是PWM驱动电机恒流工作时电路的工作原理。 PWM驱动 当以恒定的电流驱动电机时&#xff0c;电机会怎样工作呢&#xff1…