Windows 10专业版安装 WSL2 (Ubuntu 20.04)

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows 10专业版安装 WSL2 (Ubuntu 20.04)相关的知识,希望对你有一定的参考价值。

目录

一、Windows中WSL2(子系统)安装前提条件

  • 版本:win10专业版
  • 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
  • 低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。

二、Windows中WSL2(子系统)安装步骤(默认安装C盘

  • 以管理员权限运行 powershell

  • 启用Windows10子系统功能,再打开的powershell窗口中输入如下命令:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
  • 启用虚拟机平台功能,再打开的powershell窗口中输入如下命令:

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
  • 重启电脑

  • 下载 Linux 内核更新包(适用于 x64 计算机的 WSL2 Linux 内核更新包)

    https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

  • 将 WSL 2 设置为默认版本,再打开的powershell窗口中输入如下命令:

    wsl --set-default-version 2
    
  • 打开应用商店安装子系统 (在应用商店搜索 ubuntu),截图所示lz已安装过了。

  • 如果当前的微软账号没有安装过,此处应该是 【获取】 获取之后就是【安装】。

  • 启动子系统并等待安装

  • 配置用户名和密码

三、Windows中WSL2(子系统)设置默认root用户登入

  • 进入C:\\Users\\xxxx\\AppData\\Local\\Microsoft\\WindowsApps\\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc目录下,找到ubuntu2004.exe程序,

  • cmd到此目录下,执行以下命令

    ubuntu.exe config --default-user root
    
  • 重启WSL子系统即可看到效果,默认登入的就是root账户了

四、Windows中WSL2(子系统)无法访问网络的解决办法

  • 打开PowerShell窗口,编辑/etc/wsl.conf文件,添加如下内容

    [network]
    generateResolvConf = false
    
  • PowerShell重启WSL

    wsl.exe --shutdown
    
  • 打开PowerShell窗口,编辑/etc/resolv.conf文件,添加如下内容

    nameserver 223.5.5.5
    nameserver 223.6.6.6
    

五、Windows中的WSL2(子系统)开机启动配置

5.1、在子系统中创建脚本

  • 打开PowerShell窗口,编辑/etc/init.wsl

    sudo vim /etc/init.wsl
    
  • 添加如下内容

    #! /bin/sh
    /etc/init.d/ssh start
    /etc/init.d/mysql start
    /etc/init.d/php-fpm start
    /etc/init.d/nginx start 
    
  • 授权

    sudo chmod +x /etc/init.wsl
    

5.2、在Windows中创建脚本

  • 按【WIN+R 】打开运行窗口,输入【shell:startup】

  • 打开Windows 启动脚本目录,在该目录下新建 linux-start.vbs,添加如下内容(wsl -d后面的参数是你所安装的子系统的版本 ,可通过wsl -l查看)

    Set ws = WScript.CreateObject("WScript.Shell")        
    ws.run "wsl -d Ubuntu-20.04 -u root /etc/init.wsl"
    

  • 重启Windows即可

六、Windows中WSL2(子系统)安装ssh

  • 卸载同时清除openssh-server软件包和软件的配置文件,(没有安装就不用卸载重装,直接安装)

    sudo apt-get purge openssh-server
    
  • 下载并安装openssh-server服务

    sudo apt-get install openssh-server
    
  • 编辑/etc/ssh/sshd_config配置文件,并修改如下内容

    sudo vim /etc/ssh/sshd_config
    #需要修改的地方
    Port 22 #默认即可,如果有端口占用可以自己修改
    PubkeyAuthentication yes #默认是Public Key登录,我这里注释掉改为用户名密码登录
    PasswordAuthentication yes #允许用户名密码方式登录
    
  • 启动ssh-server

    sudo service ssh start
    
  • 查看ssh服务状态,是否启动成功

    sudo service ssh status
    

七、window和WSL2(子系统)如何互传文件

示例:将window系统下的D:software/mongodb-linux-x86_64-rhel70-4.4.13.tgz上传到WSL2(子系统)的/usr/local目录下

  • 在WSL2(子系统)中执行如下命令,即可

    cp /mnt/d/software/nmongodb-linux-x86_64-rhel70-4.4.13.tgz /usr/local
    

以上是关于Windows 10专业版安装 WSL2 (Ubuntu 20.04)的主要内容,如果未能解决你的问题,请参考以下文章

如何访问 Docker 桌面使用的 wsl2?

Windows10安装WSL2和Ubuntu的过程

Windows10安装WSL2

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

Windows10/Windows11 子系统(WSL2)安装Ubuntu20.04

Windows学习总结(23)——在 Windows 10 子系统 ubuntu 上利用 WSL2 安装 docker 的 2 种方式