在windows下安装linux和kali子系统

news2024/11/24 17:52:14

目录

安装子系统

报错解决官方方法

步骤 1 - 启用适用于 Linux 的 Windows 子系统

步骤 2 - 检查运行 WSL 2 的要求

步骤 3 - 启用虚拟机功能

步骤 4 - 下载 Linux 内核更新包

步骤 5 - 将 WSL 2 设置为默认版本

步骤 6 - 安装所选的 Linux 分发

排查安装问题

下载发行版

安装 Windows 终端(可选)

设置 WSL 开发环境

排查适用于 Linux 的 Windows 子系统问题

WSL 的基本命令

比较 WSL 版本

 

终端安装

安装

设置默认终端应用程序

选择默认的终端配置文件

添加新的配置文件

打开新选项卡

调用命令面板

打开新窗格

配置

设置 JSON 文件

命令行参数

疑难解答


安装子系统

1.打开设置,搜索开发者选项,打开开发者模式。在控制面版的 控制面板\程序\程序和功能 中点击启用或关闭windows功能,勾选适用于windows的linux子系统和虚拟机平台,然后进行重启。

 

2.在microsoft直接搜索kali和Ubuntu下载

3.然后在应用商店下载好的打开kali或者Ubuntu,让他进行安装,但是可能会在命令行中进行报错,这就需要进行报错解决

报错解决官方方法

 

步骤 1 - 启用适用于 Linux 的 Windows 子系统

需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。

以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:

PowerShell

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

建议现在转到步骤 #2,更新到 WSL 2,但如果只想安装 WSL 1,现在可以重新启动计算机,然后继续执行步骤 6 - 安装所选的 Linux 发行版。 若要更新到 WSL 2,请等待重新启动计算机,然后继续执行下一步。

步骤 2 - 检查运行 WSL 2 的要求

若要更新到 WSL 2,需要运行 Windows 10或 Windows 11。

  • 对于 x64 系统:版本 1903 或更高版本,内部版本为 18362 或更高版本。
  • 对于 ARM64 系统:版本 2004 或更高版本,内部版本为 19041 或更高版本。

备注

低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手icon-default.png?t=N4P3https://www.microsoft.com/software-download/windows10更新 Windows 版本。

若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 更新到“设置”菜单中的最新 Windows 版本。

备注

如果运行的是 Windows 10 版本1903 或 1909,请在 Windows 菜单中打开“设置”,导航到“更新和安全性”,然后选择“检查更新”。 内部版本号必须是 18362.1049+ 或 18363.1049+,次要内部版本号需要高于 .1049。 阅读详细信息:WSL 2 即将支持 Windows 10 版本 1903 和 1909。

步骤 3 - 启用虚拟机功能

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。

以管理员身份打开 PowerShell 并运行:

PowerShell

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

重新启动计算机,以完成 WSL 安装并更新到 WSL 2。

步骤 4 - 下载 Linux 内核更新包

  1. 下载最新包:

    • 适用于 x64 计算机的 WSL2 Linux 内核更新包icon-default.png?t=N4P3https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

    备注

    如果使用的是 ARM64 计算机,请下载 ARM64 包。 如果不确定自己计算机的类型,请打开命令提示符或 PowerShell,并输入:systeminfo | find "System Type"Caveat: 在非英文版 Windows 上,你可能必须修改搜索文本,对“System Type”字符串进行翻译。 你可能还需要对引号进行转义来用于 find 命令。 例如,在德语版中使用 systeminfo | find '"Systemtyp"'

  2. 运行上一步中下载的更新包。 (双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)

安装完成后,请继续执行下一步 - 在安装新的 Linux 分发时,将 WSL 2 设置为默认版本。 (如果希望将新的 Linux 安装设置为 WSL 1,请跳过此步骤。)

备注

有关详细信息,请参阅 Windows 命令行博客上的文章对更新 WSL2 Linux 内核的更改。

步骤 5 - 将 WSL 2 设置为默认版本

打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

PowerShell

wsl --set-default-version 2

