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

1.先决条件

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

1.1查看windows的版本

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

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

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

a: 适用于Linux的Windows子系统

b: 虚拟机平台

c:  Hyper-V

2.2 服务开启

在搜索框中输入:启用或关闭Windows功能。单击:启用或关闭Windows功能。然后勾选适用于Linux的Windows子系统,虚拟机平台,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.3将 WSL 版本设置为 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相关问题。

更多推荐