疑难杂症
C盘容量莫名其妙被占用
- 更改Temp文件夹路径 https://blog.csdn.net/Ussim/article/details/108610090
- Win10休眠占用C盘存储:默认是开启的,相当于电脑休眠的时候把内存中的数据放到硬盘中,启动的时候重新加载,这样你的内存有多大就会占用多大空间。使用命令关闭此功能
powercfg -h off关于移动硬盘硬盘安装大白菜或者别的什么ISO
千万别对已经有数据的磁盘进行这个操作,别说什么压缩一下卷,然后弄得新的盘符什么的,写一下整个硬盘都会被格式化!!!!!!!
下载vscode太慢
下载vscode的时候如果太慢,直接把前面的地址换成这个vscode.cdn.azure.cn 下载速度就会提升
Windows设置软连接
随后将自己的用户添加到创建符号链接中:
脚本文件:create_soft_link.bat
随后右键就有了,会将剪贴板中的路径的文件或者文件夹,在当前目录下创建软连接
Windows11家庭版开启Hyper-V
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL修改host
# 修改 C:\Windows\System32\drivers\etc\hosts文件
# 添加相应的host条目
# 随后刷新dns
ipconfig /flushdnsWindow下alt+tab edge有很多页面
Windows Edge老是弹使用Copilot重写
VSCode远程诡异加载.env 到bash环境变量
今天遇到了一个诡异的现象,vscode自动加载了.env到环境变量中,并且遇到#注释也没放过。
VSCode remote-ssh历史文件夹清理
windows下vscode的状态存储在sqllite数据库文件中(%appdata%\Code\User\globalStorage\state.vscdb),如果要清理的话,需要连接sqllite,然后搜索ms-vscode-remote.remote-ssh。这个值是一个json文件,json文件中folder.history.v1下就是 host 的 ssh 列表,删除后的重启 vscode 即可。
软件窗口不知道哪去了
使用快捷键:ALT + SPACE,然后按M,即可通过长按左键拖动窗口位置了。
Powershell 7支持conda
- 首先正常执行
conda init powershell,然后找到配置文件C:\Users\kaihang\Documents\WindowsPowerShell\profile.ps1,然后打开pwsh,并且code $PROFILE,将这行写进去。 - 找到
conda.psm1,通常在conda的安装目录conda info --base,中的shell/condabin/Conda.psm1中,修改函数Invoke-Conda()为function Invoke-Conda() { # Don't use any explicit args here, we'll use $args and tab completion # so that we can capture everything, INCLUDING short options (e.g. -n). if ($Args.Count -eq 0) { # No args, just call the underlying conda executable. & $Env:CONDA_EXE $Env:_CE_M $Env:_CE_CONDA; } else { $Command = $Args[0]; if ($Args.Count -ge 2) { $OtherArgs = $Args[1..($Args.Count - 1)]; } else { $OtherArgs = @(); } switch ($Command) { "activate" { Enter-CondaEnvironment @OtherArgs; $Env:_CE_M = $null; $Env:_CE_CONDA = $null; } "deactivate" { Exit-CondaEnvironment; $Env:_CE_M = $null; $Env:_CE_CONDA = $null; } default { # There may be a command we don't know want to handle # differently in the shell wrapper, pass it through # verbatim. & $Env:CONDA_EXE $Env:_CE_M $Env:_CE_CONDA $Command @OtherArgs; } } } }
Visual Studio问题
Windows SDK安装路径
# 通常在注册表中的一下位置的InstallationFolder字段中
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v10.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0Windows11累积更新失败
目前初步原因是,大概率我跑了hack手段在家庭版上面开启了Hyper-V:[[IT知识/OS/Windows/实用指令#Hyper-V in Windows 10 and Windows 11 Home Edition|文档]]。尝试各种恢复手段之后只能下载MediaCreationTool.exe 工具;
然后执行,并且下载Windows.iso;随后用资源管理器打开,并且点击setup.exec,保留用户程序和配置,重新进行安装。实测所有环境变量、注册表、应用程序均可以保留。
Edge缓存异常
问题:nginx服务器反向代理的上游服务器,填写错误了,并且使用edge访问,然后浏览器缓存了,SHIFT+F5可以重新请求跳转到正确的后端服务,但是域名访问仍然是错误的。
问题分析:通常是浏览器缓存造成的,清除全部浏览器缓存是可以的,但是会导致其他登录的服务重新登陆,太麻烦了。可以针对这个网站清空缓存

IP转发导致的Tun模式失效
1. 问题现象 (Symptom)
- 表现:开启系统代理模式正常(通过 SwitchyOmega 等可正常上网),但一旦开启 TUN 模式(虚拟网卡模式),系统彻底断网,Google 和直连的国内网站(如飞书)均打不开。
- 日志特征:Clash Verge 日志中高频出现大量以下报错:
[TCP] dial DIRECT ... error: reject loopback connection to ...dns resolve failed: all DNS requests failed, first error: context deadline exceeded
2. 根本原因 (Root Cause)
由于之前为了配合 Tailscale 进行局域网内网路由共享,手动开启了系统的 IP 路由转发功能(IPEnableRouter=1)。
该功能会将 Windows 转变为路由器模式,破坏了 Clash 用于“进程流量防回环”的网卡隔离策略,导致 Clash 本身发出的所有出站请求又被 Windows 强制路由转发回 TUN 网卡本身,形成了无限死循环。内核检测到回环后进行主动拦截(Reject Loopback),导致网络瘫痪 [2.1.4]。
3. 正确的排障与修复路径 (Resolution Steps)
第一步:关闭 Windows 底层的 IP 路由转发(核心修复)
- 按
Win + R输入regedit打开注册表编辑器,定位至:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters - 找到
IPEnableRouter键值,将其数值修改为0(关闭转发功能)。 - 按
Win + R输入services.msc打开服务窗口,找到 Routing and Remote Access(路由和远程访问)服务,将其启动类型改为 禁用 并停止该服务。 - 重启电脑使修改彻底生效。
第二步:优化 Clash 内部网络配置
为了防止多虚拟网卡环境下路由表竞态冲突,对 Clash Verge 配置进行调优:
- 避免 DNS 域名解析死锁:在订阅配置中,将 DNS 部分的
nameserver从 DoH(HTTPS 域名解析服务器,如https://doh.pub...)改回传统的纯 UDP 物理 IP(如223.5.5.5,119.29.29.29),防止 DNS 模块在未联网时因域名直连回环而瘫痪 [2.1.4]。 - 关闭 DNS 的 IPv6 协议:在订阅配置的
dns下,设置ipv6: false(因 IPv6 在虚拟网卡环境下更容易诱发路由混乱导致回环)。 - 优化虚拟网卡配置:
- 打开 “自动选择流量出口接口”(让 Clash 锁定真实的 WLAN/以太网卡出站) [2.2.8]。
- 关闭 “严格路由(Strict Route)”(防止强制拦截 WFP 直连流量产生死锁)。
- 将 TUN 模式堆栈(Stack)修改为更具隔离性的
GVisor[2.1.4]。
第三步:强制复位物理网卡(清理 NAT 缓存)
- 打开“网络连接”窗口(
ncpa.cpl),右键你的真实物理网卡(如WLAN),选择 “属性”。 - 切换到 “共享”(Sharing)选项卡,勾选 “允许其他网络用户通过此计算机的 Internet 连接来连接”,点击确定保存。
- 再次进入属性,取消勾选该选项,点击确定保存。 (此操作可强制 Windows 重置网卡的 NAT 地址转换和底层路由状态,清理历史回环缓存)。
4. 经验避坑指南 (Lessons Learned)
- 不要轻易开启系统级 IP 路由转发:除非是多网卡做软路由或配合特定的内网穿透(如 Tailscale 局域网暴露),否则在普通单客户端日常使用中,开启
IPEnableRouter会给所有的本地 TUN 虚拟网卡代理(如 Clash, Sing-box)带来毁灭性的冲突。 - 多虚拟网卡共存需谨慎:物理网卡周围如果有 Hyper-V、VMware、Tailscale 等多套虚拟网卡,Clash 开启自动检测时,建议配合
GVisor堆栈使用,以获得更强的流量沙盒隔离性 [2.1.4]。
总结:为什么 “IP 路由转发” 会影响 TUN 模式?
- 正常的 TUN 绕过机制(避免死循环): 在正常情况下,Clash TUN 模式会接管系统所有的出站流量。但 Clash 自身也必须发出请求(比如去连接你的代理节点,或者发送直连数据)。为了防止“Clash 自己的出站请求又被自己接管”从而形成死循环,Clash 会利用 Windows 过滤平台(WFP)和 Socket 绑定机制告诉系统:“所有由 Clash 进程(或者绑定了真实物理网卡 IP)发出的流量,必须绕过虚拟网卡,直接从真实的 WLAN 发送出去”。
- 开启 “IP 路由转发” 破坏了这种隔离:
当你手动修改注册表开启了
IPEnableRouter=1(IP 路由转发)后,Windows 系统就会从一个普通的“终端主机”变成一台“IP 路由器”。 此时,Windows 的网络模块会无视 Clash 的进程级/网卡绑定级隔离策略。当 Clash 试图从物理网卡发送直连或代理请求时,系统的路由转发引擎会多管闲事地对这些数据包进行二次路由寻路,并认为:“根据默认路由表,最优先的网卡是 Clash TUN,我应该把这个包转发给 TUN 网卡。” - 回环死循环(Loopback Trap):
于是,Clash 刚发出的数据包被 Windows 转发回了 Clash 自己的 TUN 网卡。Clash 的 TUN 网卡收到自己刚发出去的包,识别到这是一个无限死循环(Loopback),为了防止系统崩溃,内核主动将其拒绝(
reject loopback connection)并丢弃 [2.1.4]。这就导致你所有的直连和代理请求全部卡死在系统内部。