步骤 6 - 安装所选的 Linux 分发

  1. 打开 Microsoft Store,并选择你偏好的 Linux 分发版。

    单击以下链接会打开每个分发版的 Microsoft Store 页面:

    • Ubuntu 18.04 LTS
    • Ubuntu 20.04 LTS
    • Ubuntu 22.04 LTS
    • openSUSE Leap 15.1
    • SUSE Linux Enterprise Server 12 SP5
    • SUSE Linux Enterprise Server 15 SP1
    • Kali Linux
    • Debian GNU/Linux
    • Fedora Remix for WSL
    • Pengwin
    • Pengwin Enterprise
    • Alpine WSL
    • Raft(免费试用版)
  2. 在分发版的页面中,选择“获取”。

首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。

然后,需要为新的 Linux 分发版创建用户帐户和密码。

 

排查安装问题

如果在安装过程中遇到问题,请查看疑难解答指南的安装部分。

下载发行版

在某些情况下,你可能无法(或不想)使用 Microsoft Store 安装 WSL Linux 发行版。 你可能正在运行不支持 Microsoft Store 的 Windows Server 或长期服务 (LTSC) 桌面操作系统 SKU,或者你的公司网络策略和/或管理员不允许在你的环境中使用 Microsoft Store。 在这些情况下,虽然 WSL 本身可用,但你可能需要直接下载 Linux 发行版。

如果 Microsoft Store 应用不可用,可使用以下链接来下载并手动安装 Linux 发行版:

  • Ubuntu
  • Ubuntu 22.04 LTS
  • Ubuntu 20.04
  • Ubuntu 20.04 ARM
  • Ubuntu 18.04
  • Ubuntu 18.04 ARM
  • Ubuntu 16.04
  • Debian GNU/Linux
  • Kali Linux
  • SUSE Linux Enterprise Server 12
  • SUSE Linux Enterprise Server 15 SP2
  • SUSE Linux Enterprise Server 15 SP3
  • openSUSE Tumbleweed
  • openSUSE Leap 15.3
  • openSUSE Leap 15.2
  • Oracle Linux 8.5
  • Oracle Linux 7.9
  • Fedora Remix for WSL

这将导致 <distro>.appx 包下载到你选择的文件夹。

如果愿意,你也可通过命令行下载首选的发行版,可将 PowerShell 与 Invoke-WebRequest cmdlet 一起使用。 例如,下载 Ubuntu 20.04:

PowerShell

Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing

提示

如果下载需要很长时间,请通过设置 $ProgressPreference = 'SilentlyContinue' 来关闭进度栏

你还可以选择使用 curl 命令行实用程序来下载。 使用 curl 下载 Ubuntu 20.04:

控制台

curl.exe -L -o ubuntu-2004.appx https://aka.ms/wslubuntu2004

在本示例中,将执行 curl.exe(而不仅仅是 curl),以确保在 PowerShell 中调用真正的 curl 可执行文件,而不是调用 Invoke WebRequest 的 PowerShell curl 别名。

下载了发行版后,导航到包含下载内容的文件夹,并在该目录中运行以下命令,其中 app-name 是 Linux 发行版 .appx 文件的名称。

Powershell

Add-AppxPackage .\app_name.appx

Appx 包下载完成后,可以通过双击 appx 文件开始运行新发行版。 (命令 wsl -l 不会在此步骤完成之前显示发行版已安装)。

如果你使用 Windows Server,或在运行上述命令时遇到问题,可在 Windows Server 文档页上找到备用安装说明,以通过将 .appx 文件更改为 zip 文件来安装该文件。

安装了发行版后,请按照说明为新的 Linux 发行版创建用户帐户和密码。

安装 Windows 终端(可选)

使用 Windows 终端可以打开多个选项卡或窗口窗格,以显示多个 Linux 发行版或其他命令行(PowerShell、命令提示符、Azure CLI 等)并在它们之间快速切换。 可使用独特的配色方案、字体样式、大小、背景图像和自定义键盘快捷键来完全自定义终端。 了解详细信息。

