如何让Windows10内嵌Linux系统?

缘由

偶然看到一篇公众号说Win10下可以直接内嵌运行Linux,这直接激发了我的兴趣。毕竟作为一个普通的Linux用户,自然能够感受到其独特的魅力所在。但重所周知,我们一般要么双系统切换运行Linux系统,要么在虚拟机中运行。我一般选择后者,毕竟两个系统都可以运行,何乐而不为。这听说有这个WSL不用虚拟机就可以运行,这就激动了。毕竟虚拟机还是要损失一部分性能来体验的。

安装WSL子系统

开启WSL

尽管微软有志于将Linux命令行操作体验整合到Windows系统下来,WSL也作为一项独立的windows服务引进,但这项服务默认是不开启的,要体验Linux需先开启该服务。你有两种方式开启这项服务:

  • 控制面板->程序和功能->添加Windows功能和服务->勾选如图所示的两个选项;
  • Powershell命令行
    以管理员权限启动 PowerShell,然后输入以下命令启用虚拟机平台:

    Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform


    以管理员权限启动 PowerShell,然后输入以下命令启用 Linux 子系统功能:

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


    在以上每一步命令执行完之后,PowerShell 中可能会提示你重新启动计算机。按“Y”可以重新启动,会操作和重启两次。

至此,你的电脑已经在策略上允许使用Linux子系统了,但是这项服务本身并不包含Linux子系统本身,你需要额外安装相应的Linux系统才行。你有三种途径安装Linux子系统:

从Windows Store 安装

参考:Windows 10 Installation Guide
打开Windows Store 搜索WSL或Linux,Store会为你推荐目标答案:

展示了目前支持的几个发行版,均以windows metro 应用的方式发布。选择相应的版本安装即可。自己如下图所示无法获取安装!果断放弃!
file

命令行安装

参考:Manually download WSL distro packages

  • 下载Linux发行版

    从Windows Store安装Linux简单方便,但不适用于所有情况,比如系统版本低于16215 Windows Store不提供可直接下载安装的发行版或者Windows Server版中Windows Store因安全因素考虑被禁止使用,这时候用户可以手动下载这些Linux 发行版APP进行安装。

下载地址如下:
Ubuntu 18.04:https://aka.ms/wsl-ubuntu-1804
Ubuntu 18.04 ARM:https://aka.ms/wsl-ubuntu-1804-arm
Ubuntu 16.04:https://aka.ms/wsl-ubuntu-1604
Debian GNU/Linux:https://aka.ms/wsl-debian-gnulinux
Kali Linux:https://aka.ms/wsl-kali-linux
OpenSUSE:https://aka.ms/wsl-opensuse-42
SLES:https://aka.ms/wsl-sles-12
下载方式有很多,你可以选择合适自己的方式下载。

# PowerShell 中使用Invoke-WebRequest 指令
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing

# CMD 中使用curl指令,该指令Windows 10 2018春季版及以后可使用
curl.exe -L -o ubuntu-1604.appx https://aka.ms/wsl-ubuntu-1604

直接点击链接下载或将连接复制到下载器中下载。

下载文件保存为 xxx.appx即可。

  • 安装下载的appx文件
    # PowerShell 
    add-appxpackage /path/to/xxx.appx

手动解压安装

使用

一般我都建议先升级apt等等,然后把替换掉国外的源为国内的源后再使用。我刚开始就是pip用不了也无法安装,后来升级换源后就可以用了。

file

打开Linux

打开命令行输入

wsl

即可;
file

访问windows文件夹

在文件管理器,地址栏输入CMD回车(如下图)或在命令行进入特定目录后输入

wsl

即可;
file

参考

WSL系统使用指南


除非特别说明,本博客所有作品均采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。转载请注明转自-https://www.emperinter.info/2020/03/26/wsl/

Leave a Comment