Windows Common Bugs
预留端口冲突
- 系统动态端口范围(Ephemeral Ports):Windows 会为出站连接自动分配临时端口,默认范围是 49152-65535
- Hyper-V / WinNAT / WSL / Docker:启用这些虚拟化功能后,系统会随机保留部分端口用于 NAT 服务,即使 netstat 查不到占用,也无法绑定
- Administered Port Exclusions:通过 excludedportrange 机制,某些端口被系统标记为”禁止用户态程序使用”
1 | # 查看 TCP 保留端口范围(管理员权限运行) |
应对
1 | # 1. 先停止 WinNAT 服务(释放被占端口) |
删除无权限文件
在 Windows 中,如果删除文件时提示权限不足,可以通过以管理员身份运行命令提示符并使用命令行工具强制删除文件。以下是具体步骤:
以管理员身份运行命令提示符:
- 按
Win + S,搜索“cmd”。 - 右键点击“命令提示符”,选择“以管理员身份运行”。
- 按
以管理员身份运行 PowerShell:
- 按
Win + S,搜索“PowerShell”。 - 右键点击“Windows PowerShell”,选择“以管理员身份运行”。
- 按
获取文件/文件夹的所有权:
- 输入以下命令:
1
takeown /f "文件或文件夹路径" /r /d y
/f:指定文件或文件夹路径。/r:递归应用于文件夹中的所有文件。/d y:默认同意所有权更改。
- 输入以下命令:
修改权限:
- 输入以下命令:
1
icacls "文件或文件夹路径" /grant administrators:F /t
/grant administrators:F:授予管理员完全控制权限。/t:递归应用于所有子文件和文件夹。
- 输入以下命令:
删除文件或文件夹:
- 使用
del或rmdir命令删除。
- 使用
Bug
参考文献
Windows Common Bugs
http://icarus.shaojiemike.top/2024/07/22/Work/software/PC/windowsBugs/