文章目录[隐藏]
缘由
偶然看到一篇公众号说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 应用的方式发布。选择相应的版本安装即可。自己如下图所示无法获取安装!果断放弃!
命令行安装
参考: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
手动解压安装
- 下载文件(下载地址在上面);
如下载:https://aka.ms/wsl-ubuntu-1604 - 重命名ubuntu.appx文件为ubuntu.zip,并解压到文件夹【在系统盘目录】中;
- 命令行进入解压目录运行发行版加载程序,如ubuntu.exe,完成安装。
使用
一般我都建议先升级apt等等,然后把替换掉国外的源为国内的源后再使用。我刚开始就是pip用不了也无法安装,后来升级换源后就可以用了。
打开Linux
打开命令行输入
wsl
即可;
访问windows文件夹
在文件管理器,地址栏输入CMD回车(如下图)或在命令行进入特定目录后输入
wsl
即可;