介绍

WSL(windows下的Linux子系统)

Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

碎碎念

想要搞这个子系统主要是为了方便调用kali中常用工具,虚拟机占用资源高, terminal调用子系统使用效率较高,更为方便快捷。安装过程中有参阅其他教程,但是还是问题多多可以说踩了不少坑,这里给出一份完整详细的WSL安装教程

2020.8.11亲测可用

!请严格安装教程操作 错误操作顺序可能导致报错

前提条件

1)至少是 Windows 10 Anniversary Update, 推荐使用 Creators Update

2)必须是 64 bit

打开设置->系统->关于 可查看操作系统版本

//如果你的 OS Build 低于 14393, 请先尝试更新

安装

1. 关闭杀软以及Windows defener实时保护

亲测安装过程中可能误报导致安装出错

打开 Windows defener->病毒和威胁防护->“病毒和威胁防护”设置

关闭实时保护

//不放心的话可以把下面几个也都关了

2. 控制面板开启WSL功能

打开 控制面板->程序->启用或关闭Windows功能

勾选 适用于Linux的Windows子系统

90%情况下都可以从这里开启 笔者有遇到不能更新的问题

亲测可用命令行开启此功能

以管理员权限打开 PowerShell, 运行以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

3. 开启开发人员模式

打开 设置->更新和安全->开发者选项, 选择“开发人员模式”

4. 在Microsoft store下载所需Linux系统

//这里以kali为例

5. 启动Linux

打开刚才下载的Linux

这里有提示可能需要几分钟

然后提示输入Linux账户名和密码

此时Linux账户创建成功

6. 启用root账户

/* 后续操作笔者在Windows Terminal上完成

Windows Terminal可在Microsoft store

!需要windows 10版本 18362.0或更高版本

使用cmd或者PowerShell应该也能完成后续操作(未测试)*/

1) 设置root账户密码

使用命令

sudo passwd

键入之前设置的账户密码 然后设置root账户密码

2) 启用root账户

使用如下命令

su root

然后输入刚才设置的root账户密码

7. 安装完整版kali

Microsoft store下载的kali不包含任何工具 需要后续安装完整版kali

1) 安装vim

先更新源 使用命令

apt-get update

!这里注意要先更新源不然不能安装vim

使用如下命令安装vim

sudo apt-get install vim

vim安装完成

2) 更换kali源

使用如下命令

sudo vim /etc/apt/sources.list

然后复制下面的源

#中科大
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 #清华大学
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free #浙大
deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free #东软大学
deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib #官方源
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

//其实只复制中科大的源也可以 源只影响下载速度 网络以及其他因素可能导致差异 大部分教程用的都是中科大的源

在这个界面先按i(insert)插入(进入编辑模式)

然后粘贴刚才复制的源

然后按esc(进入命令模式)

输入

:wq!

然后使用如下命令查看源是否更换成功

cat /etc/apt/sources.list

如图更换成功

3) 更新源并安装完整版kali

使用如下命令

sudo apt-get update     #更新源
sudo apt-get dist-upgrade #更新软件
sudo apt-get install kali-linux-large #安装完整版kali

许多教程这里的安装命令都是 sudo apt-get install kali-linux 或 sudo apt-get install kali-linux-full

这里也是找了很久才知道主要数据包名字改了 导致很多教程现在都失效了

链接:https://www.kali.org/news/major-metapackage-makeover/

执行完第二条命令后有一个报错提示

/* 这个报错笔者第一次安装时没有遇到 但是后续多次尝试都有遇到这个问题= =

暂时不清楚原因 */

执行如下命令修复可解决

sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/
sudo mkdir /var/lib/dpkg/info/
sudo apt-get update

sudo apt-get -f install

sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old/
sudo rm -rf /var/lib/dpkg/info
sudo mv /var/lib/dpkg/info_old/ /var/lib/dpkg/info/

参考:https://blog.csdn.net/heray1990/article/details/47803541

然后再执行第三条命令安装完整版kali

如果更新源后没有更新软件直接执行第三条命令

可使用

sudo apt-get install kali-linux-large --fix-missing

这里中途会有一些图形化界面的选择选项 类似这种

这里用翻译软件自行翻译选择合适选项

//有教程写有Yes选Yes有OK选OK 最后一个选“from inetd”

安装时大致查看过这些选项影响应该不大请自行斟酌

然后就等着黑框框里闪啊闪啊 等待安装完成

这里提一下Windows Terminal从PowerShell进入子系统只需使用kali或者bash命令

其中bash命令是在当前目录进入子系统

CTRL+D可以回到PowerShell/cmd

安装完成后简单的测试一下

可以发现kali内置Python2 Python3 以及binwalk可以正常使用

至此 安装结束。

这里谈一下个人感受吧 之前在Linux下安装过其他软件

大致感觉Linux软件包的依赖关系很复杂 然后对Linux的不熟悉导致处处碰壁

另外应该是图形化界面用的多 Linux的命令行操作不是很熟悉

子系统只是为了方便调用一些基本工具 可能之后很多情况下还是会使用虚拟机

其他教程也有安装图形化界面的 笔者觉得没必要 直接使用虚拟机更为方便

