0


win10下 WSL2安装及配置

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

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

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

  1. 以管理员权限运行 powershell
  2. 启用Windows10子系统功能,再打开的powershell窗口中输入如下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. 启用虚拟机平台功能,再打开的powershell窗口中输入如下命令:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 重启电脑
  2. - 下载 Linux 内核更新包(适用于 x64 计算机的 WSL2 Linux 内核更新包)

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

wsl --set-default-version 2
  1. 打开应用商店安装子系统 (在应用商店搜索 ubuntu)

-- 无法下载则开启代理重新下载

或者自己搜索下载

选择包安装模式(选择到其他盘安装)

**下载地址:**旧版 WSL 的手动安装步骤 | Microsoft Learn

解压目录后找到Ubuntu_2004.2021.825.0_x64.appx

安装

启动子系统并等待安装

配置用户名和密码

切记配置用户名记得使用阿里云git的用户名 要不然权限问题很难解决 手动配置的用户没办法给到权限 可能是wsl的坑吧, 重装中

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

进入

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

ubuntu2204.exe config --default-user root

重启WSL子系统即可看到效果,默认登入的就是root账户了

命令行启动

# 命令行重启。(超级管理员打开cmd) 
sc stop LxssManager sc start LxssManager

服务窗口启动

win+r 输入services.msc。找到LxssManger重新启动即可。

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

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

[network] generateResolvConf = false

PowerShell重启WSL

wsl.exe --shutdown

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

如果还有问题

要编辑网络DNS配置文件

sudo vim /etc/resolv.conf

如果报错"/etc/resolv.conf" E166: Can’t open linked file for writing,删除文件重写

sudo rm /etc/resolv.conf sudo echo "" > /etc/resolv.conf sudo vim /etc/resolv.conf

然后重启网络

sudo /etc/init.d/networking restart sudo apt-get update sudo apt-get upgrade

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

在子系统中创建脚本

打开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

在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软件包和软件的配置文件,(没有安装就不用卸载重装,直接安装)

下载并安装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

八.注销和设置默认子系统

PS C:\Users\rd02\Desktop> wslconfig /u Ubuntu-22.04
正在注销。
操作成功完成。
PS C:\Users\rd02\Desktop> wslconfig /l
适用于 Linux 的 Windows 子系统分发:
Distrod (默认)
Ubuntu
#设置默认账户
PS C:\Users\rd02\Desktop> wslconfig /setdefault Ubuntu
操作成功完成。
PS C:\Users\rd02\Desktop> wslconfig /l
适用于 Linux 的 Windows 子系统分发:
Ubuntu (默认)
Distrod

九. 配置代理

终端代理

可以通过以下命令看下终端是否已经代理:

curl cip.cc

会显示当前自己IP挂到哪里;

  1. 方法一(recommend)改~/.zshrc或 ~/.bashrc
# 打开~/.zshrc 
sudo vim ~/.zshrc

在最下面添加:

alias sethttpsproxy="export https_proxy=http://192.168.2.198:7890" 
alias unsethttpsproxy="unset https_proxy" 
alias sethttproxy="export http_proxy=http://192.168.2.198:7890" 
alias unsethttproxy="unset http_proxy"

保存关闭后

source ~/.zshrc

当需要http走代理时,

sethttproxy

当需要关闭http代理时,

unsethttproxy
参考文档:

在 Windows Server 上安装 Linux 子系统 | Microsoft Learn

标签: windows linux 运维

本文转载自: https://blog.csdn.net/qq_27229113/article/details/129154845
版权归原作者 可以吧可以吧 所有, 如有侵权,请联系我们删除。

“win10下 WSL2安装及配置”的评论:

还没有评论