使用Windows11 WSL2进行Android系统开发

您所在的位置:网站首页 window11使用安卓 使用Windows11 WSL2进行Android系统开发

使用Windows11 WSL2进行Android系统开发

#使用Windows11 WSL2进行Android系统开发| 来源: 网络整理| 查看: 265

背景介绍

由于Linux上缺少很多常用的软件,并且Linux加上图形界面时,有时会出现很多匪夷所思的BUG(包括但不限于压缩文件的默认打开方式变成了文本编辑器、界面卡死等情况),因此将工作流迁移到Windows上也不失为一种选择。

WSL 2相比WSL 1最大的缺点就是它运行在虚拟化层中,并且对Windows磁盘的读写性能极差!毕竟切换成使用网络实现方式将Windows的分区挂载到WSL 2了(还有一个问题是硬件和网络端口不再共享了)。但是优点是它是完整的linux系统,可以发挥Linux全部的功能(但是systemctl依旧不可用)。

如果要使用WSL 2进行日常工作,就必须避免使用NTFS,而是使用其他Linux上原生支持的文件系统。本篇文章的重点就是如何让WSL 2用上原生支持的文件系统,以及如何让USB设备接入WSL 2两大部分内容。

WSL2安装与配置、挂载和使用一块硬盘

如果只有一块硬盘,并且足够大,那就不必进行这个操作了,直接参照下面的文档解除256GiB的空间限制即可,这一大章可以直接跳过了:

Expand the size of your WSL 2 Virtual Hard Disk

如果是从Linux转到Windows,Linux的磁盘还保留着(并且是****WSL 2 Kernel支持的文件系统 ),下面的操作可以选择性的做(例如准备和挂载Ext4分区、创建新分区、创建加密分区、格式化加密分区映射的虚拟设备全都可以直接跳过)。

配置环境 启用Linux子系统功能(需要管理员权限),下面这个指令可以自动配置好所有环境,默认使用WSL 2,Ubuntu系统。 wsl --install 复制代码

image.png

重启系统,重启后会自动弹出下面这个安装框

image.png

按照提示设置好用户名和密码

image.png

准备与挂载Ext4分区

千万不要用F2FS,因为WSL2的kernel内核不支持F2FS!

通过/proc/filesystems查看当前内核支持的文件系统

通过下面这条指令查看Windows当前磁盘 GET-CimInstance -query "SELECT * from Win32_DiskDrive" 复制代码

image.png 5. 使用diskpart,清空一个需要用于WSL 2的磁盘

管理员权限执行以下指令

diskpart.exe 复制代码

然后再diskpart中通过下面指令查看当前存在的磁盘信息

list disk 复制代码

image.png

选择需要挂载到WSL2的磁盘(此处可以根据第4步的deviceID判断),清空所有信息,执行以下指令

# 选择要操作的磁盘 # select disk 0 select disk [Disk id(可以根据deviceID的数字编号判断)] # 清除包括分区表在内的全部信息 clean # 建立GPT(GUID) convert gpt # 退出 exit 复制代码

image.png

此时这块磁盘就处理完毕了!

执行以下指令进行设备挂载(将一个物理磁盘“挂载”到WSL2中) # wsl --mount \\.\PHYSICALDRIVE0 --bare wsl --mount [DeviceID] --bare # 卸载指令是 wsl --unmount \\.\PHYSICALDRIVE0 复制代码

此时可以看到已经将设备映射到WSL 2中了

image.png

创建新分区(WSL2中操作)

大家可以看到,上面默认已经有了一个sde1分区,但是不要使用这个分区,这个是Windows默认设置的msr保留分区!删除这个分区有可能会产生一些BUG,具体情况可以看:Windows 10 开启快速启动关机回到登入界面的问题!原因已经找到,求解决方案! - Microsoft Community

# 用fdisk工具进行新分区添加 # sudo fdisk /dev/sde sudo fdisk [disk path] # fdisk Command介绍 # n —— 新建分区(后面如果没特殊要求全部直接回车即可) # w —— 将此前的操作全部同步到磁盘上,并退出 复制代码

image.png

上面的sde2就是我们新建的分区。

创建加密分区 # 创建加密分区 # sudo cryptsetup luksFormat /dev/sde2 sudo cryptsetup luksFormat [part path] # 对加密分区解密,并且映射一个虚拟设备,这个设备会放入在/dev/mapper/[映射名称] # sudo cryptsetup luksOpen /dev/sde2 FastStore sudo cryptsetup luksOpen [加密的part path] [映射名称] # 可以通过 sudo cryptsetup luksClose [映射名称]关闭映射 # sudo cryptsetup luksClose FastStore 复制代码

image.png

现在的效果就像上图这样。

格式化加密分区映射出的虚拟设备为Ext4,并挂载

注意!WSL 2在管理员权限打开和普通权限打开部分配置是隔离的!(例如磁盘挂载信息是不一样的)管理员权限和普通权限打开WSL2,可以理解为有2个不同的用户使用自己的版本,共享大部分配置信息。如果VS Code不是全局安装,只有普通权限下才能在WSL 2中执行code .等操作。

>>> 总之一般情况下请使用非管理员权限使用WSL,可以避免大部分问题!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3