我第一次尝试在笔记本电脑上运行 Linux 程序。我的机器运行的是 Windows 11。我按照在线指南在 WSL 上安装 Ubuntu,例如以下指南:
https://learn.microsoft.com/en-us/windows/wsl/install
https://learn.microsoft.com/en-us/windows/wsl/install-manual
https://learn.microsoft.com/en-us/windows/wsl/setup/environment
但是当我安装 Ubuntu 时出现下图中的错误:
以下是我一直在运行并试图解决的命令。
确认 WSL 已安装:
PS C:\Users\User> wsl --install
Windows Subsystem for Linux is already installed.
The following is a list of valid distributions that can be installed.
Install using 'wsl --install -d <Distro>'.
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
SLES-12 SUSE Linux Enterprise Server v12
SLES-15 SUSE Linux Enterprise Server v15
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
OracleLinux_8_5 Oracle Linux 8.5
OracleLinux_7_9 Oracle Linux 7.9
PS C:\Users\User> wsl -l -v
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore
安装 Ubuntu,启动,获取附图中的错误消息。按照该错误消息中的命令说明进行操作:
PS C:\Users\User> wsl --shutdown
PS C:\Users\User> wsl --unregister Ubuntu
Unregistering...
There is no distribution with the supplied name.
手动卸载 Ubuntu:
PS C:\Users\User> wsl --install -d Ubuntu
Installing: Ubuntu
Ubuntu has been installed.
Launching Ubuntu...
在单独的 Ubuntu shell 中:
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370102
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/enablevirtualization
Press any key to continue...
我已经启用虚拟化,并确认systeminfo.exe
:
PS C:\Users\User> systeminfo.exe
...
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
答案1
是的,您似乎已经在固件中启用了虚拟化功能,正如您所指出的:
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
但您似乎没有启用虚拟机平台 (VMP)。它应该在初始阶段就启用了wsl --install
,但似乎出了问题。
在启用了 VMP(或 Hyper-V)的 Windows 11 系统上,您会看到结果略有不同systeminfo.exe
:
Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.
虽然下一个建议不太可能使固定问题(但我们希望),它至少可以给我们提供一个线索,为什么 VMP 没有启用。
从管理 PowerShell 运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重新启动机器。
重启期间请密切关注可能出现的任何错误消息。如果重启期间一切正常,请从非管理员 PowerShell 尝试:
wsl --set-default-version 2
紧接着是wsl --install -d Ubuntu
再次。
答案2
对我来说,这是因为出于某种原因,Ubuntu 尝试解压的位置(%AppData%/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
)compress contents to save disk space
默认启用。我在文件夹高级选项中禁用了该选项,然后再次尝试安装,成功了。
我遵循了这里的一些指示:https://www.thewindowsclub.com/wslregisterdistribution-failed-with-error-0xc03a001a-2
答案3
我也遇到了同样的问题。请访问以下网站并按照说明操作。我照做了,问题就解决了。 https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-apps
答案4
尝试这个..
适用于 Windows Server 2022 的 WSL 和 Kali 安装说明
对于早期版本的 Windows,您可能需要安装 RSAT 工具来启用 VirtualMachinePlatform 和 Microsoft-Windows-Subsystem-Linux
适用于 Windows 10https://www.microsoft.com/download/details.aspx?id=45520
开始吧
从 Windows 设置中启用开发人员选项
将Linux内核更新包下载到你的桌面文件夹#https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
将 kali linux wsl 下载到你的桌面文件夹#https://aka.ms/wsl-kali-linux-new
以管理员身份打开PowerShell并执行
启用-WindowsOptionalFeature-Online-FeatureName Microsoft-Windows-Subsystem-Linux
重新开始
以管理员身份打开PowerShell并执行
dism.exe /online /enable-feature /功能名称:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
重新开始
以管理员身份打开PowerShell并执行
光盘桌面
更新日志
添加 AppxPackage .\KaliLinux_1.13.1.0.AppxBundle
wsl --set-默认版本 2
kali#设置你的新unix用户名和密码
$退出
wsl --set-version kali-linux 2
启动 kali #欢迎使用 Kali
$sudo apt 更新
$退出
资源管理器 \\wsl.localhost
恭喜你已经在你的机器上安装了 wsl 2
如果你正在寻找 kali linux 的全部功能,你可以执行以下命令
这将占用大约 25 GB 的 C 盘空间并需要 1 到 3 个小时才能完成下载和安装
启动 kali
$sudo apt install -y kali-win-kex
选择您的语言然后按 tab 然后确定
$sudo apt install -y kali-linux-large
macchanger 选择在每次连接到新的网络以太网电缆或重新启用 wifi 时自动执行 macchanger 进程
kismet 选择以 sudo 身份运行 kismet,这样您在使用 kismet 时就不需要输入 sudo
选择 Inted 进行 sslh 以减少资源消耗
Win-KeX 为 Windows Subsystem for Linux (WSL 2) 提供 Kali 桌面体验
启动 kali
$kex--esm--ip-s
在 WSL 2 中启用网络连接
ipconfig
以太网适配器 vEthernet (WSL):
IPv4 地址。:172.22.64.1
子网掩码:255.255.240.0
$sudo ifconfig eth0 172.22.64.5 网络掩码 255.255.240.0
$sudo 路线添加默认网关 172.22.64.1
netsh 接口 portproxy 添加 v4tov4 监听端口 = 3390 监听地址 = 0.0.0.0 连接端口 = 3000 连接地址 = 172.22.64.5