当前位置:首页 > 技术文章 > 正文内容

Windows系统直接运行Linux,竟是如此简单

douba31个月前 (07-27)技术文章16

要想在Windows10以前的系统上,运行Linux程序是比较复杂的,需要使用cygwin之类的工具,不仅下载慢,而且功能有限,后来出现了诸如VirtualBox,VMWare Workstation和Microsoft Hyper-V之类的虚拟化软件,可以在windows上安装模拟一个完整的Linux系统,这样就可以直接在虚拟机中运行Linux程序。


微软从1703版本后,推出了WSL。也即将在2004版本中,推出基于Hyper-V技术的WSL2。


什么是WSL?

WSL(Windows Subsystem for Linux),它是Windows的Linux内核兼容性层。为了与即将正式上线的WSL2做区分,现在也称WSL为WSL1。

通过允许用户访问Linux bash命令行应用程序,使得许多Linux程序可以直接在Windows内运行。WSL 1允许Windows用户安装完整的Linux发行版,例如Ubuntu,openSUSE,Kali或Debian,不过值得注意的是,由于没有GPU支持,因此它无法直接执行GUI(例如Gnome,KDE等)。WSL1实际上也没有Linux内核,因此无法测试驱动程序或Linux内核扩展...也无法运行32位Linux应用程序.。


而WSL 2 是全新结构的WSL新版本,它支持 Linux 在 Windows 上运行 ELF64 Linux 二进制文件。这种新的体系结构改变了 Linux 二进制文件与 Windows 和计算机硬件的交互方式,但仍提供与 WSL 1相同的用户体验。单个 Linux 发行版可以作为 WSL 1 发行版运行,也可以作为 WSL 2 发行版运行,可以随时升级或降级,并且可以并行运行 WSL 1 和 WSL 2 发行版。WSL 2 使用的是真实 Linux 内核的全新体系结构


安装WSL1

1. 右键开始按钮,以管理员身份打开 PowerShell:


2. 输入下面的命令,并按下回车键:


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


安装过程会提示是否重启计算机以完成操作,敲回车重启。


3. 重新启动后,您可以通过控制面板> 打开或关闭 Windows 功能来检查该功能是否安装成功。当然,也可直接在这里面开启Windows子系统,不需要命令开启。


4. 接下来,您需要通过"开始"菜单转到 Windows 应用商店,并选择 Linux 发行版。我们将使用 Ubuntu,单击 Ubuntu 18.04 LTS 然后"安装"。


5. 安装后,"安装"按钮将更改为"启动",单击"启动"按钮。等待进一步安装后,窗口会提示输入 UNIX 用户名和密码,按照屏幕上的提示操作。


6. WSL1 + Ubuntu环境就安装好了,并且将显示 bash 提示,您可以通过在开始菜单中打开"Ubuntu"来打开此提示。

安装WLS2

由于WLS2 与WLS相比,除了拥有“真正”的Linux内核外,文件系统速度更快外,还有一个重大改变就是基于Hyper-v技术,也就是说,运行WLS2的话,就需要开启Hyper-V,这样也就导致了其他第三方虚拟机像是VWWare就没办法运行了(VirtualBox 6.0+可以实现与Hyper-V共存),这也算是一个小小的遗憾。


1. 以管理员身份打开CMD或者Powershell,然后输入下方命令后,选择Y重启电脑


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

没有安装wsl 1的话,还需要:


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


2.重启电脑后,以管理员权限运行cmd,然后输入


wsl -l -v


可以看到在Version下面显示是1, 这个就说明目前我们的WSL2还并未开启。


3. 要升级到 wsl 2,在CMD中输入下方命令:



wsl --set-version Ubuntu-18.04 2


注意Ubuntu-18.04 是上一步中Name中显示的名称,如果你安装的不是Ubuntu 18.04,那么就需要填入对应的版本。


如何访问Windows文件夹?


在WSL中,访问实际硬盘中的数据是非常方便的,默认情况下WSL已经挂载了Windows分区。

Windows磁盘的挂载点都已经自动的挂载。

在WSL中,输入cd /mnt/<磁盘盘符> 即可进入相应的分区。

比如访问磁盘C,就可以输入


cd /mnt/c/

即可进入C盘。

相关文章

向日葵对比ToDesk,谁才是解决远程开关机问题的NO.1?

很多办公人士都会有这样的烦恼,那就是打算下班回家工作,才发现有一份重要的资料没有上传,真的是让人很头大!想要回去拿,又很麻烦,不回去吧,又无法完成工作,所以这时候一款远程控制电脑开关机的产品就很重要。...

强烈推荐20个Linux find查找指令(linux中用find查找目录)

1. 按文件名搜索所有.log文件find /var/log -name "*.log"2. 忽略大小写搜索.txt文件find /home -iname "*.TXT"...

linux的6种查找文件的方法(linux 文件 查找)

学习linux,查找文件也算是一个痛点,尤其是在系统没有开启图形化。Linux作为一个成熟的系统,也提供了多种命令行工具和图形界面工具来帮助我们进行文件搜索和查找。下面是一些常见的查找文件的方法:fi...

Linux系统查看IP地址的常用方法(查看linux ip地址)

简介:Linux系统经常使用ifconfig命令查看网卡的IP地址,一般需要以root身份登录使用ifconfig工具。ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置...

linux的查查大法(linux 查wwn)

1.查文件find命令,用来查找指定目录下的目录或文件。(1.1)一般用法find -name keyword:当前目录及子目录下查找与keyword完全一致的目录或文件;find -name *ke...

linux系统日志查看命令(linux系统查看日志的详细信息)

cattail -f日 志 文 件 说 明/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全相关的日志信...