另外关于Windows Linux macOS三大操作系统相对来说 还是更喜欢macOS

//喜欢不需要理由的

当然目前使用最多的还是Windows

转载请注明出处

本文作者:双份浓缩馥芮白

原文链接:https://www.cnblogs.com/Flat-White/p/13501639.html

版权所有,如需转载请注明出处。

Windows搭建Linux子系统(WSL)详细教程的更多相关文章

  1. Windows搭建Redis集群-详细教程

    一.集群知识 1.集群的概念 所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定.高效的状态. 2.使用redis集群的必要性 问题:我们已经部署好了redis,并且能启动 ...

  2. Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程

     Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程 一.准备工具: QT-SDK for Windows:http://get.qt.nokia.com/qtsdk/qt-sd ...

  3. Windows 10 搭建 Django 环境(详细教程)

    Windows 10 搭建 Django 环境(详细教程) https://blog.csdn.net/HappyLittleMouse/article/details/81360272#1.%20P ...

  4. Windows中安装Linux子系统的详细步骤

    早就听说Windows中可以安装Linux子系统,体验了一下,感觉还是不错的,下面直接开始安装和配置步骤吧! 开启Windows中的配置 首先开启开发者模式 打开"所有设置"进入& ...

  5. win10中搭建Linux子系统

    win10自带的Linux子系统,简称WSL(Windows Subsystem for Linux).优点是打通了Linux系统和windows系统,改变了传统虚拟机/双系统造成的两个系统相互隔绝的 ...

  6. Windows安装Linux子系统--安装GUI界面

    原文:Windows安装Linux子系统--安装GUI界面   前段时间发现Windows可以安装Linux子系统了,恰逢电脑换了固态,还没装Linux,不如趁机体验一番! 1.准备工作 1.1.打开 ...

  7. VM虚拟机搭建Linux CentOS7(手把手教程)

    VM虚拟机搭建Linux CentOS7(手把手教程) 目录 VM虚拟机搭建Linux CentOS7(手把手教程) 一.VM虚拟机和Linux镜像文件下载 1. 登录VM虚拟机官方地址: 2. 安装 ...

  8. 使用Windows的Linux子系统搭建嵌入式开发环境

      亲,都9102年了,还在用VMware跑嵌入式交叉编译链吗?   北京时间2019年6月13日,Windows 10发布预览版本18917.版本的主要功能是Linux子系统(windows sub ...

  9. Windows Sublime Text 配置Linux子系统(WSL)下的 gcc/g++ 编译环境

    0. 简介(若已了解背景可以跳过此部分) Windows 10 Build 14316以上版本中加入了"Windows系统的Linux子系统"(Windows Subsystem ...

随机推荐

  1. 关于Python 编码的一点认识

    在计算机中,所有数据的存储.运算以及传输都必须是二进制数字,因为计算机只认识0和1. 当一个人把一份数据传给另一个人时,计算机传递的是其实是二进制数字,但这些数字需要被还原为原始信息. 这个工作当然是 ...

  2. vscode 配置表

    { "git.ignoreMissingGitWarning": true, "editor.multiCursorModifier": "ctrlC ...

  3. springCloud服务流程

    springCloud的服务流程:消费者调用生产者 1.通过接口化的请求调用(指定接口的服务名字和服务地址)只是做定义,并没有真正做到. 2.Feign组件,远程去注册中心找到服务的名字和服务的地址然 ...

  4. Django和Ueditor自定义存储上传文件的文件名

    django台后默认上传文件名 在不使用分布式文件存储系统等第三方文件存储时,django使用默认的后台ImageField和FileField上传文件名默认使用原文件名,当出现同名时会在后面追加下随 ...

  5. python进阶(6)深拷贝和浅拷贝

    深拷贝和浅拷贝 不管对于浅拷贝.还是深拷贝,针对不可变对象str.int.tuple(有点特殊).boolean,它的内存地址是不变的,拷贝的仅仅是值 import copy a = 1 b = co ...

  6. Spring-03 依赖注入(DI)

    Spring-03 依赖注入(DI) 依赖注入(DI) 依赖注入(Dependency Injection,DI). 依赖 : 指Bean对象的创建依赖于容器,Bean对象的依赖资源. 注入 : 指B ...

  7. 基于docker搭建DNSmasq

    一.概述 DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能.它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出 ...

  8. 看完就懂--CSS选择器优先级的计算

    CSS选择器优先级的计算 什么是选择器的优先级 优先级的计算与比较(一) - 优先级具有可加性 - 选择器优先级不会超过自身最大数量级 - 同等优先级情况下,后写的覆盖前写的 - 并集选择器之间的优先 ...

  9. javascript中的闭包closure详解

    目录 简介 函数中的函数 Closure闭包 使用闭包实现private方法 闭包的Scope Chain 闭包常见的问题 闭包性能的问题 总结 简介 闭包closure是javascript中一个非 ...

  10. HDOJ-6685(暴力+思维)

    Rikka With Coin HDOJ-6685 主要的思想如下: 首先10元的硬币最多只会用一个,如果用了两个,直接替换成一个10元.一个20元一定不亏. 20元的硬币最多只会用三个,如果用了四个 ...