WSL2: Windows下极其轻量的Linux虚拟机

WSL2

基本介绍

  • WSL全称Windows Subsystem for Linux,是2016年发布的适用于WindowsLinux子系统
  • 通常在一个电脑上,通过装虚拟机软件会比装两个系统更方便,例如安装VMWareVirtualBox,它们能在更广泛的系统上安装其它子系统,例如在MacOS里安装Windows子系统(通过提供一个镜像文件),而WSL只适用于在Windows里安装WSL支持的Windows子系统,且不提供GUI
  • WSL有它独有的优势,它的速度更快、配置更简单,且启动极快
  • 实现原理:
    • wsl本身不带Linux内核,仅仅是作为表示层/翻译层,将Linux命令翻译成Windows兼容的内核命令 性能极高(因为只进行翻译),但仅兼容ELF可执行文件,不支持Docker
    • wsl2具有完整内核,是通过Hyper-V实现的轻量级虚拟机,同样与Windows深度集成,在Linux内部使用虚拟硬盘性能较高,但访问Windows文件系统(/mnt/)时性能较低 兼容所有的Linux软件
    • VMWare等重量级虚拟机软件:完全模拟计算机硬件,需要完整启动BIOS、完整的上下文切换和硬件模拟,因此性能低,但在网络配置上自由度高

WSL配置

  • 安装wsl:一键式安装

    1
    2
    3
    4
    # 管理员powershell(会将wsl2作为默认版本)
    # 安装后需要重启电脑
    wsl --install
    # 重启后会安装默认的Ubuntu20发行版并要求创建新的用户名和密码
  • 安装wsl:手动配置

    1
    2
    3
    4
    5
    # 管理员powershell
    # 启用wsl
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    # 启用虚拟机平台
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

    然后安装WSL2 Linux kernel update package for x64 machines 最后在powershell执行启用wsl2

    1
    wsl --set-default-version 2
  • 安装Linux发行版:在Microsoft Store中搜索即可 或通过命令行安装:

    1
    2
    3
    4
    # 查看Microsoft Store里的所有发行版
    wsl --list --online # wsl -l -o
    # 安装对应发行版(实例名称为默认的发行版名称)
    wsl --install -d <Distro-name>

WSL常用命令

  • wsl -l -v/wsl --list --verbose:查看已安装的虚拟机实例的状态
  • wsl --set-default <Distro-name>:设置指定的虚拟机实例为默认虚拟机
  • wsl:启动并进入默认虚拟机实例
  • wsl --shutdown:关闭所有虚拟机
  • wsl --unregister <Distro-name>:删除虚拟机实例
  • wsl -d <Distro-name>:启动并进入指定虚拟机实例
  • wsl <command> [-d <Distro-name>]:在虚拟机实例中执行指定的命令(执行结束后退出)
  • wsl --export <Distro-name> <Filename>:导出指定发行版为指定的文件
  • wsl --import <Distro-name> <InstallDir> <Filename>:导入指定的归档文件为指定名称的虚拟机实例,其中InstallDir为该虚拟机所挂载的目录