Win10安装Linux子系统WSL

〇、安装前的确认

WSL,Windows Subsystem for Linux。 允许用户直接在Windows上运行Linux环境,无需单独的虚拟机或双重启动。 是Win10、Win11自带的功能,默认关闭。

版本要求: Win11 或者 Win10 18362以上

检查版本 win+R,输入winver 或者在cmd中输入ver

一、系统准备启用虚拟化功能

重启电脑进入BIOS/UEFI 开启Intel VT-x或AMD-V虚拟化支持 【默认是开启的】

1、Win+S,打开搜索,输入"启用或关闭Windows功能"。

2、勾选"适用于 Linux 的 Windows 子系统",点击确定,然后重启电脑。

二、启用WSL

1、powershell 复制下载

dism.exe /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

2、安装WSL2 powershell 复制下载

wsl --install

3、将WSL2设置为默认版本 以管理员身份打开PowerShell并运行以下命令 wsl --set-default-version 2

4、重启系统

5、下载最新版本的Linux内核更新包

6、双击运行更新包,点击是,批准安装

三、安装Linux发行版

1、访问Microsoft Store,选择Ubuntu,点击进行安装。

替代方案:如果无法打开Microsoft Store

访问:store.rg-adguard.net/

输入网址:apps.microsoft.com/detail/9pdx...

回车下载后缀名为.appxbundle的文件

在Powershell中输入Add-AppxPackage -Path Ubuntu安装包路径

回车,安装

5、安装完成后,在Powershell中再次输入bash,即可进入ubuntu的shell,第一次进入会提示设置用户名和密码,这里设置用户名为voidking。

使用方法和正常的ubuntu一模一样,nice。当然也有不同的地方,比如c盘对应的目录为/mnt/c/,d盘对应的目录为/mnt/d/

3. 配置SSH

从Powershell进入bash,很难用,比如无法复制粘贴。所以,我们需要配置SSH,以便使用xshell访问。

1、切换root用户并设置密码

sudo -i passwd

2、安装ssh服务
apt-get install openssh-server

3、vim /etc/ssh/sshd_config,如下修改:

yaml 复制代码
# line 13, uncomment and change 
Port 3422 
# line 15, uncomment 
ListenAddress 0.0.0.0 
# line 32, uncomment and change 
PermitRootLogin yes 
# line 56, change 
PasswordAuthentication yes 

4、重启ssh
service ssh restart

如果报错:

Could not load host key: /etc/ssh/ssh_host_rsa_key

Could not load host key: /etc/ssh/ssh_host_ecdsa_key

Could not load host key: /etc/ssh/ssh_host_ed25519_key

处理方法为:

bash 复制代码
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key 
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key 
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key 

5、ubuntu中本地测试
ssh voidking@localhost -p 3422

6、windows中xshell连接

新建会话,主机填写127.0.0.1,端口填写3422,用户名密码是之前安装ubuntu时设置的。

4.开机自启动SSH

重启计算机后,发现无法通过ssh连接ubuntu,原来是因为ubuntu on windows默认不会开机自启动ssh服务。所以需要把ssh服务添加到开启自启动。

直接使用systemctl enable ssh命令,无效,所以需要把ssh服务添加到开机自启动脚本,参考ubuntu18.04配置rc.local

1、创建rc-local.service链接
ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

2、vim /etc/systemd/system/rc-local.service,添加:

ini 复制代码
[Install] 
WantedBy=multi-user.target 
Alias=rc-local.service 

3、创建rc.local
vim /etc/rc.local,添加:

bash 复制代码
#!/bin/bash 
/etc/init.d/ssh start 
exit 0 

4、添加执行权限
chmod 755 /etc/rc.local

5、重启ubuntu

无法使用reboot等命令重启ubuntu on windows,所以需要重启win10。

然而,重启后依然无效!看来是ubuntu on windows与纯净的ubuntu还是有些差别,参考在Windows子系统(WSL)中配置开机自启动服务进行处理。

1、win10中进入启动目录

Win+R输入shell:startup,回车

2、创建wls_rclocal.vbs,内容为:

arduino 复制代码
set ws=wscript.createobject("wscript.shell") 
ws.run "C:\Windows\System32\bash.exe -c 'sudo /etc/rc.local'",0 

3、登录ubuntu,创建sudoers文件
vim /etc/sudoers.d/rc-local,内容如下:

javascript 复制代码
voidking * = (root) NOPASSWD: /etc/rc.local 

4、重启win10,使用xshell登录ubuntu,成功。

相关推荐
地衣君7 小时前
RISC-V 开发板 + Ubuntu 23.04 部署 open_vins 过程
linux·ubuntu·risc-v
5:007 小时前
云备份项目
linux·开发语言·c++
码农101号8 小时前
Linux中shell编程表达式和数组讲解
linux·运维·服务器
云道轩8 小时前
升级centos 7.9内核到 5.4.x
linux·运维·centos
是小满满满满吗8 小时前
传输层:udp与tcp协议
linux·服务器·网络
爱学习的小道长8 小时前
Ubuntu Cursor升级成v1.0
linux·运维·ubuntu
EelBarb8 小时前
seafile:ubuntu搭建社区版seafile12.0
linux·运维·ubuntu
Xam_d_LM8 小时前
【Latex】Windows/Ubuntu 绘制 eps 矢量图通用方法(drawio),支持插入 Latex 数学公式
linux·ubuntu·科研·矢量图·drawio
Mintimate9 小时前
云服务器 Linux 手动 DD 安装第三方 Linux 发行版:原理与实战
linux·运维·服务器
RussellFans9 小时前
Linux 环境配置
linux·运维·服务器