V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuchenyang1994
V2EX  ›  Windows

没忍住,还是上了 wsl2 的车,说下体验

  •  
  •   yuchenyang1994 · 2019-08-02 00:42:12 +08:00 · 31000 次点击
    这是一个创建于 1941 天前的主题,其中的信息可能已经有所发展或是发生改变。

    虽然基于虚拟机了,但是我觉得体验依然还好首先,本地硬盘的读取速度接近原生了,其实我觉得之前关了 WD,也没有说慢到无法忍受,但是更快了后还是觉得挺香的。 相比虚拟机的话,体验好处如下

    1. 启动快,只需 1 秒不到,配合 Windows Terminal 真香
    2. 可以直接调用 windows 程序还是挺关键的,虽然用虚拟机也无伤大雅,但是有时候你就是觉得顺手,比如你突然要往这里打开浏览器 /vscode 等等,或者比如建立一个 linux 程序的快捷方式等。或者突然想查看下本机 ip 地址。
    3. 自从有了 vscode-remote,我再也回不去原生 linux 那糟粕的 GUI 了
    4. 原生 docker,很关键好伐,之前 docker for windows 总有奇奇怪怪的问题,我不知道你们有没,就是有时候明明文件被删除了,还是显示在文件系统里,删又删不掉 当然不好的地方如下
    5. wsl1 共用 localhost 的好处还是满满的,比如你开发跟人联调啊什么的,现在还要转发一层,有点麻烦
    6. 新的 localhost 有点奇怪
    7. 9p 访问本地真的慢到令人窒息,网络问题还是有很多地方功能不完善 至于其他什么错误,比如什么显卡计算啊(我估计支持不了了),usb,串口访问我暂时用不到,用得到 WSL 也是共存的。没啥问题 我觉得 wsl 和 wsl2 可以是互补的存在。微软应该提供同一发行版两种方式并行运行我觉得更好,需要高 IO 时用 WSL2,需要硬件访问能力时用 wsl1。鱼和熊掌不可兼得呀,至于其他虚拟机,我除了虚拟 linux 本来对那玩意儿就没啥需求,唯一可能就是很多国产网络游戏玩不了咯
    25 条回复    2020-11-04 19:53:43 +08:00
    vanxy
        1
    vanxy  
       2019-08-02 00:49:14 +08:00
    啥叫上车? wsl2 要花钱买吗?
    CrabAss
        2
    CrabAss  
       2019-08-02 01:34:55 +08:00
    @vanxy WSL2 在目前最新稳定版 Win10 中不可用
    linmq
        3
    linmq  
       2019-08-02 07:48:19 +08:00 via iPhone
    请问 WD 是指?
    yuchenyang1994
        4
    yuchenyang1994  
    OP
       2019-08-02 08:43:58 +08:00 via Android
    @linmq winows 安全中心
    gam2046
        5
    gam2046  
       2019-08-02 08:59:41 +08:00
    WSL 对我来说最大的好处 是可以直接编译 AOSP 了。

    不然原来需要开 Linux 虚拟机,然后转发 X Window 开 IDE

    另一个好处,是一些小脚本能直接跑起来,比较方便。
    jiangwei2222
        6
    jiangwei2222  
       2019-08-02 09:31:00 +08:00 via Android
    wsl2 中装 redis mysql 这些能对外网访问吗?
    yuchenyang1994
        7
    yuchenyang1994  
    OP
       2019-08-02 09:38:16 +08:00
    这里我还是想杠一下说 Hyper-v 的人跟开个 VBox 有啥区别的人,我觉得无论是 WSL1 和 WSL2,都具有积极意义,首先
    1. 微软这几年一直积极的帮助和扩展使用 WSL 的生态,比如大部分开源软件和 IDE 都帮助你使用 WSL,这之前都不敢想象毕竟微软提供了互操作接口,不管如何还是有积极意义的。使用虚拟化只是能更好的让社区活跃起来
    2. 用虚拟机经常纠结,诶。。我该给这分配几个核心呢
    3. 与 Vbox 共享文件,貌似更卡
    yuchenyang1994
        8
    yuchenyang1994  
    OP
       2019-08-02 09:39:18 +08:00
    @jiangwei2222 不能,但你可以 portforward 暂时
    hflyf123
        9
    hflyf123  
       2019-08-02 09:41:19 +08:00
    lz 我在 wsl 里输入 code .没反应了,打不开 vscode 了,你有遇到过吗.
    testcaoy7
        10
    testcaoy7  
       2019-08-07 08:20:01 +08:00
    WSL2 用的 9P 协议访问文件?这个协议不是贝尔实验室九号计划开发的吗
    testcaoy7
        11
    testcaoy7  
       2019-08-07 08:20:40 +08:00
    还有 WSL2 现在可以和虚拟机( VMware、VirtualBox )共存了吗?
    yuchenyang1994
        12
    yuchenyang1994  
    OP
       2019-08-07 09:38:04 +08:00
    @testcaoy7 Vmware 还不行,vbox 好像可以,但是好像有 bug 9p 协议应该是遗产,不算是贝尔实验室的主要作品
    Draplater
        13
    Draplater  
       2019-09-16 16:28:06 +08:00
    “本地硬盘的读取速度接近原生了”和“9p 访问本地真的慢到令人窒息”这两句话分别是什么意思...没太明白。本地文件访问不是通过 9p 实现的吗?
    SwimmingTiger
        14
    SwimmingTiger  
       2019-11-25 16:36:17 +08:00
    “本地硬盘的读取速度接近原生了”是指 VolFs,就是根文件系统,在 WSL2 里面是 hyper-v 的 EXT4 虚拟磁盘镜像。
    “9p 访问本地真的慢到令人窒息”是指 DrvFs,在 WSL2 里面是是通过 9p 挂载的 Windows 网络驱动器。
    在 WSL1 里面两者的速度接近(都是 NT 内核驱动实现的),DrvFs 有时候甚至更快。
    但是在 WSL2 里面,因为 VolFs 是 hyper-v 实现的(基于磁盘镜像),但 DrvFs 是应用层实现的,并且还是网络驱动器,数据需要经过虚拟网卡进行传输,所以两者的访问延迟完全不是一个级别,特别是在 /mnt/c 里面进行 git 操作的时候简直慢的感人。
    Rimifon
        15
    Rimifon  
       2020-01-05 13:13:34 +08:00
    Win10-wsl2 / alpine-docker / opensuse,三级系统,然后通过 远程桌面进入 opensuse 开启 vscode 做开发,感觉速度比以前 wsl1 直接运行的 opnsuse 还要快。不过 在 /mnt/ 挂载目录下操作 git,真是老半天感觉不到变动。所以,我还是在 home 目录下做开发吧。
    Rimifon
        16
    Rimifon  
       2020-01-05 13:18:11 +08:00
    关于 vscode 的 UI,我觉得,在设置中将窗口 从 native 改成 custom 之后,无边框设计的效果就很好了啊。
    Rimifon
        17
    Rimifon  
       2020-03-27 20:23:45 +08:00
    不玩了,还是 WSL1 稳定,WSL 2 太坑了,在 64G 的 C 盘上创建了一个 128G 的虚拟硬盘,因此运行一段时间后就会出现数据错乱的现象。
    ysy950803
        18
    ysy950803  
       2020-05-22 09:55:15 +08:00
    有个不方便的地方不知道怎么解决,就是本机连 VPN 之后,WSL 不起作用,甚至是访问不了所有网络。
    yuchenyang1994
        19
    yuchenyang1994  
    OP
       2020-05-22 12:49:24 +08:00
    @ysy950803 什么问题,两种办法
    yuchenyang1994
        20
    yuchenyang1994  
    OP
       2020-05-22 12:52:30 +08:00
    @ysy950803 1. wsl 里 输入 ipconfig.exe 找到 Ethernet adapter vEthernet (WSL) 这一项, 然后把 windows 侧 ip 换成这个
    2. windows 侧得 VPN 一定要勾选允许局域网机器接入
    3. 关闭网络防火墙
    xzysaber
        21
    xzysaber  
       2020-05-24 07:47:09 +08:00
    你好,目前用 wsl2 遇到一个问题:在开机后进入 wsl2,访问 Windows 上的目录,发现只挂载了一个目录,很多文件都看不见了,这时需要再次重启电脑进入 wsl2 才能看见。
    chenzheyu
        22
    chenzheyu  
       2020-06-09 11:19:05 +08:00
    我就想知道 9p 那个文件协议有没有加速的可能,我现在 laradock 一个 http 请求要 20 秒...
    yuchenyang1994
        23
    yuchenyang1994  
    OP
       2020-06-10 09:32:28 +08:00
    @chenzheyu 可能是有的,但是可能优先级不高吧
    jueane
        24
    jueane  
       2020-08-03 22:50:54 +08:00
    @xzysaber 你的问题解决了吗?我也遇到了同样的问题,有时候有内容,有时候没有。我主要测的是 nginx
    xzysaber
        25
    xzysaber  
       2020-11-04 19:53:43 +08:00
    @jueane
    目前是通过 wsl --shutdown,然后重新进入 wsl 解决的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2818 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 08:37 · PVG 16:37 · LAX 00:37 · JFK 03:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.