论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
主机系统
›
linux
›
Windows 安装 WSL 提示:WslRegisterDistribution faile ...
Windows 安装 WSL 提示:WslRegisterDistribution failed with Error: 0x80 ...
王國慶
论坛元老
|
2024-10-25 11:14:55
|
显示全部楼层
|
阅读模式
楼主
主题
1026
|
帖子
1026
|
积分
3082
题目 1、WslRegisterDistribution failed with Error: 0x8007019e
从 Microsoft Store 安装 WSL后,提示
原因
Windows 功能中
未启用
【适用于 Linux 的Windows子体系】
解决步调
1、 查看
Microsoft-Windows-Subsystem-Linux (WSL)
状态
管理员运行 PowerShell
PS C:\WINDOWS\system32> Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
FeatureName : Microsoft-Windows-Subsystem-Linux
DisplayName : 适用于 Linux 的 Windows 子系统
Description : 提供服务和环境以在 Windows 上运行本机用户模式 Linux shell 和工具。
RestartRequired : Possible
State : Enabled
复制代码
或管理员运行 cmd
C:\WINDOWS\system32>dism /online /get-featureinfo /featurename:Microsoft-Windows-Subsystem-Linux
FeatureName : Microsoft-Windows-Subsystem-Linux
DisplayName : 适用于 Linux 的 Windows 子系统
Description : 提供服务和环境以在 Windows 上运行本机用户模式 Linux shell 和工具。
RestartRequired : Possible
State : Enabled
复制代码
上述命令任选其一
如果表现
Disabled
,启用 Microsoft-Windows-Subsystem-Linux (WSL)
Windows 10
(≥2004)
上启用,管理员运行 PowerShell
PS C:\WINDOWS\system32> dism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
复制代码
Windows 10
(≤1909)
上启用,管理员运行 PowerShell
PS C:\WINDOWS\system32> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
复制代码
或在
程序功能
图形界面选择,确定
2、 查看
VirtualMachinePlatform
状态
管理员运行 PowerShell
PS C:\WINDOWS\system32> Get-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
FeatureName : VirtualMachinePlatform
DisplayName : 虚拟机平台
Description : 为虚拟机启用平台支持
RestartRequired : Possible
State : Enabled
复制代码
或管理员运行 cmd
C:\WINDOWS\system32>dism /online /get-featureinfo /featurename:virtualmachineplatform
功能名称 : VirtualMachinePlatform
显示名称 : 虚拟机平台
描述 : 为虚拟机启用平台支持
需要重新启动 : Possible
状态 : 已启用
复制代码
如果表现
Disabled / 已禁用
,启用 VirtualMachinePlatform
Windows 10
(≥2004)
上启用,管理员运行 PowerShell:
PS C:\WINDOWS\system32>dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
复制代码
Windows 10
(≤1909)
上启用,管理员运行 PowerShell:
PS C:\WINDOWS\system32>Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
复制代码
如果经过上述处理,重启后安装,仍然提示错误,或已经实验过利用 wslconfig /l, wslconfig /u 卸载,重新从 Windows Store 安装题目依旧,可以从 powershell 卸载重启后重装。
PowerShell 卸载 WSL 步调
查看已安装 WSL 在体系的中的名字:
PS C:\WINDOWS\system32> Get-AppxPackage -AllUsers | Where-Object { $_.Name -like "*ubuntu*" }
Name : CanonicalGroupLimited.Ubuntu22.04LTS
Publisher : CN=23596F84-C3EA-4CD8-A7DF-550DCE37BCD0
Architecture : X64
ResourceId :
Version : 2204.2.45.0
PackageFullName : CanonicalGroupLimited.Ubuntu22.04LTS_2204.2.45.0_x64__79rhkp1fndgsc
InstallLocation : C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu22.04LTS_2204.2.45.0_x64__79rhkp1fndg
……
复制代码
卸载 WSL
PS C:\WINDOWS\system32>get-appxpackage CanonicalGroupLimited.Ubuntu22.04LTS | remove-Appxpackage
复制代码
确认注销分发并删除根文件体系
PS C:\WINDOWS\system32> wsl --unregister Legacy
正在注销。
不存在具有所提供名称的分发。
Error code: Wsl/Service/WSL_E_DISTRO_NOT_FOUND
复制代码
确认注销分发并删除指定版本根文件体系
wsl --unregister <DistributionName>
复制代码
执行此命令后,该 Linux 发行版中包含的所有数据都将被删除且不可恢复。
利用命令行安装( 管理员运行 cmd 或 powershell )
1、wsl 命令安装
列出可用版本
wsl --list --online
复制代码
安装 Windows Store 中可用的最新版本
wsl --install Ubuntu
复制代码
安装指定版本 -d
wsl --install -d <DistributionName>
复制代码
例如,wsl --install -d Ubuntu-22.04
2、winget 命令安装
列出可用发行版列表及其 ID
按体系提示,担当源协议,继续
PS C:\WINDOWS\system32> winget show --name Ubuntu --source msstore
复制代码
安装 Windows Store 中可用的最新版本
PS C:\WINDOWS\system32> winget install --id "9PDXGNCFSCZV" --source msstore
复制代码
安装指定版本 --id(示例 Ubuntu 22.04 LTS)
PS C:\WINDOWS\system32> winget install --id "9PN20MSR04DW" --source msstore
复制代码
题目 2、wsl --list --online
无法分析服务器
运行 wsl --list --online
可能碰到的提示
C:\WINDOWS\system32>wsl --list --online
无法与服务器创建毗连
复制代码
或
C:\WINDOWS\system32>wsl --list --online
无法分析服务器的名称或地址
复制代码
可在 C:\Windows\System32\drivers\etc\ 目录下的 hosts 文件中添加如下分析地址
# raw.githubusercontent.com
185.199.108.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com
复制代码
注:
1、若上述地址失效,访问以下链接查看网页 【
DNS Resource Records
】栏的当前可用地址
raw.githubusercontent.com - GitHub: Let’s build from here · GitHub
2、Hosts 文件编辑修改工具
在 Windows 上如何管理 Hosts?这里有 3 款小工具推荐给你 - 知乎
也可以不借助第三方工具,复制一份到其他权限宽松的位置修改完,再覆盖回去。
确认保存有效后,刷新 DNS 分析缓存
管理员运行 cmd
C:\WINDOWS\system32>ipconfig /flushdns
Windows IP 配置
已成功刷新 DNS 解析缓存。
复制代码
再次重复命令
C:\WINDOWS\system32>wsl --list --online
操纵超时
复制代码
如果提示 “ 操纵超时 ”,可多运行几次,或重启计算机再运行,都不可再换个时间再试。
如果利用 “ 维皮恩 ”,则不需要修改 hosts 文件。
安装完成,重启,运行正常
其他常用命令
列出已安装版本
wsl -l -v
复制代码
查看运行状态
wsl --status
复制代码
升级 WSL Linux kernel
wsl --update
复制代码
回滚到以前的 WSL Linux kernel
wsl --update
rollback
复制代码
版本升级
如果已经安装了 20.04 升级 22.04
# 获取 Ubuntu 软件更新列表
sudo apt update
# 应用更新和补丁
sudo apt upgrade
# 更新 Ubuntu
sudo do-release-upgrade
复制代码
设置默认版本为 WSL 1 或 WSL 2,将 <Version#> 替换为 1 或 2。
wsl --set-default-version <Version#>
复制代码
设置 WSL 默认 Linux 发行版
wsl -s <DistributionName>
复制代码
或
wsl --set-default <DistributionName>
复制代码
例如,wsl -s Debian,将 Debian 设置为默认发行版
运行特定发行版而不更改默认 WSL
wsl -d <DistributionName>
复制代码
将版本从 WSL 1 升级到 WSL 2(安装新的 Linux 发行版将默认设置为 WSL 2)
wsl --install <NewDistributionName>
复制代码
为发行版更改 WSL
wsl --set-version <distro name> 2
复制代码
例如,wsl --set-version Ubuntu-22.04 2 ,将 Ubuntu 22.04 发行版设置为利用 WSL 2
WSL Linux 内核更新包获取(将WSL 1 更新到 WSL 2 )
Powershell
Invoke-WebRequest -Uri https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
-OutFile C:\wsl_update_x64.msi
复制代码
或直接欣赏器地址打开下载
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
复制代码
WSL 2 Linux 内核更新包安装
msiexec.exe /i wsl_update_x64.msi /qn /norestart
复制代码
总结
WSL 安装通常有四种方式,三种在线,一种离线。
1、从 Windows Store 在线安装
先启用
【适用于 Linux 的Windows子体系】功能,
再安装
WSL
2、用 cmd / powershell 命令行在线安装
命令执行过程中会主动查抄并直接启用
【适用于 Linux 的Windows子体系】
功能后继续安装
3、离线安装
如果 Microsoft Store 应用和命令在线都不可用,可下载到当地离线安装:
22.04
https://aka.ms/wslubuntu2204
复制代码
20.04
https://aka.ms/wslubuntu2004
复制代码
安装当地包
Add-AppxPackage .\app_name.appx
复制代码
WSL 迁移
查看当前体系盘中的 WSL
wsl -l --all -v
复制代码
Windows Subsystem for Linux Distributions:
Ubuntu-22.04 (Default)
复制代码
关闭运行中的 WSL
wsl --shutdown
复制代码
导出 WSL 到 tar 文件
wsl --export Ubuntu-22.04 D:\WSL\ubuntu2204.tar
复制代码
注销当前体系盘中的 WSL
wsl --unregister ubuntu-22.04
复制代码
wslconfig /u Ubuntu-22.04
将指定的 WSL 发行版设置为默认不启动。不会删除 Ubuntu-22.04 的文件体系或数据,只是将其状态更改为未启动。仍然可以通过其他方式访问它。
wsl --unregister Ubuntu-22.04
完全注销(删除)指定的 WSL 发行版。删除 Ubuntu-22.04 的所有数据,包罗文件体系和用户设置,无法恢复。
导入 tar 文件到指定目录
wsl --import Ubuntu-24.04 D:\WSL\ubuntu2204\ D:\WSL\ubuntu2204.tar --version 2
复制代码
修改默认登岸用户为 Username(原用户) // 此时启动 ubuntu 默认用户为 root ,修改为原用户
ubuntu2204.exe config --default-user Username
复制代码
~ < end > ~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
王國慶
论坛元老
这个人很懒什么都没写!
楼主热帖
webman
Jupyter Notebook,太强大了
不想打开 IDE 的摆烂一天
React技巧之发出http请求
【Shashlik.EventBus】.NET 事件总线, ...
【网络】https单向认证和双向认证 ...
APP内存管理
Bluecmsv1.6-代码审计
java如何显示"html转义字符"对应的原始 ...
Apache DolphinScheduler 3.0.0 正式版 ...
标签云
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表