win10 启用wsl2 并安装ubuntu

启用虚拟机功能

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。
以管理员身份打开 PowerShell 并运行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重新启动 计算机,以完成 WSL 安装并更新到 WSL 2。
或者使用win+s 搜索 启用或关闭windows功能

虚拟机平台

下载 Linux 内核更新包

下载最新包:

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

运行下载的更新包。 (双击以运行 - 系统将提示你提供提升的权限,选择“yes”以批准此安装。)

将 WSL 2 设置为默认版本

wsl --set-default-version 2
wsl --set-default-version 2

安装所选的Linux分发

  1. 打开 Microsoft Store,并选择你偏好的 Linux 分发版。
    windows store
  1. 在分发版的页面中,选择"获取"


    image.png

首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。

ubuntu第一次启动

然后, 需要为新的Linux分发版创建用户账户和密码


image.png

设置unix用户名和密码后就可以使用了


进入linux

启动ubuntu

  1. 在系统菜单中启动


    windows启动菜单
  2. 在windows terminate中启动
    安装完wsl2后自动会将该系统的启动项加载到windows terminate中


    image.png
  3. 查看是不是WSL2

wsl -l -v
image.png

设置ubuntu root密码

ubuntu安装好后,root初始密码(默认密码)不知道,需要设置。
1、先用安装时候的用户登录进入系统
2、输入:sudo passwd 按回车
3、输入新密码,重复输入密码,最后提示passwd:password updated sucessfully
此时已完成root密码的设置
4、输入:su root
此时应该是已完成切换...

使用ssh登录

  1. 开启ubuntu中ssh支持
    查阅资料发现,WSL2下的Ubuntu默认是支持SSH的,支持默认不被开启。需要开启的,需要手动编辑下SSH服务的配置文件。
vi /etc/ssh/sshd_config

进入之后,修改如下几行配置

Port = 22 去掉这行的#,代表启用端口号22
ListenAddress 0.0.0.0 去掉这行的#,代表监听所有地址
PasswordAuthentication yes,将这行的no改成yes,代表支持账号密码形式的登录

设置后,重启SSH服务

sudo service ssh restart

此时还不能支持root用户密码登录
默认情况下,root用户只支持用RSA登录,但是可以修改配置的
切换到root用户之后,用vi命令打开SSH的配置文件。

su root
vi /etc/ssh/sshd_config

找到行PermitRootLogin prohibit-password保留这行的#,这意味着:允许root登录,但是禁止root用密码登录,所以这行要注释掉。
需要添加一行:

PermitRootLogin yes
PermitRootLogin yes

最后按ESC->:wq,保存退出,然后需要重启一次ssh服务即可生效

sudo service ssh restart

不出意外,这次你就可以用root账号进行登录了。

如果出现了如下错误:sshd: no hostkeys available -- exiting,需要如下操作:1. ssh-keygen -A, 2. /etc/init.d/ssh start

然后需要获取ubuntu ip地址

ifconfig
root@DESKTOP-CEE2GF0:/mnt/c/Users/wweim# ifconfig
eth0: flags=4163  mtu 1500
        inet 172.23.178.79  netmask 255.255.240.0  broadcast 172.23.191.255
        inet6 fe80::215:5dff:fe4a:c54  prefixlen 64  scopeid 0x20
        ether 00:15:5d:4a:0c:54  txqueuelen 1000  (Ethernet)
        RX packets 333  bytes 83452 (83.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 19  bytes 1514 (1.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

可以看到本地ip(127.0.0.1)和外网ip(172.23.178.79), 使用这两个ip都可以登录, 但是外网ip是会改变的, 所以一般用本地ip


ssh登录wsl2

到此一个本地linux环境已经搭建好了, 欢迎大家的转发, 转发请注明出处, 本文首发于公众号:[DotNet技术说]

本文作者:wwmin
微信公众号: DotNet技术说
本文链接:https://www.jianshu.com/p/3e2b7252b4b8
关于博主:评论和私信会在第一时间回复。或者[直接私信]我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,关注点赞, 您的鼓励是博主的最大动力!

你可能感兴趣的:(win10 启用wsl2 并安装ubuntu)