Windows搭建Linux子系统(WSL)详细教程
介绍
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)详细教程的更多相关文章
- Windows搭建Redis集群-详细教程
一.集群知识 1.集群的概念 所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定.高效的状态. 2.使用redis集群的必要性 问题:我们已经部署好了redis,并且能启动 ...
- Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程
Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程 一.准备工具: QT-SDK for Windows:http://get.qt.nokia.com/qtsdk/qt-sd ...
- Windows 10 搭建 Django 环境(详细教程)
Windows 10 搭建 Django 环境(详细教程) https://blog.csdn.net/HappyLittleMouse/article/details/81360272#1.%20P ...
- Windows中安装Linux子系统的详细步骤
早就听说Windows中可以安装Linux子系统,体验了一下,感觉还是不错的,下面直接开始安装和配置步骤吧! 开启Windows中的配置 首先开启开发者模式 打开"所有设置"进入& ...
- win10中搭建Linux子系统
win10自带的Linux子系统,简称WSL(Windows Subsystem for Linux).优点是打通了Linux系统和windows系统,改变了传统虚拟机/双系统造成的两个系统相互隔绝的 ...
- Windows安装Linux子系统--安装GUI界面
原文:Windows安装Linux子系统--安装GUI界面 前段时间发现Windows可以安装Linux子系统了,恰逢电脑换了固态,还没装Linux,不如趁机体验一番! 1.准备工作 1.1.打开 ...
- VM虚拟机搭建Linux CentOS7(手把手教程)
VM虚拟机搭建Linux CentOS7(手把手教程) 目录 VM虚拟机搭建Linux CentOS7(手把手教程) 一.VM虚拟机和Linux镜像文件下载 1. 登录VM虚拟机官方地址: 2. 安装 ...
- 使用Windows的Linux子系统搭建嵌入式开发环境
亲,都9102年了,还在用VMware跑嵌入式交叉编译链吗? 北京时间2019年6月13日,Windows 10发布预览版本18917.版本的主要功能是Linux子系统(windows sub ...
- Windows Sublime Text 配置Linux子系统(WSL)下的 gcc/g++ 编译环境
0. 简介(若已了解背景可以跳过此部分) Windows 10 Build 14316以上版本中加入了"Windows系统的Linux子系统"(Windows Subsystem ...
随机推荐
- 死磕Spring之IoC篇 - 调试环境的搭建
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...
- Spring IoC - 循环依赖
Spring 复习 3.循环依赖 3.1 定义 循环依赖指多个对象的创建过程中均需要注入对方对象,如下所示 class A{ B b; public A(){ } public A(B b){ thi ...
- 原生JS快速实现拖放
原生 JS 快速实现拖放 拖放是很常见的一种交互效果,很多时候我们都会借助于第三方的控件来实现,其实用原生 js 实现起来也非常的方便.接下来我们就用原生 js 和 css 快速实现拖放效果 html ...
- go 语言 如何发送微信信息到自己手机
使用 wxmgo 包可以把微信信息发送到自己的手机上.第一步: go get github.com/rehylas/wxmgo 第二步: import ( "fmt" wxm & ...
- C语言中指针和多维数组
指针和多维数组 数组名是特殊的指针 数组是一个特殊的指针,多维数组也是更为复杂的数组,它们的关系是什么样的呢? 我们通过一个简单的例子来比较形象的了解指针和多维数组: int a[2][3]; 这是一 ...
- 关于IO
前言 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.IO指 ...
- WebSocket与即时通讯
HTTP 协议有一个缺陷:通信只能由客户端发起!HTTP 协议做不到服务器主动向客户端推送信息.这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦.我们只能使用"轮 ...
- android底部导航栏小结
android自带的有TabHost,但好像无法满足要求, 本文只记录使用 TabLayout + Fragment 和 android 自带的 BottomNavigationView + Fra ...
- react+ts封装AntdUI的日期选择框之月份选择器DatePicker.month
需求:由于在项目开发中,当需要使用该组件时都需要对该组件进行大量的代码输出,为了方便代码统一管理,减少冗余代码,所以将此组件进行二次封装. 其他成员在使用中只需将自己的设置通过对应的参数传递到该组件, ...
- python plt画图横纵坐标0点重合
# -*- coding: utf-8 -*- import numpy as np import matplotlib.mlab as mlab import matplotlib.pyplot a ...