开发人员可以在 Windows 计算机上同时访问 Windows Linux 的强大功能。 通过适用于 Linux Windows 子系统 (WSL),开发人员可以安装 Linux 发行版(例如 UbuntuOpenSUSEKaliDebianArch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。

1.先决条件

必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。

1.1查看windows的版本

 快捷操作:win+x 然后选择y。查询结果如下,符合安装条件。

2.安装wsl2需要的开启的服务

2.1安装wsl2需要开启如下的服务

a: 适用于LinuxWindows子系统

b: 虚拟机平台

c:  Hyper-V

2.2 服务开启

在搜索框中输入:启用或关闭Windows功能。单击:启用或关闭Windows功能。然后勾选适用于LinuxWindows子系统,虚拟机平台,Hyper-V这三项服务。如果服务列表没有Hyper-V,请看2.3 Hyper-V服务安装。操作结果如下:

 

2.3 Hyper-V服务安装

2.3.1 安装方式

Hyper-V服务安装可以通过以下几种方式安装:

a.使用脚本安装

步骤一:将如下代码添加到记事本中,并另存为Hyper-V.cmd文件。代码如下:

pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt

for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

del hyper-v.txt

Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

注意:文件保存的时候需要显示拓展名,参考下图显示拓展名。

步骤二:右键点击【Hyper-V.cmd】文件图标,在右键菜单中点击:以管理员身份运行;

步骤三:然后弹出一个 用户帐户控制 - Windows命令处理程序 对话框,我们点击:是。

步骤四:然后系统自动进行Windows命令处理,我们等待处理完成以后,在最末处输入:Y,电脑自动重启,进行配置更新。

 

b.使用 PowerShell 启用 Hyper-V

步骤一:以管理员身份打开 PowerShell 控制台。

步骤二:运行以下命令:

 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

c.使用 CMD 和 DISM 启用 Hyper-V

部署映像服务和管理工具 (DISM) 可帮助配置 Windows Windows 映像。 在众多应用程序中,DISM 可以在操作系统运行时启用 Windows 功能。使用 DISM 启用 Hyper-V 角色:

 

1.以管理员身份打开 PowerShell CMD 会话。

2. 键入以下命令:

 

3.安装wsl2需要的开启的服务

3.1 启用适用于 Linux Windows 子系统

以管理员身份打开 PowerShell开始菜单 >“PowerShell”> 单击右键 >“以管理员身份运行),然后输入以下命令并运行:

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

3.2- 启用虚拟机功能

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

运行上述命令后,重启电脑,以完成 WSL 安装并更新到 WSL 2

3.3 - 下载 Linux 内核更新包

3.3.1.下载最新包:

适用于 x64 计算机的 WSL2 Linux 内核更新包

备注:如果使用的是 ARM64 计算机,请下载 ARM64 包。

3.3.2运行上一步中下载的更新包

   双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。默认执行“下一步” 进行安装,安装完成后,重启电脑。

3.4 - WSL 2 设置为默认版本

打开 PowerShell,运行以下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

3.5 - 下载并安装所选的 Linux 分发

1.单击打开 Ubuntu 20.04 LTS Microsoft Store 页面:

2.在上一步打开的页面若是直接点击 获取 进行安装,会默认安装在系统盘(C盘),而且下载有时候速度也很慢。

快速下载安装包:复制上一步的红框的网址链接,单击打开:

Microsoft Store - Generation Project (v1.2.3) [by @rgadguard & mkuba50]

粘贴链接并点击 √ ,单击后缀是 .appxbundle 的文件链接进行下载。搜索结果如下图:

提示:如果浏览器下载比较慢,可以使用迅雷下载。

3.将下载好的 .appxbundle文件后缀名修改为 .zip 并进行解压,解压后的文件目录:

4.根据自己计算机的类型,选择红框中的安装包,将选好的安装包的后缀名 .appx 修改为 .zip 并进行解压,解压后的文件目录:

5.将解压好后的文件夹,移动到自定义安装的位置,并双击执行目录下的 .exe 文件,稍等片刻,安装完成。并提示新建 Unix用户 和 设置密码。

启动ssh

 

4.wsl2命令

4.1列出可用的 Linux 发行版

wsl --list --online

查看可通过在线商店获得的 Linux 发行版列表。 此命令也可输入为:wsl -l -o。

4.2列出已安装的 Linux 发行版

wsl --list --verbose

4.3WSL 版本设置为 1 2

wsl --set-version <distribution name> <versionNumber>

4.4设置默认 WSL 版本

wsl --set-default-version <Version>

4.5设置默认 Linux 发行版

wsl --set-default <Distribution Name>

4.6将目录更改为主页

wsl --set-default <Distribution Name>

4.7将目录更改为主页

wsl ~

4.8更新 WSL

wsl --update

 

4.9检查 WSL 状态

wsl --status

4.10检查 WSL 版本

wsl --version

4.11Help 命令

wsl --help

4.12关闭

wsl --shutdown

 

5.wsl中ubuntu2020更改内存大小

1.快捷键:win+r,然后输入 %UserProfile% 回车,在该目录下创建一个文件, 名字为 .wslconfig ,写入内容示例如下 (我电脑16GB内存,分给WSL内存16GB,另外设置交换分区4GB)

[wsl2]

memory=16GB

swap=16GB

localhostForwarding=true

2.打开 PowerShell,执行 wsl --shutdown 关闭WSL,再重新打开即可.

提示:不然编译openharmony可能内存不够,导致编译出错。

 

6.Wsl2挂载usb

6.1安装 USBIPD-WIN 项目

WSL 本身并不支持连接 USB 设备,因此你需要安装开源 usbipd-win 项目。

  1. 转到 usbipd-win 项目的最新发布页
  2. 选择 .msi 文件,该文件将下载安装程序。 (你可能会收到一条警告,要求你确认你信任此下载)。

运行下载的 usbipd-win_x.msi 安装程序文件。

 

6.2 Linux 中安装 USBIP 工具和硬件数据库

sudo apt install linux-tools-generic hwdata

sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20

 

6.3 附加 USB 设备

在附加 USB 设备之前,请确保 WSL 命令行已打开。 这将使 WSL 2 轻型 VM 保持活动状态。

1.通过以管理员模式打开 PowerShell 并输入以下命令,列出所有连接到 Windows 的 USB 设备:

usbipd wsl list

 

2.选择要附加到 WSL 的设备总线 ID,然后运行此命令。 WSL 会提示你输入密码以运行 sudo 命令。 要附加的 Linux 发行版必须是默认发行版。 (请参阅 WSL 的基本命令文档,以更改你的默认发行版)。

usbipd wsl attach --busid <busid>

 

3.打开 Ubuntu(或首选的 WSL 命令行),使用以下命令列出附加的 USB 设备:

lsusb

 

4.在 WSL 中完成设备使用后,可物理断开 USB 设备,或者在管理员模式下从 PowerShell 运行此命令:

  usbipd wsl detach --busid <busid>

 

 

 

 

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