安装 Windows 终端。


  • 设置 WSL 开发环境

    使用此分步指南中的最佳做法设置 WSL 开发环境。 了解如何运行 Ubuntu、Visual Studio Code或 Visual Studio、Git、Windows 凭据管理器、MongoDB、MySQL、Docker 远程容器等。

  • 排查适用于 Linux 的 Windows 子系统问题

    提供有关在适用于 Linux 的 Windows 子系统上运行 Linux 时遇到的常见错误和问题的详细信息。

  • WSL 的基本命令

    适用于 Linux 的 Windows 子系统 (WSL) 中基本命令的参考。

  • 比较 WSL 版本

    WSL 2 具有 WSL 1 的优点,但使用实际的 Linux 内核,而不是使用 WSL 1 之类的转换层,从而提高性能。

     

 

 

终端安装

 

安装

若要试用最新的预览功能,可能还需要安装 Windows 终端预览。

备注

如果你无法访问 Microsoft Store,GitHub 发布页上发布有内部版本。 如果从 GitHub 安装,Windows 终端将不会自动更新为新版本。 有关使用包管理器(winget、chocolatey、scoop)的其他安装选项,请参阅 Windows 终端产品存储库

设置默认终端应用程序

重要

只有 Windows 11 支持此功能。

若要使用 Windows 终端打开任何命令行应用程序,请将其设置为默认终端应用程序。

  1. 打开 Windows 终端并转到设置 UI 窗口。
  2. 选择启动并选择“Windows 终端”作为默认终端应用程序设置。

选择默认的终端配置文件

安装后打开 Windows 终端时,它会在打开的选项卡中通过 PowerShell 命令行作为默认配置文件启动。

更改默认配置文件:

  1. 打开 Windows 终端并转到设置 UI 窗口。
  2. 选择启动并选择所偏好的默认配置文件

如果愿意,还可以在与 Windows 终端关联的 Settings.json 文件中设置默认配置文件。

添加新的配置文件

如果已安装 WSL 发行版或多个版本的 PowerShell,Windows 终端将自动为你创建配置文件。

除了 + 新增配置文件选项之外,命令行配置文件还将列在设置 UI 中。

详细了解动态配置文件页上的动态配置文件。

打开新选项卡

可按 Ctrl+Shift+T 或选择 +(加号)按钮,打开默认配置文件的新选项卡。 若要打开其他配置文件,请选择 + 按钮旁的 ˅(箭头)打开下拉菜单。 然后可以从中选择要打开的配置文件。

调用命令面板

可以通过命令面板调用 Windows 终端的大多数功能。 调用它的默认键组合是 Ctrl+Shift+P。 你还可以使用 Windows 终端预览下拉菜单中的命令面板按钮打开它。

打开新窗格

可以使用窗格并行运行多个 shell。 若要打开窗格,可使用 Alt+Shift++ 打开垂直窗格,或使用 Alt+Shift+- 打开水平窗格。 还可使用 Alt+Shift+D 打开焦点配置文件的重复窗格。 详细了解窗格页上的窗格。

配置

若要自定义 Windows 终端的设置,请在下拉菜单中选择“设置”。 这将打开设置 UI 以配置设置。 可以在操作页上了解如何使用键盘快捷键打开设置 UI。

设置 JSON 文件

如果希望使用代码(而不是图形用户界面)配置 Windows 终端设置,则可以编辑 settings.json 文件。

在 Windows 终端下拉菜单中选择设置,同时按住 Shift 以在默认文本编辑器中打开 settings.json 文件。 (默认文本编辑器在 Windows 设置 中定义。)

可以在以下目录之一中找到 Windows 终端 settings.json 文件的路径:

  • 终端(稳定版/通用版):%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
  • 终端(预览版):%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json
  • 终端(未打包:Scoop、Chocolately 等):%LOCALAPPDATA%\Microsoft\Windows Terminal\settings.json

