标签: wsl-2

无法重启WSL2,LxssManager挂起处于停止状态,如何重启?

我无法重新启动 wsl2,命令 wsl --shutdown 和任何其他 wsl 命令永远挂起。我还发现处于停止状态的服务 LxssManager 也永远挂起。

如何重新启动 wsl ?

ubuntu wsl-2

45
推荐指数
1
解决办法
4万
查看次数

WSL-2 DNS 无法在 Win 10 上使用 VPN 连接

我的 Windows 10 笔记本电脑上运行着 WSL 版本 2。我使用的是 WSL 发行版 Ubuntu-20.04。当我连接到 VPN 网络时,域名解析不起作用,因此我无法访问 Internet。

使用的 VPN 客户端是“Cisco AnyConnect 安全移动客户端”

我尝试了以下步骤来解决此问题。

  1. 在管理模式下打开 Windows 命令提示符
  2. 执行以下命令
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns
reboot
Run Code Online (Sandbox Code Playgroud)

这一次有效,我可以访问互联网。但当我断开VPN连接并再次连接时,我又遇到了同样的问题。我尝试再次执行命令并重新启动,但现在不再起作用了。

什么是永久解决此问题的方法?

ubuntu vpn windows-10 windows-subsystem-for-linux wsl-2

35
推荐指数
3
解决办法
6万
查看次数

WSL2 无法连接到 Docker 守护进程

这是我的设置:

  • Windows 10 PRO - build 19041.153 - 内部程序 - 慢环
  • Ubuntu 18.04LTS WSL2 模式下的子系统
  • Docker for desktop 2.2.0.4 - 启用与我的 Ubuntu 子系统的 WSL2 集成

我目前被迫使用Windows进行开发,所以我成为了microsoft Insider成员并以WSL2模式安装了ubuntu。Docker 桌面支持 WSL2 的集成,所以我尝试了......一周以来它完美无缺。今天电脑重启后,我无法再次运行docker。Ubuntu 可以看到从 Docker 桌面注入的二进制文件,但它无法再连接到 Windows 托管的 docker 守护进程。

当我调用 subsys 终端时,docker info它返回

$ docker info
Client:
 Debug Mode: false

Server:
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
errors pretty printing info
Run Code Online (Sandbox Code Playgroud)

或与 docker-compose up

ERROR: Couldn't connect to Docker daemon at http+docker://localhost …
Run Code Online (Sandbox Code Playgroud)

docker windows-subsystem-for-linux docker-desktop docker-daemon wsl-2

34
推荐指数
7
解决办法
3万
查看次数

“sudo systemctl enable docker”不可用:在 WSL2 上启动时自动运行 Docker(使用“sysvinit”/“init”命令或解决方法)

我在 WSL2 上使用 Ubuntu(不是在 Docker 桌面上)。

\n

根据如何修复 docker \xe2\x80\x98Cannot connect to the Docker daemon at unix:///var/run/docker.sock。Ubuntu 上的 docker 守护进程是否正在运行?\xe2\x80\x99,我可以在启动时自动启动 docker 守护进程

\n
sudo systemctl enable docker\n
Run Code Online (Sandbox Code Playgroud)\n

而不是在每次启动时重新启动它

\n
sudo systemctl start docker\n
Run Code Online (Sandbox Code Playgroud)\n

这两个命令都避免了“无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程。docker 守护进程正在运行吗?”。

\n

当使用两者中的任何一个时,我得到

\n
\n

使用 \n/lib/systemd/systemd-sysv-install 将 docker.service 的状态与 SysV 服务脚本同步。执行:\n/lib/systemd/systemd-sysv-install 启用 docker

\n
\n

测试运行显示,docker 尚未运行:

\n
\n
docker run hello-world \n
Run Code Online (Sandbox Code Playgroud)\n

docker:无法连接到 \nunix:///var/run/docker.sock 处的 Docker 守护程序。docker 守护进程是否正在运行?请参阅\n\'docker run --help\'。

\n
\n

之前的一些步骤,此时我也收到了不同的消息:

\n
\n …

service systemd docker systemctl wsl-2

28
推荐指数
2
解决办法
5万
查看次数

无法使用安装了启用 Hyper-V 和 WSL2 的 VirtualBox 启动 Windows 10 来宾

我最近将我的 Windows 10 版本更新到了2004版。我还将 WSL 更新为 WSL2。

我在尝试通过 VirtualBox 6.1.8使用虚拟机(Windows 10 主机/Windows 10 来宾)时遇到问题。每次我尝试启动它时,它都会变得非常慢,并且无法通过启动加载屏幕。

我认为最新版本的 VB 解决了这个问题(根据Microsoft 的这个文档)。

我能做些什么来解决这个问题?

windows virtualization virtualbox virtual-machine wsl-2

27
推荐指数
2
解决办法
4万
查看次数

wsl2里面的文件物理存储在哪里?

我已经在我的 Windows 机器上安装了 wsl2,但我无法弄清楚文件的实际存储位置。
请注意,我并不是说我想在文件资源管理器中浏览它们 - 我知道这可以通过在资源管理器中输入来完成\\wsl$\
如果我不得不猜测,我会说文件存储在与操作系统存储相同的硬盘驱动器中。

