WSL—子系统安装及其相关配置和[诸多报错问题]-修改默认安装位置

news2024/11/17 4:39:21

一、WSL简介

WSL的全称是Windows Subsystem for Linux。
适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。

二、开启WSL功能

系统要求:win10/11 专业版,(家庭版无法使用)
打开控制面板 -> 程序 -> 启用或关闭windows功能
将“适用于Linux的windows子系统”勾选
后续您的windows系统会进行更新,重启后将会开启WSL功能。
默认开启的WSL版本是1.目前最新的版本是2.(但是之后可能会报错还是要版本2.0的)


三、安装kali子系统

进入微软商店搜索kali,选择kali进行安装、没有Windows Terminal也要装
安装完成后,在开始页面可以看到Kali Linux。
首次完成会要求您完成的第一步是创建账户,包括用户名和密码。(但是不是很顺利会报错)

报错的解决办法在下面👇

此用户名和密码特定于安装的每个单独的 Linux 分发版,与 Windows 用户名无关。
创建用户名和密码后,该帐户将是分发版的默认用户,并将在启动时自动登录。
此帐户将被视为 Linux 管理员,能够运行 sudo (Super User Do) 管理命令。
在适用于 Linux 的 Windows 子系统上运行的每个 Linux 分发版都有其自身的 Linux 用户帐户和密码。 每当添加分发版、重新安装或重置时,都必须配置一个 Linux 用户帐户。
此时虽然为管理员账户,可以使用sudo命令,但是不能使用root进行操作。
使用sudo passwd root命令,为root修改密码。

报错1:8007019e

解决问题:WslRegisterDistribution failed with error: 0x8007019e

然后打开安装好的Windows Linux子系统(WSL) 此时一般来说会遇到下面的问题:

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x8007019e
The Windows Subsystem for Linux optional component is not enabled. Please enable it and try again.
See https://aka.ms/wslinstall for details.
Press any key to continue...

出现这个错误的原因是没有安装Windows子系统支持(如果前面打开那个功能过后就重启就不会出现这个问题)。

解决办法: 打开Windows PowerShell(Admin) 输入: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 回车执行 重启

报错2:800701bc

问题解决WslRegisterDistribution failed with error: 0x800701bc

造成该问题的原因是WSL版本由原来的WSL1升级到WSL2后,内核没有升级,前往微软WSL官网下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包即可。

下载并安装WSL2更新包

WSL2 Linux kernel update package for x64 machines​wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

将WSL2设置成默认

wsl --set-default-version 2

但是输入wsl --set-default-version 2失败,报错“请启用虚拟机平台 windows 功能并确保在 bios 中启用虚拟化"

解决办法:运行这个指令要以管理员身份运行

bcdedit /set hypervisorlaunchtype auto

这个指令代表的意思是:设置Hyper-V虚拟化启动类型为自动。

报错3:80370102

问题解决WslRegisterDistribution failed with error: 0x80370102

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..

这个只要前面开启那个虚拟化平台也不会报错
 

开启虚拟机特性

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

报错4:80004005

安装报错 WslRegisterDistribution failed with error: 0x80004005

我是从MS Store 安装的,下载后点击打开,弹出cmd窗口报错信息:

Installing, this may take a few minutes... 
WslRegisterDistribution failed with error: 0x80004005 
Error: 0x80004005 ???????

Press any key to continue...

解决方法:
将 LxssManager 服务修改为自动启动
从服务中修改会提示“拒绝访问”,所以从注册表改
win + R -> regedit -> \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LxssManager ->

右键 Start 项 -> 将值修改为 2(默认为 3)

1 自动(延迟启动)
2 自动
3 手动
4 禁用

更新wsl
管理员启动 powershell:wsl --update

成功安装
再次点击打开

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:

报错5:80070005

WslRegisterDistribution failed with error: 0x80070005

解决方法
  1. 卸载:
  • Hyper-V
  • 虚拟机管理程序平台
  • 容器
  • WSL的
  1. 重新启动
  2. 重新安装所有 4 个功能
  3. 重新启动
  4. 再次调用 API。现在它起作用了。

如何删除它?我在 Microsoft 商店中没有卸载按钮。

第一个,在“设置”中选中“应用程序”并找到它或在搜索栏中写入Windows子系统,然后卸载

第二个,在“设置”中选中“应用程序”并找到它或在搜索栏中写入kali,然后卸载

重新再来一遍就行...

修改默认安装位置

一般来说都会默认按在 C 盘 ,所以我们可以使用下面的方法进行修改默认安装位置,同时我们应该也可以使用这个方法进行一个分支保存

