我的 Windows 主机说:

我的 Windows 主机说:

今天我的 WSL2 突然没有网络连接。我该如何解决这个问题?以下是有关我的系统的信息。

主人的网络很好。

希望有人可以帮忙...

我的 Windows 主机说:

C:\WINDOWS\system32>ipconfig

Windows IP Configuration


Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter VirtualBox Host-Only Network:

   Connection-specific DNS Suffix  . :
   Autoconfiguration IPv4 Address. . : 169.254.50.150
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   Default Gateway . . . . . . . . . :

Ethernet adapter VirtualBox Host-Only Network #2:

   Connection-specific DNS Suffix  . :
   Autoconfiguration IPv4 Address. . : 169.254.183.238
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   Default Gateway . . . . . . . . . :

Unknown adapter Local Area Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Local Area Connection* 9:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Local Area Connection* 10:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter Ethernet 3:

   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 172.27.241.136
   Subnet Mask . . . . . . . . . . . : 255.255.255.128
   Default Gateway . . . . . . . . . :

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::5993:95f2:e6a9:3ae%13
   IPv4 Address. . . . . . . . . . . : 192.168.1.102
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.1

Ethernet adapter Bluetooth Network Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter vEthernet (WSL):

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::a13b:1465:781c:2eae%60
   IPv4 Address. . . . . . . . . . . : 172.21.128.1
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . :

我的 WSL2 Ubuntu16 Linux 说:

$ ifconfig
$

所有网络接口均已关闭:

$ ip link
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 6e:3d:bc:fa:46:33 brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether b2:71:a8:3b:74:c6 brd ff:ff:ff:ff:ff:ff
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
5: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:15:5d:0a:3f:de brd ff:ff:ff:ff:ff:ff

没有 WiFi 网络适配器,但如果 WSL2 通过链接到 vEthernet 的 eth0 连接,这可能是正常的。

$ ifconfig -a                                                      
bond0     Link encap:Ethernet  HWaddr 6e:3d:bc:fa:46:33            
          BROADCAST MASTER MULTICAST  MTU:1500  Metric:1           
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0       
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0     
          collisions:0 txqueuelen:1000                             
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)                   
                                                                   
dummy0    Link encap:Ethernet  HWaddr b2:71:a8:3b:74:c6            
          BROADCAST NOARP  MTU:1500  Metric:1                      
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0       
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0     
          collisions:0 txqueuelen:1000                             
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)                   
                                                                   
eth0      Link encap:Ethernet  HWaddr 00:15:5d:0a:3f:de            
          BROADCAST MULTICAST  MTU:1500  Metric:1                  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0       
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0     
          collisions:0 txqueuelen:1000                             
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)                   
                                                                   
lo        Link encap:Local Loopback                                
          LOOPBACK  MTU:65536  Metric:1                            
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0       
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0     
          collisions:0 txqueuelen:1000                             
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)                   
                                                                   
sit0      Link encap:IPv6-in-IPv4                                  
          NOARP  MTU:1480  Metric:1                                
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0       
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0     
          collisions:0 txqueuelen:1000                             
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)              

/etc/resolv.conf

$ cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

/etc/wsl.conf

$ cat /etc/wsl.conf
[automount]
root = /
options = "metadata,umask=22,fmask=11"
[network]
generateResolvConf = false
generateHosts = false

主人的网络很好。

我不知道还能做什么。

我该如何修复?

请帮忙。

答案1

TL;DR 转到解决方案(就我而言)

经过几天的生产力损失后,我开始注意到桌面和许多其他文件夹上的图标中有两个箭头。原来是 NTFS 压缩。

修复起来很容易,但发现的过程却漫长而痛苦。

解决方案(就我而言)

递归解压缩所有文件和文件夹,如下所示:

  1. 打开 cmd shell
  2. 执行compact /U /S /I

如果您想知道选项是什么,它们分别表示:解压缩、递归和忽略所有错误/警告。但您可以使用来查看命令的帮助compact /h

我仍然想看看如何才能完全避免这种情况再次发生。

答案2

使用 uncompress 的解决方案对我的情况有帮助。以下是有关如何应用它的更多详细信息:

  1. 终止 WSL 内部所有重要进程。
  2. 启动 Windows shell:cmd.exe
  3. cd %TEMP%
  4. wsl --shutdown- 终止 WSL2 实用程序虚拟机。
  5. compact /U /S- 解压缩当前目录 ( %TEMP%) 中的文件并递归解压缩其子目录中的文件。

这两个命令可能就足够了,但我还没有测试它们:

wsl --shutdown
compact /U %TEMP%

如果他们也解决了这个问题,请告诉我们。


注意:关于目录的想法%TEMP%来自于这个错误报告:https://github.com/microsoft/WSL/issues/5775该案件未经任何调查就被结案。

答案3

要完全禁用压缩,请参考此处的解决方案:https://answers.microsoft.com/en-us/windows/forum/all/really-annoying-auto-compression-in-windows-10/8b976fd3-e822-4dc5-a0be-e254239cc640

  1. 右键单击“开始”>选择 PowerShell(管理员)将以下命令复制/粘贴到窗口中,然后按 Enter。

  2. fsutil 行为设置 disablecompression 1

  3. 关闭 PowerShell 并重新启动

相关内容