所以实际上我有两个相关的问题。

  1. 文件存储在哪里?
  2. 如果它们存储在我的操作系统的硬盘驱动器中,我可以以某种方式将我的 wsl 重新定位到另一个硬盘驱动器吗?

编辑:
我能够找到安装路径,在我的机器中路径是:
C:\Users\Eliran\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState

有没有办法将它安装到另一个位置?

windows-subsystem-for-linux wsl-2

23
推荐指数
3
解决办法
2万
查看次数

卷曲:(35)错误:0A000152:SSL例程::禁用不安全的旧版重新协商

curl像和这样的命令wget会出现以下错误:curl: (35) error:0A000152:SSL routines::unsafe legacy renegotiation disabled。我正在使用 WSL2 Ubuntu 并在公司防火墙上。我确实将受信任的根 ca 证书导出到 WSL 并更新了证书。然而,在下载 Jenkins、Terraform 等工具时仍然面临这个问题,例如尝试获取 Jenkins 时。

curl -fsSL http://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee   /usr/share/keyrings/jen
kins-keyring.asc > /dev/null
curl: (35) error:0A000152:SSL routines::unsafe legacy renegotiation disabled
Run Code Online (Sandbox Code Playgroud)

我使用的是公司 VPN。没有 VPN 命令可以正常工作,但是使用公司网络上的 VPN 时我会收到这些错误。如果我与固件团队一起进行 SSL 绕过,它就会起作用。不确定这里是否还有其他问题。

sudo vim /etc/ssl/openssl.cnf

`#
# OpenSSL example configuration file.
# See doc/man5/config.pod for more info.
#
# This is mostly being used for generation of certificate requests,
# but may be used …
Run Code Online (Sandbox Code Playgroud)

vpn ssl curl windows-subsystem-for-linux wsl-2

23
推荐指数
2
解决办法
5万
查看次数

WSL2 停止工作并出现错误系统找不到指定的路径

WSL2 突然停止工作。如果我重新安装 Linux 发行版。然后,当我从 Play 商店单击 Linux 发行版的启动按钮时,它会抛出以下错误:

Installing, this may take a few minutes... 
WslRegisterDistribution failed with error: 0x80070003
Error: 0x80070003 The system cannot find the path specified.
Run Code Online (Sandbox Code Playgroud)

wsl --help命令工作正常。所有其他 wsl 命令都会挂起或抛出错误,如下所示,如wsl -l命令抛出此错误系统找不到指定的路径。

windows-subsystem-for-linux wsl-2

22
推荐指数
4
解决办法
3万
查看次数

使用适用于 Windows 的 Docker-Desktop,如何配置 sysctl 参数以在重新启动后继续存在?

在 win10 [wsl2] docker-desktop 中运行 elasticsearch 需要通过以下方式将 mmap 计数增加到 262144sysctl -w vm.max_map_count=262144

C:\Users\<username>>wsl -d docker-desktop
<hostname>:/tmp/docker-desktop-root/mnt/host/c/Users/<username># sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)

在对此问题和弹性文档的回答中,建议相应地更新以将该值设置为永久,即使其在重新启动后仍然存在。vm.max_map_count/etc/sysctl.conf

请注意下面的输出,显示在我尝试遵循此建议并重新启动后,有效 mmap 计数未适应 sysctl.conf 中定义的值。

为什么没有呢?

PS C:\Users\<username>> wsl -d docker-desktop
<hostname>:/tmp/docker-desktop-root/mnt/host/c/Users/<username># sysctl vm.max_map_count
vm.max_map_count = 65530
<hostname>:/tmp/docker-desktop-root/mnt/host/c/Users/<username># cd /etc
<hostname>:/etc# cat sysctl.conf
# content of this file will override /etc/sysctl.d/*
vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)

考虑到更改了错误的 sysctl.conf,etc/我尝试更改 中的 sysctl.conf <hostname>:/tmp/docker-desktop-root/etc#。这是不允许的,因为这是一个Read-only file system.

可以/应该在 .wslconfig 中对其进行参数化吗?如果可以,如何?

使用 openSUSE Leap 15.2 代替 Win10 的 …

opensuse elasticsearch docker wsl-2

22
推荐指数
1
解决办法
2万
查看次数

从 Windows 主机连接到 wsl2 Ubuntu docker

我有 Windows 10 并安装了 Docker Desktop。在他们更改商业使用条款后,我决定删除 Docker Desktop 安装并仅使用 docker 引擎本身(因为我没有使用 GUI)。我已经docker在 WSL 2 下安装在 Ubuntu 上并且工作正常:

localusr@MACHINE:~$ docker context ls
NAME            DESCRIPTION                               DOCKER ENDPOINT                             KUBERNETES ENDPOINT   ORCHESTRATOR
default *       Current DOCKER_HOST based configuration   unix:///mnt/wsl/shared-docker/docker.sock                         swarm
desktop-linux                                             npipe:////./pipe/dockerDesktopLinuxEngine
Warning: DOCKER_HOST environment variable overrides the active context. To use a context, either set the global --context flag, or unset DOCKER_HOST environment variable.
localusr@MACHINE:~$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working …
Run Code Online (Sandbox Code Playgroud)

ubuntu pipe docker windows-subsystem-for-linux wsl-2

20
推荐指数
1
解决办法
7522
查看次数