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

x33g5p2x  于2022-04-20 转载在 Linux  
字(2.2k)|赞(0)|评价(0)|浏览(539)

一、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

相关文章