美文网首页
[译]非系统盘下安装Linux子系统的方式

[译]非系统盘下安装Linux子系统的方式

作者: 像烟花一样绚烂 | 来源:发表于2019-08-12 20:22 被阅读0次

    原帖:How-to: Installing WSL manually on a non-system drive

    Windows 10提供了一个很优秀的Linux子系统,也被叫做WSLlsxxBash on Ubuntu on Windows等等各种名字。最开始,只提供了被称为为Bash on Ubuntu on Windows的Ubuntu子系统,它被安装到%LOCALAPPDATA%\lxss目录下,这个目录通常是位于系统盘下。后来,Microsoft Store逐渐支持更多版本的Linux版本,这些新的Linux子系统会被安装到%LOCALAPPDATA%\[package name]\rootfs目录下。

    使用Linux子系统几个月之后,其间还基于Damsteen Operating System构建了一个简易的系统内核,然后我的系统盘空间就被占满了,于是我不得已卸载了子系统。

    其实,子系统是可以被安装到非系统盘下的,虽然不是官方教程,操作步骤如下:

    1. 开启子系统功能

    如果你过去没有启用子系统功能,需要先启用该功能。使用管理员权限启动PowerShell,然后执行如下命令:

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

    很快就会显示如下信息,表示成功

    Path          :
    Online        : True
    RestartNeeded : False
    

    可能会要求重启。因为我已经安装过,所以我不需要重启。

    按照我试过的,即使已经启用过子系统功能,如果不执行这个命令,到后面也可能失败
    执行还是很快的

    2. 创建一个用于安装子系统的文件夹

    在其他盘选择自己希望安装子系统的位置,并创建文件夹

    New-Item A:\Ubuntu -ItemType Directory # 创建文件夹
    Set-Location A:\Ubuntu # 跳转到新创建的文件夹
    

    这一步可以不在命令行进行,任意位置都行,我放在了D:\Subsystem

    3. 下载Linux发行版包

    官方文档手动下载适用于 Linux 的 Windows 子系统发行版包 中,列出了所有可用的Linux发行版包。我选择了Ubuntu 16.04.

    Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing
    

    然后解压:

    Rename-Item .\Ubuntu.appx Ubuntu.zip
    Expand-Archive .\Ubuntu.zip -Verbose
    

    在上面的例子中,会创建A:\Ubuntu\Ubuntu目录

    这一步同样可以不在命令行进行,命令行下载太慢而且容易中断,这一步选择自己觉得快的下载方式就行,我是用迅雷下载的,然后手动解压进去就行,不一定需要在命令行操作

    4. 安装Linux发行版包

    在解压出的目录下,有一个.exe可执行文件,用来安装Linux发行版。对我来说,就是ubuntu1804.exe。直接在之前的命令行中运行这个文件,就会开始安装,Log如下:

    Installing, this may take a few minutes...
    Please create a default UNIX user account. The username does not need to match your Windows username.
    For more information visit: https://aka.ms/wslusers
    Enter new UNIX username: sebazzz
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    Installation successful!
    

    没必要执行ubuntu1804.exe /?来看使用说明,系统会被直接安装到.exe同级目录下的rootfs目录中。

    这里写的是ubuntu 18.04版本,与前文不一致,不过,方法没错,懂就行,所以没做修改

    5. 使用

    需要启动子系统的时候,直接在命令行中执行ubuntu1804.exe或者ubuntu1804就行。也可以直接执行bash命令,会启动默认的子系统。

    想要修改默认的子系统,可以使用wslconfig:

    PS A:\Ubuntu\Ubuntu> wslconfig /list /all
    Windows Subsystem for Linux Distributions:
    Ubuntu-18.04 (Default)
    PS A:\Ubuntu\Ubuntu> wslconfig /setdefault Ubuntu-18.04
    

    使用愉快!

    P.S.: 如果需要使用基于WSL的界面程序,我的教程using GUI programs on WSL现在依然可用。尽管不是官方支持的,在Windows 10 1803上它依然能正常使用。

    using GUI programs on WSL 就不翻译了,正常也不需要,还是命令行好用

    目前来说,没有发现任何区别于传统安装方式的问题,迁移到D盘后,就可以在子系统里面安装一些较大的东西了,不需要担心挤压系统盘空间,当然Docker的支持也还是不完整,期待官方解决吧

    最后附上标准安装教程的链接:Windows10内置Linux子系统初体验

    相关文章

      网友评论

          本文标题:[译]非系统盘下安装Linux子系统的方式

          本文链接:https://www.haomeiwen.com/subject/qurpjctx.html