简介:面向Windows 7用户解决局域网共享访问0x80070035错误的docx排错文档。文档针对共享时提示“找不到网络路径”、Ping能通且其他电脑访问正常的典型故障,先解释错误代码含义,再按“服务→防火墙→网络发现→本地安全策略”的顺序排查,重点涉及TCP/IP NetBIOS Helper、Server、Workstation、Computer Browser等服务的启动状态,也包含关闭或配置防火墙、开启网络发现与文件和打印机共享、取消简单文件共享、启用Guest账户、调整“本地帐户的共享和安全模型”等操作方法,并补充Vista和Win7互访以及Win7访问XP场景下的组策略与凭证设置,步骤清晰可直接跟着操作。压缩包共1个docx文件,以文字形式完整记录上述排错思路与操作路径,包大小仅13KB,轻量易用。目前已有1909人学习下载,是内网共享维护者遇到0x80070035错误时可随手查阅的实用参考,遇到相同提示时按文档逐项核对系统设置,能有效缩短排查时间。
1. 0X80070035 是什么错误:先判断该修网络、SMB 还是权限这一层
访问局域网共享文件被 0X80070035 挡住,是 Win7 维护工作里最常见的问题之一。拿\\192.168.10.20这样的路径去访问共享,弹出的对话框写着“找不到网络路径”,光看文案很难判断到底是 IP 不通、服务没起,还是 SMB 协议谈崩。0X80070035 对应的是 ERROR_BAD_NETPATH,错误可能来自网络层、NetBIOS 解析、SMB 协商,也可能只是目标机的权限策略挡人。很多人修了半天做无用功,正是因为动手的位置从一开始就错了。这篇文章按一条实际局域网共享链路走:先定位是哪一层出问题,再依次处理服务、SMB 协议、注册表与权限,最后给出复测方法和踩坑记录。适合维护 Win7 老机、在混合系统局域网里做共享支持,以及准备给旧机器补共享能力的读者。
2. 先排网络与服务:能 ping 通不等于能共享
一上来就改注册表的人往往忽略了一个事实:0X80070035 里的“找不到路径”多数时候是通信路径根本到不了 SMB 会话层。先把问题锁在哪个层,后边开的方子才有意义。这一章给出的是四个常规命令,五到十分钟就能把 IP 通信、名称解析、服务状态、共享发现这四件事分开。
2.1 四个命令快速定位 0X80070035 出在哪一层
第一组命令负责看通道:
ipconfig /all ping 192.168.10.20 -tipconfig /all看几个关键信息:IPv4 地址、子网掩码、默认网关、DNS 服务器,以及最后一行 NetBIOS over Tcpip 是否启用。如果这台 Win7 拿到的地址不在目标机同一网段,后面所有操作都是白费,这种“共享突然坏”的情况里网卡被切到其它子网的偶发情况不在少数。ping加-t持续观察网络抖动,通了不代表没问题,但 ping 都不通就说明问题出在物理链路、VLAN 或目标机防火墙的回显策略上,修 SMB 注册表没有意义。
第二组命令是核心判断依据:
net view \\192.168.10.20 net use \\192.168.10.20\share /user:administrator 123456net view成功列出共享列表,而资源管理器里双击仍报 0X80070035,说明 SMB 会话本身建立过,后续报错大概率是权限或符号路径问题。net view返回“系统错误 53”或“0X80070035”,说明 SMB 端口或协议协商不过,后面直奔 SMB 配置。net use这个带用户名口令的版本能逼出更多信息:返回“系统错误 5”是权限进不去,返回“系统错误 67”是对端找不到共享名,返回“0X80070035”才是真正的对端拒绝接受来自这台 Win7 的 SMB 连接。两条命令耗时不多,输出的价值胜过直接看对话框里的错误文案。
测试前要注意有没有残留的旧映射,建议先清理:
net use * /delete /y2.2 网络类型与高级共享设置:Win7 默认的“公用网络”很可疑
Win7 把每个网卡上的位置信息分成公用、家庭、工作三类,首次接入新网段时常默认按公用处理。公用配置文件下默认关闭这些选项:网络发现、文件和打印机共享、公用文件夹共享。所以当你在“网络和共享中心”里看到“公用网络”几个字,而访问共享又报 0X80070035,第一件事是把它切到工作网络。
单击网络和共享中心里“查看活动网络”下的“公用网络”文字,在弹出的“设置网络位置”窗口选“工作网络”,然后回到“更改高级共享设置”确认当前配置文件已经是“工作”或“家庭”,以下三处启用:
- 启用网络发现
- 启用文件和打印机共享
- 所有网络 → 关闭密码保护共享(只在家里信得过的局域网这么改;公司域环境建议保留启用)
切网络位置有个常见坑:如果后来插过 USB 网卡或路由器换了网段,Win7 会按新网络再次判定。某天共享又坏了自己没动过设置,先回来看一眼这里是不是悄悄变回了“公用网络”。不少用户看到“网络”里只有本机一个设备、其它机器都不显示,根源也是这个。
可以用命令把防火墙侧的文件共享规则放开,但中文系统上 netsh 通配组名并不总能配对,我一般只把它当辅助手段:
netsh advfirewall firewall set rule group="文件和打印机共享" new enable=yes提示:如果这条命令提示找不到组,不用纠缠,直接走控制面板的“允许程序通过 Windows 防火墙”,把“文件和打印机共享”的勾选补上即可。
2.3 把 Server、Workstation 和 NetBIOS 服务拉起来
共享访问的本质是客户端服务(Workstation)和服务器服务(Server)配合完成,Win7 上这两个服务默认自动启动,但第三方优化工具、Ghost 精简版或安全软件可能把它们改成禁用或手动。服务掉线后最典型的现场,就是“每次开机共享都打不开,手动重启网络又变正常”。
检查下面四项:
sc query LanmanWorkstation sc query LanmanServer sc query LmHosts sc query fdPHostSTATE 一栏应是 RUNNING,START_TYPE 是 AUTO_START。如果不是,用命令纠正后重启:
sc config LanmanWorkstation start= auto sc config LanmanServer start= auto sc config LmHosts start= auto sc start LanmanWorkstation sc start LanmanServer sc start LmHostsLmHosts即 TCP/IP NetBIOS Helper,负责 NetBIOS over TCP/IP 的名称注册与解析。不少现象是全网都能看到设备,偏偏访问名称解析失败,报 0X80070035,停掉这个服务后故障就来了。fdPHost(Function Discovery Provider Host)负责网络发现,也就是网上邻居里“看到别人”的能力,看不到设备时优先查它。
还有一处不能忘:打开“网络”图标右键属性 → 本地连接 → 属性,列表里必须勾选“Microsoft 网络客户端”和“Microsoft 网络的文件和打印机共享”,这两个分别是对应 Workstation 和 Server 服务的网卡绑定接口。缺了“Microsoft 网络客户端”,sc start LanmanWorkstation就算能起来,SMB 数据帧也没有网卡驱动愿意接手,这类问题在精简系统里尤其常见,重装协议后需要重启网卡。
3. SMB 协议与认证参数:让 Win7 的 SMB 会话能落定
把网络和服务层捋顺之后,如果 0X80070035 还在,那说明 TCP/IP 通了,但 SMB 协商没有完成。Win7 本身自带 SMB 1.0 和 SMB 2.0/2.1 客户端,SP1 之后的系统会自动把 SMB 2.1 作为首选协议进行协商。问题多出在目标系统太新或太旧,以及认证参数不匹配。
3.1 什么时候该开 SMB 1.0/CIFS,什么时候开也没用
网上搜 0X80070035 的解决文案几乎一半都在喊“开启 SMB 1.0 支持”,但这一招的适用边界很窄。如果你的 Win7 要访问的是十年前的 NAS 老设备、部分只支持 SMB/CIFS 协议的嵌入式共享设备,对方只会回应 SMB1 协商帧,而 Win7 先用 SMB2 发过去没有回应,最后拿到错误码,这时候开 SMB1.0 客户端才有意义。
图形界面法最稳:控制面板 → 程序 → 打开或关闭 Windows 功能 → 勾选“SMB 1.0/CIFS 文件共享支持”下的“SMB 1.0/CIFS 客户端”,执行后按提示重启。命令行环境可以先用下面命令确认功能名:
dism /online /get-features | findstr /i "SMB"如果输出里有SMB1Protocol-Client,就启用对应客户端:
dism /online /enable-feature /featurename:SMB1Protocol-Client要注意,当对方是 Win10/Win11 系统且共享盘权限正常,Win7 去访问它时双方本来就能走 SMB2,开 SMB1.0 纯属多余;更常见的情况是对方开了“仅来宾”访问或签名策略过高,跟 SMB1 开不开毫无关系。判断方法很简单:先看 3.2 的注册表项,再配合 2.1 的net view输出决定往哪个方向查。遇到 0X80070035 就一股脑打开 SMB1.0,属于典型的先吃药后诊断。
3.2 AllowInsecureGuestAuth 与 LmCompatibilityLevel:两个注册表参数一起调
在 Win7 访问无密码共享、或目标机使用 Guest 映射的网络环境里,有一组注册表参数经常被遗漏。特别是公司局域网里怕忘密码就把共享设为“Everyone 完全控制”的,Win7 客户端发过去的访问请求被对方直接拒收,返回的同样是 0X80070035。
在 Win7 本机追加两个项:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v AllowInsecureGuestAuth /t REG_DWORD /d 1 /f reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LmCompatibilityLevel /t REG_DWORD /d 1 /f第一条AllowInsecureGuestAuth的作用是允许这台 Win7 以 Guest 身份与目标建立 SMB 会话,对访问关闭了密码保护共享的目标机非常关键。碰过一种 NAS,共享目录只有只读权限,Win7 访问一直被 0X80070035 卡住,写入该键并重启 Windows 后直接就能看见目录。第二条LmCompatibilityLevel是让 Win7 发出的 NTLM 认证级别向下兼容:数值 1 代表“发送 LM 和 NTLM,在协商时使用 NTLMv2 会话安全”,能适应绝大多数 Win7 时代的设备和域策略;把它提到 3 则只发 NTLMv2,兼容性明显下降,安全策略要求高的正规内网另说。
改动后建议注销一次再测,Lsa 单元的生效要求一个重新登录周期,单纯停掉 Workstation 服务很容易出现注册表已改但错误码依旧的假象。完成后用下面语句复核:
reg query "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v AllowInsecureGuestAuth reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LmCompatibilityLevel确认两个值都是 1,才说明注册表确实写进去了。
3.3 对面是 Win10/Win11 或 NAS:目标机上的三个设置点
很多时候问题不在 Win7,而在你要登录的那台机器上。混合系统局域网里,Win7 访问 Win10/Win11 的 SMB 服务谈不拢的原因不外乎三点:老客户端携带的认证信息不被目标接受、目标机的 SMB 版本下限太高、目标机强制 SMB 签名。这几个原因的表现不太一样:签名问题常在错误码前伴随一两次延迟;版本下限问题则很干脆地报 0X80070035。
条件允许的话,在目标 Win10/Win11 上确认:
- 程序与功能 → 启用或关闭 Windows 功能里,若共享源是老设备,勾选“SMB 1.0/CIFS 文件共享支持”;
- 目标机“网络和共享中心”的当前网络类型切换到专用网络,并打开网络发现与文件和打印机共享;
- 不要用微软账户来设共享权限,给 Win7 建立同名本地账户,或者给 Everyone 只追加“读取”。
NAS 设备则进管理后台,把 SMB 协议的版本支持设为“SMB1+SMB2+SMB3”或“兼容模式”,大多数品牌默认只开更高版本,旧客户端协商不到匹配版本就可能出现 0X80070035。
需要说明的是,服务端强制签名RequireSecuritySignature这个项目一般不建议在无专门安全要求的小型网络里开启,Win7 的 SMB 2.0 客户端对签名策略的协商能力有限,强制签名常常直接造成“偶尔能连、经常报 0X80070035”的怪毛病。需要调整时由目标机管理员在注册表HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters下查看,改完要重启目标机,并且要评估安全影响。
4. 权限与防火墙补充:Guest、密码保护和 445 端口的配合
协议参数调对了,还会有一层看不见的东西来自于目标机的共享权限与 Windows 防火墙。0X80070035 这个错误码里,权限相关误报也占了不少比例。网络通了、SMB 协商完了,却在最后的访问中被权限过滤返回“路径不存在”,其根本原因在于对方共享目录的安全描述符设置过严。
4.1 共享权限与 NTFS 权限的交集:Everyone 到底给没给到
给目录配共享时,初学者通常只在“共享”选项卡里拖一个 Everyone 完全控制,却没有改“安全”选项卡的 NTFS 权限。SMB 访问的最终有效权限是这两部分的交集:共享权限允许了,但 NTFS 安全页里没有加 Everyone 或相应用户,对方实际拿到的还是不可读。这台 Win7 在访问时因权限不足被拒绝,某些系统会返回“找不到网络路径”而非“拒绝访问”。
在目标机命令窗口以管理员身份运行,可以一次看清两个权限面:
icacls D:\共享目录 net shareicacls输出显示 NTFS 安全继承与具体用户条目,net share不带参数列出所有共享名与路径。若这两项里都能看到 Everyone 或对应用户,再来排查防火墙不迟。给权限时建议在安全选项卡里先追加“Everyone 读取”,共享选项卡里再按实际需求给读取或更改,比单开共享层更符合直觉。
也可以用net share创建一个实验性共享来做隔离验证:
net share test=C:\test /grant:Everyone,full这种命令创建的共享在重启后不会自动保留,适合临时确认是不是共享定义本身的问题,排除后建议回到 GUI 里正式配置。
4.2 密码保护共享与 Guest 开关:让 Win7 能穿过认证关卡
Win7 访问局域网共享时,目标机若开启密码保护共享,走的是本地用户名密码登录;关闭后则映射为 Guest 登录。两种模式的典型报错不一样:密码保护开着但凭据不对时,先弹出账号密码对话框;密码保护关闭且目标机 Guest 不可用时,Win7 直接吃一记 0X80070035,连对话框都没有,非常具有迷惑性。
在目标机上打开本地安全策略:
secpol.msc依次核对两项:
- “账户:来宾账户状态”:共享要按 Guest 开放时设为启用;
- “网络访问:本地账户的共享和安全模型”:“经典 – 对本地用户进行身份验证,不改变其本来身份”意为按实际账号名来认证;“仅来宾”则所有网络登录统一映射为 Guest。
常见做法是:家用小型局域网、目录只是临时文件,把目标机设成“仅来宾”,配合 3.2 的AllowInsecureGuestAuth一起使用。企业域环境不建议动这个模型,否则本来有域账号的员工也会被塞进 Guest 通道,之后所有访问都变成权限不足,那排查起来比 0X80070035 还绕。注意:secpol.msc只在 Win7 专业版、旗舰版和企业版提供,家庭版用户要改注册表或进组策略,这一步限制在文章后面排障时需要留意。
4.3 防火墙规则与第三方安全软件:445 端口被拦的典型特征
还有一个公认的捣乱项:系统防火墙。无论目标机还是本机,Windows 内置防火墙在“文件和打印机共享”入站规则被禁用时,会静静地把 SMB 的 445 端口丢弃,错误就报 0X80070035。先查看当前监听状态:
netstat -ano | findstr :445如果输出中没有LISTENING状态行的 445 端口,说明目标机上的 SMB 监听没有对外打开,查 Server 服务状态和防火墙入站规则。防火墙规则的控制面板路径是“Windows 防火墙 → 允许程序或功能通过 Windows 防火墙”,在专用网络下勾选“文件和打印机共享”。这里有一个易错点:公用网络下的该规则即使勾了,默认也常被系统忽略,所以还得回归 2.2 检查网络类型。英文版系统里叫 File and Printer Sharing,中文系统它会跟着系统语言走,不要只记英文。
第三方安全软件、企业管理终端更是一个大坑。有些安全软件会把来自旧系统的 SMB 会话视为高危,静默放行 TCP 却丢弃应用层帧,或者拦截 Guest 登录。从现象上看,局域网内别的机器访问目标共享一切正常,唯独 Win7 这台持续 0X80070035,且系统事件日志里找不到明显网络异常。把它加入安全软件白名单,或临时关闭网络防护后重测,多半能找到真凶。记住排查顺序:先把安全软件这步排除,再动注册表,不然会出现一种无力感——怎么折腾系统组件都无效,拔掉网线重插反而好一阵子,过会儿又坏,那就是它拦的。
5. 避坑与常见问题:0X80070035 反复出现的几种场景
做共享支持这几年,真正被 0X80070035 反复折磨的场景其实有数,下面这些是实测过且确认过原因的。整理成“现象 → 原因 → 解决”三段,方便下次故障时直接对照。
5.1 开了 SMB 1.0 后依旧报 0X80070035
现象:在 Win7 上打开 SMB 1.0/CIFS 功能、重启后,访问共享还是同样的错误码。
原因:前面 3.1 说过,Win7 自带完整的 SMB 协议栈。补开 SMB1.0 只影响与老存储设备的协商,如果目标主机是 Win10/Win11 或新式 NAS,SMB1 开关根本不被使用。访问 Win10/Win11 报 0X80070035 更可能是目标机把网络类型设在公用、或密码保护共享逻辑把 Win7 的 Guest 通道掐断了。
解决:回到目标机检查网络发现、密码保护共享和凭据模型,参考 3.3 的设置,而不是继续在本机开功能。类似地,Win7 共享 Win10 打印机报 11B 错误的修法也是这样走,网络层问题先排查 SMB 和防火墙,再去研究驱动,不值得浪费半天。
5.2 IP 地址能访问,主机名访问却报 0X80070035
现象:直接在地址栏输入\\192.168.10.20\share能正常打开,换成\\fileserver\share就报 0X80070035。
原因:SMB 会话本身没问题,问题出在 DNS/NetBIOS 名称解析。目标机器名解析不到 IP,系统把路径当成无效网络路径处理。企业里 DNS 记录过期、LMHOSTS 配置错误都比较常见。
解决:在 Win7 的C:\Windows\System32\drivers\etc\lmhosts里手工追加一行映射:
192.168.10.20 fileserver #PRE然后执行nbtstat -R刷新 NetBIOS 名称缓存,再 ping 一次主机名验证。若还不行,检查网卡属性里 TCP/IPv4 → 高级 → WINS → 启用 NetBIOS over TCP/IP,并把 LMHOSTS 导入勾上。#PRE标记让该条目在系统启动时预加载,避免每次都去广播解析。
5.3 注册表改了,重启后又打回原形
现象:AllowInsecureGuestAuth和LmCompatibilityLevel都设成 1,当时测试通过。过了一周或重启后访问,错误码原样回来。
原因:注册表被域策略或第三方优化软件重置;或 Workstation 服务没设开机自启,重启后被另一套不完整配置顶上。也有不小概率是用户在 64 位系统上手工打注册表时写进了 WOW6432Node 重定向路径。
解决:用 3.2 里的reg query复查两条路径的实际值,确认写入位置没有因位数而错位;再把服务启动类型固定为自动。域环境下本地修改会与域策略冲突,需要在目标机执行gpupdate /force后重新评估,或由域管理员下发对应的 SMB 安全策略。
5.4 同网段只有这台 Win7 连不上,别的机器正常
现象:手机、Win10 电脑访问目标共享都正常,唯独一台 Win7 持续 0X80070035。
原因:目标机设置没问题,问题几乎一定在本机或链路中间。常见的有:本机网卡属性少了 Microsoft 客户端绑定;本机的安全软件拦截 SMB;或者这台 Win7 是虚拟机,而虚拟机网络被配置成 NAT 模式,宿主机的隔离规则把 SMB 广播挡掉了。
解决:在 Win7 上临时退出安全软件,用 2.1 的net view重测;再看网卡绑定项;虚拟机场景则把网络适配器改成桥接模式,并确认虚拟网卡驱动与 Win7 版本兼容。桥接后若仍不通,再用一台物理机测试同一个共享账号,逐步缩小区间。
5.5 修好之后过几天又复发,且网络位置悄悄变成“公用”
现象:共享用了没几天又打不开,打开“网络和共享中心”看到网络位置不知什么时候从“工作网络”变成了“公用网络”,0X80070035 再次出现。
原因:Win7 对网络位置的识别不够聪明。路由器调过 SSID、换了 Wi-Fi 接入点、插拔有线网卡,都可能导致系统把它当成新网络并套用公用配置。
解决:重新选择“工作网络”,并在“更改高级共享设置”里把当前“公用”页签下的网络发现与文件和打印机共享同样启用。这样网络位置再被误判成公用时,访问行为也能保持一致。修好后建议把网络发现相关的fdPHost和SSDPSRV两个服务设为自动启动,降低重启后服务不在线的概率。
6. 复测与善后:按这个顺序验证映射和共享真的通了
最终验证不要只看资源管理器有没有开出来,用命令行把 SMB 连接固化成映射盘,输出的错误信息比图形界面精确得多。先清掉旧的映射,再用指定凭据建立连接:
net use * /delete /y net use z: \\192.168.10.20\share /user:administrator 123456 /persistent:yes命令成功返回“命令完成”后,立刻验证数据面:
dir z:\ copy /Y z:\readme.txt C:\temp\verify.txt数据能列出、能复制,说明 SMB 会话不仅建立了,读写权限也在这个账号下真正落地。/persistent:yes让映射开机自动重连;如果不想下次开机被 0X80070035 卡住登录过程,把它设成 no,需要时再手动映射。
验证通过的映射,用net use无参数查看状态,对不明残留统一清理。我自己的习惯是处理完这类问题后,把电脑名、IP、服务状态和当时打过的注册表键记录在一个文本文件里。下次再被叫去修同一台机器,扫一眼命令输出就知道是回归还是新问题,不用再从头碰运气。
最值得沉淀的是排查次序:先ping、net view,再服务,再 SMB 注册表,最后才碰权限和防火墙。0X80070035 虽然招人烦,但它背后几乎都是可复现的常规问题。只要按这个次序走,Win7 的旧网络资源不太会翻车到哪去。希望这篇排查清单能帮到你,也让以后每次出现类似的“局域网共享文件打不开”工单,多花十分钟能少熬半晚上。
本文还有配套的精品资源,点击获取