问题
偶尔关机后开机,使用某一端口时却报错,提示端口占用,如下图:
但是用netstat查询端口占用,发现并没有进程,如下图:
查询资料后,得知原因是Hyper-V保留了很多端口,导致这些端口没有被使用,也无法再使用,命令 netsh int ipv4 show excludedportrange protocol=tcp
解决方案
直接删除保留端口会报错,应该是没有权限,需要关闭Hyper-V执行。
1. 关闭Hyper-V
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
2.配置ipv4动态端口 / 或者配置需要的端口不被占用
# powershell / cmd 管理员权限 # start 起始端口 num 表示可用端口数 按自己的需求来 netsh int ipv4 set dynamicport tcp start=30000 num=16383 # 排除ipv4动态端口占用 startport 起始端口 numberofports 端口数 netsh int ipv4 add excludedportrange protocol=tcp startport=1033 numberofports=100
3. 重启后再开启Hyper-V
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
发表回复