WSL2安装Ubuntu20.04
开发人员可以在 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.下载最新包:
备注:如果使用的是 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 项目。
- 转到 usbipd-win 项目的最新发布页。
- 选择 .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>
更多推荐
所有评论(0)