Windows 启动 1.2.3 版本时卡 booting

尝试过但无效的解决方法:

log 文件:

I 2021/07/31 00:52:06 working.go:96: 
  ____    _  __   __
 / ___|  (_) \ \ / /  _   _    __ _   _ __
 \___ \  | |  \ V /  | | | |  / _` | | '_ \
  ___) | | |   | |   | |_| | | (_| | | | | |
 |____/  |_|   |_|    \__,_|  \__,_| |_| |_|
I 2021/07/31 00:52:06 working.go:97: kernel is booting:
    * ver [1.2.3]
    * runtime mode [prod]
    * workspace directory [C:\Users\sqybi\Documents\SiYuan]
    * working directory [C:\Users\sqybi\AppData\Local\Programs\SiYuan\resources]
    * rsync directory [C:\Users\sqybi\Documents\SiYuan\temp\rsync]
    * read only [false]
    * container [std]
    * resident [true]
    * arch [amd64]
I 2021/07/31 00:52:06 conf.go:221: local serve path [http://192.168.0.10:6806]
I 2021/07/31 00:52:06 database.go:121: initialized database tables
I 2021/07/31 00:52:06 database.go:81: reinitialized database [C:\Users\sqybi\Documents\SiYuan\temp\siyuan.db]
I 2021/07/31 00:52:06 serve.go:66: kernel HTTP server is booting [http://127.0.0.1:6806]
F 2021/07/31 00:52:06 serve.go:68: boot kernel HTTP server failed: listen tcp 127.0.0.1:6806: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

因为 log 文件中有提到端口问题,所以顺手跑了一下 netstat -ano | findstr "6806" 看端口占用。

以上就是全部已知信息。

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250
    订阅者

    可能是因为防火墙设置了禁止端口监听,内核如果不能监听 6806 端口的话会自动退出。

  • sqybi
    订阅者 作者

    @88250 关闭了 Windows 防火墙,问题依旧

    1 回复
  • 88250
    订阅者

    有可能是其他什么配置造成的?从报错看应该不是程序问题,估计得麻烦你自行网络搜索一下那句报错文案,看看是否有相关解决方案。

  • sqybi 1
    订阅者 作者

    @88250 找到了问题所在!

    根据上面这个回答,这个端口被 Hyper-V 预留了(6715 - 6814)。所以在开启了 Hyper-V 的 Windows 电脑上,6806 端口都是不可用的。

    这个问题我暂时可以通过关闭 Hyper-V 解决,但考虑到开启 Hyper-V 功能是一个还算正常的需求,是否可以考虑下一个版本的时候避开 Hyper-V 占用的这部分端口号?

    列一下我的机器上被禁用的端口号以供参考:

    PS C:\Users\sqybi> netsh interface ipv4 show excludedportrange protocol=tcp
    
    协议 tcp 端口排除范围
    
    开始端口    结束端口
    ----------    --------
          2869        2869
          5357        5357
          5940        6039
          6090        6189
          6190        6289
          6290        6389
          6390        6489
          6715        6814
          8731        8830
         50000       50059     *
    
    * - 管理的端口排除。
    
    1 回复
  • sqybi
    订阅者 作者

    我又翻了翻,似乎是 WSL 2 开启的 Hyper-V,还不能随便关闭,不然 WSL 2 会出问题。

    暂时是有解决方案的(例如关闭 Hyper-V、手动预留端口再开启 Hyper-V),但是都不是特别干净。我会先尝试手动改一下配置把 SiYuan 内核的端口改掉试试。

  • 88250
    订阅者

    谢谢帮忙找到问题,我们再考虑一下怎么换或者是如何用随机端口,理论上随机端口是最好的方案,但是还得考虑下是否有副作用。

请输入回帖内容 ...