启动wsl2 ubuntu Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x80080005 Error: 0x80080005 ???????
时间: 2023-11-18 08:53:09 浏览: 308
这个错误通常是由于 Windows Subsystem for Linux (WSL) 服务未启动或已损坏导致的。您可以尝试以下步骤来解决此问题:
1. 打开 PowerShell 作为管理员。
2. 运行以下命令:`net stop LxssManager`。
3. 运行以下命令:`net start LxssManager`。
4. 重新启动计算机并再次尝试安装。
如果上述步骤无法解决问题,您可以尝试卸载并重新安装 WSL。相关步骤如下:
1. 打开 PowerShell 作为管理员。
2. 运行以下命令:`dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart`。
3. 运行以下命令:`dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart`。
4. 重新启动计算机。
5. 打开 Microsoft Store 并下载 Ubuntu。
6. 安装 Ubuntu 并启动。
相关问题
Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x80070781 Error: 0x80070781 ?????????? Press any key to continue...
### WSL Ubuntu 安装失败 错误代码 0x80070781 的解决方案
错误代码 `0x80070781` 表明在安装过程中遇到了网络连接问题或存储介质不可写入的情况。以下是详细的排查和解决方法。
#### 检查网络代理设置
如果用户的系统设置了 HTTP 或 HTTPS 代理,这可能是导致无法正确下载所需文件的原因之一。可以临时禁用这些代理设置再试一次操作:
```cmd
netsh winhttp reset proxy
```
这条命令将会把 Windows HTTP Services (WinHTTP) 的 Web Proxy 设置恢复到默认状态[^3]。
#### 清理并重置 WSL 数据缓存
有时候旧有的数据残留也可能引发此类异常行为,因此有必要先清理掉现有的相关配置项后再继续下一步骤:
```powershell
wsl --unregister <DistributionName>
```
将 `<DistributionName>` 替换为你实际使用的发行版名称(比如/ubuntu)。之后再次尝试重新添加新的镜像实例即可[^4]。
#### 更新 Windows 系统至最新补丁级别
确保主机操作系统处于最新的安全更新状态下对于排除这类跨层交互问题是很有帮助的。打开“设置 -> 更新与安全性 -> Windows 更新”,检查是否有可用的新版本推送待安装[^5]。
#### 更改磁盘分区格式为 NTFS
虽然理论上 FAT32 类型也可以承载小型应用程序的数据需求,但对于大型软件包尤其是涉及复杂依赖关系管理的操作而言还是推荐转换为目标驱动器采用NTFS 文件系统形式更为稳妥可靠些。右键点击目标卷标签选择属性->工具页签下的扫描按钮旁边有个转换链接可供选用[^6]。
---
### 示例代码片段
验证当前所处的工作目录及其所属文件系统的类型是否满足预期条件的一个简单方式如下所示:
```python
import os
import sys
def get_fs_type(path):
if not os.path.exists(path):
raise ValueError("Path does not exist.")
fs_info = os.statvfs(path)
fstype = ""
try:
import ctypes
kernel32 = ctypes.windll.kernel32
buf_size = 64 * ctypes.sizeof(ctypes.c_wchar)
buffer = ctypes.create_unicode_buffer(buf_size)
res = kernel32.GetVolumeInformationW(
path, None, 0,
None, None, None,
buffer, buf_size//ctypes.sizeof(ctypes.c_wchar))
if res != 0:
fstype = buffer.value.strip()
except Exception as e:
pass
return fstype or "Unknown"
current_dir = os.getcwd()
fs_type = get_fs_type(current_dir)
print(f"Current Directory: {current_dir}")
print(f"File System Type : {fs_type}")
if fs_type.lower() != 'ntfs':
print("[Warning] It's recommended to use an NTFS formatted drive for best compatibility.", file=sys.stderr)
else:
print("The current directory is on an NTFS partition which should work well with WSL installations.")
```
Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x80071772 Error: 0x80071772 ????????????????????
### 解决WSL注册分发错误0x80071772
当遇到`wsl register distribution error 0x80071772`时,这通常意味着Windows子系统Linux(WSL)在尝试安装或配置特定的Linux发行版时遇到了问题。此错误可能由多种因素引起,包括但不限于网络连接不稳定、磁盘空间不足或是Windows更新不完全。
针对该错误码的具体解决方案如下:
#### 检查并清理存储空间
确保有足够的可用硬盘空间来完成WSL及其所选Linux发行版本的安装过程。如果磁盘空间有限,则可能导致安装失败。建议至少保留20GB以上的剩余空间[^1]。
```powershell
Get-WmiObject Win32_LogicalDisk | Select-Object DeviceID, @{n="FreeSpace(GB)";e={$_.freespace / 1gb -as [int]}}, @{n="Size(GB)";e={$_.size / 1gb -as [int]}}
```
#### 更新Windows操作系统
保持系统的最新状态对于解决许多潜在的技术问题是必要的。通过Windows Update服务获取最新的累积更新包可以修复已知漏洞以及改进功能兼容性。
打开设置 -> 更新和安全 -> Windows更新 -> 检查更新按钮点击以查找是否有新的补丁程序待下载安装。
#### 配置Docker镜像加速器
虽然当前讨论的是关于WSL本身的错误消息,但如果计划在同一环境中运行容器化应用的话,合理调整Docker引擎参数同样重要。例如,在JSON文件中指定国内可访问的速度更快的镜像源地址可以帮助提高拉取基础镜像效率减少等待时间。
```json
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com/"
]
}
```
#### 使用命令行重试安装操作
有时直接从Microsoft Store启动安装可能会因为临时性的服务器端原因而出现问题。此时可以通过PowerShell执行更底层的操作来进行重新初始化尝试。
```powershell
wsl --install -d Ubuntu # 替换Ubuntu为你想要使用的具体发行版名称
```
以上措施有助于克服因环境差异而导致的不同类型的障碍,并最终成功部署所需的开发工具链。
阅读全文
相关推荐









