跳转至内容
0
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Zephyr)
  • 不使用皮肤
折叠
JIKE社区
  1. 首页
  2. 讨论区
  3. 技术专区
  4. windows的Lunix子系统 wsl 2全记录

windows的Lunix子系统 wsl 2全记录

已定时 已固定 已锁定 已移动 技术专区
1 帖子 1 发布者 452 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • M 离线
    M 离线
    Mr.cao
    🍌
    写于 最后由 编辑
    #1

    windows的Lunix子系统wsl 1与wsl 2的区别

    WSL1 和 WSL2 都可以实现在 windows 中带来 linux 操作体验;

    启动速度都不慢;

    内存消耗都比较小;

    WSL 1 没有使用的 VM,WSL 2 使用了一个自动维护的 VM;

    WSL 1 不支持,WSL2 支持可以运行例如 Docker 等程序;

    WSL 2 支持完整的 linux 内核调用,而 WSL 1 不行;

    由于 WSL 2 使用了 Hyper-V,由于兼容性原不用同时运行 WSL 2 与 VMWare或VirtualBox,WSL 1 不存在此问题;

    WSL 2 不能与 windows 跨操作系统文件操作(Windows 访问 WSL2 的方法为进行 WSL2 环境键入 “cd ~” 进入主目录后,再键入"explorer.exe ."可在windows 文件管理器中访问 WSL 2 文件,此外还可以通过虚拟机的方法互通文件,如网络,文件共享等),而 WSL 1 则与 windows 在同一文件系统中。

    说白了,如果是需要一个像购买了的独立的服务器的话 wsl 2 更为接近

    是这个这个服务器跑在你的windows里,首先我们需要安装WSL并且切换为2

    windows里需要开启几个功能

    这3项目是必须的,没有的话就不适用本教程了

    重启windows

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

    传送门:https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel,下载 wsl_update_x64.msi 程序并安装

    (https://www.aliyundrive.com/s/zHTPQNR8oPd 提取码: 06fp)

    使用管理员权限打开CMD,输入下面命令切换为WSL2

    wsl --set-default-version 2

    下面是将 Ubuntu20.04 安装在任何盘的任何位置,如果你想安装在D盘的一个文件夹,那就再D盘新建如D:\Linux

    然后下载镜像https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#downloading-distributions

    (https://www.123pan.com/s/fZxlVv-BZ9Uv提取码:kL8E)

    放在D:\Linux解压安装

    最后可以在CMD里面 , 验证安装的版本

    wsl -l -v

    设置root密码,WSL2换源

    sudo -i
    passwd

    这里贴一个国外源,如果有要用国内源的可以自行查找一下,WSL2下

    vim /etc/apt/sources.list

    deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
    deb http://archive.canonical.com/ubuntu focal partner

    apt-get update
    apt-get update

    局域网内SSH连接电脑上的 wsl2 ubuntu

    这里就到了核心内容了,其他的内容都可以在网上找到很多,局域网连接这里就涉及到了内网网段,网关,防火墙等设置,还有很多不同的实现方式,我这里教一个最简单的,可以固定IP,并且可以简单实现的方法

    首先我们需要关闭宿主机的防火墙,或者你有能力可以根据自己的情况写具体的规则,我这里选择直接关闭

    WIN+R

    wf.msc

    操作-属性

    域配置文件,专用配置文件,公用配置文件三个防火墙状态都改为“关闭”,应用-确定

    重装ssh,WSL2下

    apt-get remove openssh-server
    apt-get install openssh-server

    编辑sshd_config文件,WSL2下

    vim /etc/ssh/sshd_config

    Port 2222
    PermitRootLogin yes
    PasswordAuthentication yes

    编辑/etc/hosts.allow,加一行,WSL2下

    vim /etc/hosts.allow

    重启ssh服务,WSL2下

    service ssh --full-restart

    端口转发,把ssh请求从宿主机转发到WSL2,CMD下

    netsh interface portproxy add v4tov4 listenport=2222 listenaddress=0.0.0.0 connectport=2222 connectaddress=192.168.51.2

    验证,CMD下

    netsh interface portproxy show all

    WSL2关机,如果提示无法完成这里建议直接重启windows,CMD下

    net stop LxssManager

    固定WSL2的IP,WSL2未启动的情况下,将下面代码保存在txt里,然后改为.bat使用管理员身份运行,CMD下

    wsl -d Ubuntu -u root ip addr del $(ip addr show eth0 ^| grep 'inet\b' ^| awk '{print $2}' ^| head -n 1) dev eth0
    wsl -d Ubuntu -u root ip addr add 192.168.51.2/24 broadcast 192.168.51.255 dev eth0
    wsl -d Ubuntu -u root ip route add 0.0.0.0/0 via 192.168.51.1 dev eth0
    wsl -d Ubuntu -u root echo nameserver 192.168.51.1 ^> /etc/resolv.conf
    powershell -c "Get-NetAdapter 'vEthernet (WSL)' | Get-NetIPAddress | Remove-NetIPAddress -Confirm:$False; New-NetIPAddress -IPAddress 192.168.51.1 -PrefixLength 24 -InterfaceAlias 'vEthernet (WSL)'; Get-NetNat | ? Name -Eq WSLNat | Remove-NetNat -Confirm:$False; New-NetNat -Name WSLNat -InternalIPInterfaceAddressPrefix 192.168.51.0/24;"

    验证,CMD下

    ipconfig

    宿主机CMD连接验证

    ssh root@192.168.51.2 -p 2222

    如果这里都没问题的话,那就可以过局域网的其他设备来连接试试看了

    因为我宿主机在局域网里是192.168.50.109,可以看到已经连接成功了

    现在在WSL2上跑什么服务的话,只要在宿主机上设置转发端口即可

    有兴趣的小伙伴赶快试试把

    原帖地址
    https://cbrblog.eu.org/2023/01/18/windows的lunix子系统-wsl-2全记录/

    1 条回复 最后回复
    0
    回复
    • 在新帖中回复
    登录后回复
    • 从旧到新
    • 从新到旧
    • 最多赞同


    Popular Topics - 热门主题
    • Bug! Bug !Google One 学生优惠 可无门槛验证
      mztcM
      mztc
      3
      14
      4.9k

    • 中国科技云免费白嫖1 年 Cursor 使用权!快~~~
      D
      d914954480
      1
      7
      1.6k

    • MySQL 8.0 OCP 限时免费考
      HebutMrLiuH
      HebutMrLiu
      1
      5
      278

    • 阿里云国际站轻量应用服务器 2C+1G+200M带宽 仅9.9美元一年!
      T
      Test
      1
      4
      1.1k

    • <海外剧>行尸走肉:死城 第二季[2025][惊悚 恐怖 冒险][附行尸走肉 系列全部]
      我是小马甲~M
      我是小马甲~
      1
      3
      23

    • 免费科技代理流量巨多
      M
      midpoint
      1
      2
      60

    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    百度网盘
    1,174 个主题
    连续剧
    698 个主题
    国产剧
    564 个主题
    美剧
    338 个主题
    中国移动
    307 个主题
    动画片
    231 个主题
    中国电信
    222 个主题
    动作片
    206 个主题

    254

    在线

    39.9k

    用户

    40.1k

    主题

    110.4k

    帖子
    • 第一个帖子
      最后一个帖子