# 1. 查看所有安装的版本
PS C:\Users\14894> wsl -l --all -v
  NAME          STATE           VERSION
* kali-linux    Running         2
# 2. 导出分发版为 tar文件到 D盘
PS C:\Users\14894> wsl --export kali-linux D:\wsl-kali-linux.tar
# 3. 注销当前分发版
PS C:\Users\14894> wsl --unregister kali-linux
# 4. 重新导入并安装WSL在D盘
PS C:\Users\14894> wsl --import kali-linux D:\kali-linux  D:\wsl-kali-linux.tar --version 2
# 5. 设置默认登陆用户为安装时用户名
PS C:\Users\14894> kali-linux config --default-user USERNAME
# 6. 删除 wsl-kali-linux.tar
PS C:\Users\14894> del D:\wsl-kali-linux.tar

更新源和升级软件

su vim /etc/apt/sources.list

# 官方源
# deb http://http.kali.org/kali kali-rolling main non-free contrib
# deb-src http://http.kali.org/kali kali-rolling main non-free contrib
#根据需要自己选一个,中科大的还可以
#中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
#阿里云
#deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
#deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

安装完整版Kali

执行:apt-get install kali-linux-everything
即使更换了更新源也需要经过漫长的等待,全部的安装内容大约在19G左右。根据C盘容量,量力而行。

0 upgraded, 3891 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.8 GB of archives.
After this operation, 30.8 GB of additional disk space will be used.
Do you want to continue? [Y/n]

0个已升级,3891个新安装,0个要移除,0个未升级。
需要获得10.8 GB的档案。
执行此操作后,将使用30.8 GB的额外磁盘空间。
你想继续吗?[是/否]

kali-linux-everything 安装kali提供的所有工具

kali-linux-large 安装kali提供的默认工具

kali-linux-top10 安装最流行的10个工具

文章借鉴:

WSL 安装 kail - JTZ (gitbook.io)
WSL——Kali子系统安装及其相关配置_kali wsl-CSDN博客

解决WSL2的 0x800701bc错误 - 知乎 (zhihu.com)

请启用虚拟机平台 windows 功能并确保在 bios 中启用虚拟化_请启用虚拟机平台 windows 功能并确保在 bios 中启用虚拟化。 有关信息,请访问 ht-CSDN博客

win10 WSL2问题解决WslRegisterDistribution failed with error: 0x800701bc-CSDN博客

wsl2 kali 安装报错 WslRegisterDistribution failed with error: 0x80004005-CSDN博客

https://blog.csdn.net/x777777x/article/details/135045919

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1418190.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端Vue v-for 的使用

目录 ​编辑 简介 使用方式 基本使用 v-for"(item, index)中item和index作用 示例 迭代对象 示例 结果 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入…

数据可视化工具JSON Crack结合内网穿透实现公网访问

文章目录 1. 在Linux上使用Docker安装JSONCrack2. 安装Cpolar内网穿透工具3. 配置JSON Crack界面公网地址4. 远程访问 JSONCrack 界面5. 固定 JSONCrack公网地址 JSON Crack 是一款免费的开源数据可视化应用程序,能够将 JSON、YAML、XML、CSV 等数据格式可视化为交互…

超级好用的远程控制APP!!!

在这个科技日新月异的时代,我们的生活被各种手机软件所包围。几乎每个人都有一个甚至多个手机,你是否也有遇到过需要远程操作自己某一台手机的场景呢?今天,我要向大家推荐一款神奇的手机远程操作神器,让你可以随时随地…

Springboot的 Lombok全部关联注解以及核心注解@Data详解

目录 工具安装 依赖注入 注解类别 1. Getter / Setter 2. ToString 3. EqualsAndHashCode 4. NoArgsConstructor / RequiredArgsConstructor / AllArgsConstructor 5. Data 示例 注意事项 6. Value 7. Builder 8. Slf4j / Log / Log4j / Log4j2 / XSlf4j 9. NonN…

【音视频原理】音频编解码原理 ③ ( 音频 比特率 / 码率 | 音频 帧 / 帧长 | 音频 帧 采样排列方式 - 交错模式 和 非交错模式 )

文章目录 一、音频 比特率 / 码率1、音频 比特率2、音频 比特率 案例3、音频 码率4、音频 码率相关因素5、常见的 音频 码率6、视频码率 - 仅做参考 二、音频 帧 / 帧长1、音频帧2、音频 帧长度 三、音频 帧 采样排列方式 - 交错模式 和 非交错模式1、交错模式2、非交错模式 一…