提示

  1. 可以通过在下拉菜单中选择设置并按住 Alt 在默认文本编辑器中打开 defaults.json 文件来访问 Windows 终端的默认设置。 此文件是自动生成的,对其进行的任何更改都将被忽略。
  2. 为了将配置文件数据和配色方案存储在单独的文件中,可创建一个 JSON 片段扩展,这有助于防止配置文件太大。

命令行参数

可以使用命令行参数在特定配置中启动终端。 这些参数允许通过自定义配置文件设置打开具有特定选项卡和窗格的终端。 详细了解命令行参数页上的命令行参数。

疑难解答

如果使用终端时遇到任何问题,请参考故障排除页。 如果发现任何 bug 或要提出功能请求,可以选择终端的“关于”菜单中的反馈链接转到 GitHub 页,可以在其中提出新问题。

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

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

相关文章

【JavaSE】Java基础语法(二十一):内部类

文章目录 1. 内部类的基本使用2. 成员内部类3. 局部内部类4. 匿名内部类5. 匿名内部类在开发中的使用&#xff08;应用&#xff09; 1. 内部类的基本使用 内部类概念 在一个类中定义一个类。举例&#xff1a;在一个类A的内部定义一个类B&#xff0c;类B就被称为内部类 内部类定…

YOLOv8目标检测实战:Android手机部署 (视频课程)

课程链接&#xff1a;https://edu.csdn.net/course/detail/38595 YOLOv8 目标检测基于先前 YOLO 版本的成功&#xff0c;引入了新功能和改进&#xff0c;进一步提升了性能和灵活性。 本课程在Windows上手把手演示YOLOv8&#xff08;YOLOv8n和YOLOv8s&#xff09;目标检测在An…

jvm 分析调优工具-学习笔记

jvm 分析调优工具 jps命令查看java进程pid jps 列出java进程名(不完整类名) 和pid jps -l 列出java进程名(完整类名) 和pid jmap命令查看java进程占用的jvm资源情况 jmap -histo pid 查看内存情况 jmap -heap pid 查看java程序的堆占用信息 jmap -dump 导出heap快照分析文件he…

22 VueComponent 响应式处理

前言 这是最近的碰到的那个 和响应式相关的问题 特定的操作之后响应式对象不“响应“了 引起的一系列的文章 主要记录的是 vue 的相关实现机制 呵呵 理解本文需要 vue 的使用基础, js 的使用基础 测试用例 测试用例如下, 一个简单的 按钮事件的触发 问题的调试 数据…

老macbook升级新版本(Big sur、Monterey)

老macbook升级新版本&#xff08;Big sur、Monterey&#xff09; 一、前期须知以及准备1.摘要2.设备3.升级方法3.前期准备 二、引导U盘的搭建1.下载安装程序2.U盘格式问题3.下载系统镜像并写入U盘 三、系统安装结束语 一、前期须知以及准备 1.摘要 对于老版本的macbook一系列…

代码随想录训练营Day53| 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 动态规划

目录 学习目标 学习内容 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 动态规划 学习目标 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 动态规划 学习内容 1143.最长公共子序列 1143. 最长公共子序列 - 力扣&#xff08;LeetCode&#xff09;ht…

PS磨皮插件免费电脑版Portraiture4.03下载及使用教程

Portraiture是一款智能磨皮插件&#xff0c;为Photoshop和Lightroom添加一键磨皮美化功能&#xff0c;快速对照片中皮肤、头发、眉毛等部位进行美化&#xff0c;Portraiture 4用于人像图片润色&#xff0c;磨皮等&#xff0c;减少了人工选择图像区域的重复劳动。它能智能地对图…

chatgpt赋能python:如何在Python中输入字符

如何在Python中输入字符 Python是一种非常流行的编程语言&#xff0c;它被广泛应用于各种领域&#xff0c;包括Web开发、人工智能、数据分析、科学计算等。在Python中输入字符是一项基本的操作&#xff0c;本文将介绍常见的输入字符方式以及注意事项。 使用input()函数输入字…

[数据结构] AVL树的插入旋转 和 概念理解