【网络】:网络套接字(UDP)

网络套接字 一.网络字节序二.端口号三.socket1.常见的API2.封装UdpSocket 四.地址转换函数 网络通信的本质就是进程间通信。 一.网络字节序 我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分, 磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分,网…

中间件安全

中间件安全 vulhub漏洞复现:https://vulhub.org/操作教程:https://www.freebuf.com/sectool/226207.html 一、Apache Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和…

解决ubuntu 在VMware Workstation Pro下显示不完整的问题

步骤一 ctrlaltT 打开终端,输入: xrandr -s 1920x1080如果报错就输入xrandr,从里面选择适合的分辨率 注意是字母x不是乘号 步骤二 按win键,在搜索框搜索resolution更改显示器分辨率: 选择与电脑相同的分辨率,点击…

构造器模式

构造器模式 意图 将一个复杂对象的构建和表示分离,使得相同的构建能创建不同的表示。 解释 案例:想象一个角色扮演游戏的特征生成器。最简单的选择是让计算机为你创建角色。如果你想手动选择特征的细节像职业、性别、头发的颜色等。特征的产生是一个循…

基于java与vue的生鲜物流系统的设计与实现-计算机毕业设计源码13339

摘要 生鲜产品易于腐烂、难贮存、不易长时间运输,生产者所面临的市场风险很大,很多生鲜产品无法实现“货畅其流”和“物尽其值”,适宜的生鲜产品物流体系就显得尤为重要。本文将广东省生鲜产品物流体系的构建作为一个例子进行系统研究。首先对…

Stable Diffusion 笔记一:网络结构拆解

SD由三大组件组成:VAE,CLIP,Unet。 一VAE: VAE是Variational Autoencoder的缩写,中文名变分自编码器,是一种基于深度学习的生成模型。 1潜空间图片与像素图片: 像素图片是正常使…

(九)springboot实战——springboot3下的webflux项目参数验证及其全局参数验证异常处理

前言 在上一节内容中,我们介绍了如何在webflux项目中自定义实现一个全局的异常处理器ErrorWebExceptionHandler,正常情况下其可以处理我们系统的运行时异常,但是无法处理参数验证的异常WebExchangeBindException,所以这里提供另外…

Amazon CodeWhisperer 代码提示——Golang 测评

前言 官网链接: 亚马逊云科技 Amazon CodeGuru Reviewer 中的 CodeWhisperer 是一种代码提示工具,它使用机器学习和人工智能技术来提高开发人员的代码质量和效率。它可以通过分析代码库中的历史代码和最佳实践,为开发人员提供有关如何改进其…

vue预览pdf文件的几种方法

文章目录 vue预览pdf集中方法方法一:方法二:展示效果:需要包依赖:代码: 方法三:展示效果:需要包依赖:代码:自己调参数,选择符合自己的 vue预览pdf集中方法 我…

selenium-Web界面搜索功能测试

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨 测试环境准备: 1、安装Python 2、安装Ch…

C++面试宝典第25题:阶乘末尾零的个数

题目 给定一个整数n,返回n!(n的阶乘)结果尾数中零的个数。 示例 1: 输入:3 输出:0 解释:3! = 6,尾数中没有零。 示例 2: 输入:5 输出:1 解释:5! = 120,尾数中有1个零。 解析 这道题主要考察应聘者对于数学问题的分析和理解能力,以及在多个解决方案中,寻求最优…

Python 拼接字符串的 7 种方式

忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串。相信不少同学会有同感。 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型。而拼接字符串是必备的一种技能。今天,我跟大家一起来…

Github 2024-01-28 开源项目日报Top10

根据Github Trendings的统计,今日(2024-01-28统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目3TypeScript项目2Rust项目1HTML项目1JavaScript项目1Cuda项目1C#项目1非开发语言项目1 Nuxt&#…

Spring Boot通过配置文件支持数据库自定义表名

直接上干货: 例如一个叫xxx的项目,yml文件里加上这段 xxxproject:db:xxxTable: xxx_dbname #自定义的数据库表名创一个Configuration类放表名和Mapper // XxxProjectAutoConfiguration.javaConfiguration MapperScan(basePackages "cn.com.xxxp…

蓝牙----蓝牙连接建立_连接建立

蓝牙----蓝牙连接建立_连接建立 蓝牙连接建立过程图1.主机扫描到广播包1.1判断是否是自己关心的广播包1.2广播地址添加到扫描列表 2.主机扫描结束,建立连接3.主从连接成功后,执行连接建立后事件3.1.主机将连接句柄和设备地址添加到连接列表3.2.主机进行G…