文章目录 定义 && 性质定义性质 实现思路架构节点AVL树框架Insert&#xff08;插入&#xff09;左单旋右单旋左右双旋右左双旋 定义 && 性质 定义 二叉搜索树虽可以缩短查找的效率&#xff0c;但 如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c…

初学Qt(Day04)

今日目标 创建一个类似游戏手柄的窗口&#xff0c;每次鼠标点击拖动手柄&#xff0c;在qt开发界面输出坐标&#xff0c;每当松开鼠标&#xff0c;手柄自动复位。 目标是实现类似下面这种 先说结论&#xff08;免得我又忘记了&#xff09;&#xff1a;没写完&#xff0c;是一…

Makefile基础教学(include的使用方法)

文章目录 前言一、include在makefile中的概念介绍二、include使用示例三、include中需要注意的一些操作1. 在include前加-选项2. include触发规则创建了文件会发生什么3. include包含的文件夹存在 总结 前言 本篇文章将讲解include的使用方法&#xff0c;在C语言中使用include…

chatgpt赋能python:Python与SEO的奇妙关系

Python与SEO的奇妙关系 SEO(Search Engine Optimization)&#xff0c;中文翻译为搜索引擎优化&#xff0c;是指通过对网站进行各种技术和内容方面的优化&#xff0c;来提升网站在搜索引擎自然排名中的位置&#xff0c;进而吸引更多的潜在客户。而Python语言&#xff0c;则成为…

jQuery-attr()、val()、add()属性和each函数

<!DOCTYPE HTML> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <title>jQuery-attr()、add()属性和each函数</title> <script type"text/j…

[数据集][目标检测]数据集VOC格式绝缘子缺陷检测数据集VOC-4086张

数据集格式&#xff1a;Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件&#xff0c;仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数)&#xff1a;4086 标注数量(xml文件个数)&#xff1a;4086 标注类别数&#xff1a;3 标注类别名称:["jueyuanzi",&…

25 VueComponent 的生命周期

前言 这是最近的碰到的那个 和响应式相关的问题 特定的操作之后响应式对象不“响应“了 引起的一系列的文章 主要记录的是 vue 的相关实现机制 呵呵 理解本文需要 vue 的使用基础, js 的使用基础 测试用例 测试用例如下, 一个简单的 按钮事件的触发 问题的调试 这里…

Linux——网络套接字3|Tcp客户端编写②

根据我们前面写的服务器,server端需要绑定,而client要不要bind呢? 不需要,因为客户端一旦和一个非常具体的端口号绑定,可能会导致端口号绑定多个客户端,因此可能会出现某个客户端无法启动。而服务器需要明确的端口号,因为服务器面对的是众多的客户端,服务器端口号一旦被…

c++ 11标准模板(STL) std::map(五)

定义于头文件<map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class map;(1)namespace pmr { template <class Key, class T, clas…

ros学习

1创建工作空间 catkin_init_workspace 将文件夹初始化成ros文件 编译工作空间catkin_make vi ~/.bashrc 加入环境变量bashrc一下在任何终端都生效 catkin_create_pkg learning_communication通讯机制 std_msgs数据结构 rospy roscpp catkin_create_pkg mbot_description ur…

雅思备考经验!阅读 8.5,听力 8.5!

成绩单 先上热乎乎的成绩单截图&#xff08;2023.5.19 考试&#xff09;&#xff0c;偏科选手出来挨打&#xff01;好在小分都达到了要求~ 英语基础 大概是两三年前考过托福和 GRE&#xff0c;成绩过期了没办法&#xff0c;只能重考&#xff0c;这次试试雅思。 雅思和托福的…

14-Vue技术栈之Vue3快速上手

目录 1.Vue3简介2. Vue3带来了什么2.1 性能的提升2.2 源码的升级2.3 拥抱TypeScript2.4 新的特性 1、海贼王&#xff0c;我当定了&#xff01;——路飞 2、人&#xff0c;最重要的是“心”啊&#xff01;——山治 3、如果放弃&#xff0c;我将终身遗憾。——路飞 4、人的梦想是…