
最近在给家里的 Mac mini 做文件共享配置时,遇到一个很典型的问题:Mac 这边已经开启了文件共享,也能看到共享文件夹,但 Windows 电脑就是无法通过 SMB 正常访问。
这个问题表面上看像是“Windows 连不上 Mac”,实际排查下来,往往不是单一原因,而是 SMB 服务、共享权限、macOS 用户权限、Windows 凭据缓存和网络地址这几层叠在一起造成的。本文记录这次排查思路,方便以后遇到类似问题时按顺序检查。
问题现象
当时的目标很简单:在 Windows 电脑上访问 Mac mini 共享出来的文件夹,用它作为家庭服务器的一部分,方便在局域网内传文件、整理下载内容和访问外接磁盘。
Windows 端尝试访问的方式一般是:
\\Mac的内网地址 \\Mac的内网地址\共享名称
但实际表现可能是下面几种:
- Windows 提示无法访问网络路径;
- 能弹出用户名和密码输入框,但输入后仍然失败;
- 能看到 Mac,但打不开具体共享文件夹;
- 同一台 Windows 电脑之前能连,后来突然不能连;
- Mac 本机看起来权限正常,但 Windows 端始终没有读写权限。
第一步:确认 Mac 的文件共享是否真正开启
先从 Mac 端开始检查,不要一上来就在 Windows 里反复输入密码。
在 macOS 里进入:
系统设置 -> 通用 -> 共享 -> 文件共享
这里要确认三件事:
- 文件共享已经打开;
- 目标文件夹已经加入共享列表;
- 右侧用户权限里,准备用来登录的用户至少有“只读”或“读与写”权限。
很多时候问题就出在这里:Mac 只是开启了“文件共享”,但目标文件夹并没有加入共享列表,或者共享列表里有这个文件夹,但登录用户没有权限。
第二步:确认 SMB 已经对指定用户启用
Windows 访问 Mac 文件共享走的是 SMB。macOS 的文件共享打开以后,还需要在选项里确认 SMB 共享用户。
检查位置是:
系统设置 -> 通用 -> 共享 -> 文件共享 -> 信息按钮 -> 选项
在这里要确认:
- “使用 SMB 共享文件和文件夹”已经打开;
- 准备用来从 Windows 登录的 Mac 用户已经勾选;
- 这个用户的密码是已知且可用的。
这一点很容易漏掉。共享文件夹权限里出现某个用户,并不等于这个用户已经被允许通过 SMB 登录。Windows 端输入的应该是 Mac 上已启用 SMB 的本地用户和密码。
第三步:不要只看共享权限,还要看磁盘和文件夹本身权限
macOS 文件共享有两层权限:一层是共享面板里的权限,另一层是磁盘和文件夹本身的文件系统权限。Windows 能不能访问,最终要同时通过这两层。
例如一个外接硬盘、APFS 卷或特殊用途目录,即使在共享面板里设置成了“读与写”,也可能因为文件夹本身权限、系统保护 ACL 或 Time Machine 管理状态而无法写入。
所以我会在 Mac 本机上先做一个简单验证:用同一个用户登录 Mac,直接在目标文件夹里新建一个测试文件。如果 Mac 本机这个用户都不能写入,那么 Windows 通过 SMB 也不可能正常写入。
第四步:Windows 端使用正确的登录格式
Windows 访问 Mac 共享时,用户名最好明确写成 Mac 本地用户名,不要依赖 Windows 自动补全。可以尝试下面几种形式:
Mac用户名:专用账号电脑名\Mac用户名:专用账号内网IP\Mac用户名
其中最关键的是:密码要用 Mac 这个本地用户的登录密码,而不是 Apple ID 密码,也不是 Windows 账户密码。
如果之前输错过用户名或密码,Windows 可能已经缓存了错误凭据。这种情况下即使 Mac 端已经改好了,Windows 仍然会继续用旧凭据登录,表现出来就像 Mac 还没修好。
可以在 Windows 的“凭据管理器”里删除与这台 Mac 相关的记录,然后重新连接。
第五步:优先用 IP 地址测试,不要先依赖电脑名
局域网里通过电脑名访问,有时会受 NetBIOS、mDNS、路由器或 Windows 网络发现影响。为了减少变量,排查时我更建议先用 Mac 的内网 IP 地址测试。
在 Mac 上查看当前内网 IP 后,在 Windows 资源管理器地址栏输入:
\\内网地址
如果 IP 可以访问,但电脑名不能访问,说明 SMB 服务本身大概率没问题,问题更可能在名称解析或网络发现上。后续可以再处理电脑名访问,但不要把它和 SMB 权限问题混在一起。
第六步:确认两台设备在同一个局域网
这一步看似基础,但家庭网络里很常见。Windows 电脑和 Mac mini 可能分别连到了不同网络,比如主 Wi-Fi、访客 Wi-Fi、手机热点、Mesh 的隔离网络,或者不同路由器下面的子网。
如果 Windows 和 Mac 不在同一个网段,或者路由器开启了访客网络隔离,Windows 就可能完全访问不到 Mac 的 445 端口。
排查时可以先确认两台设备的 IP 地址是否类似:
Mac: 内网地址 Windows: 内网地址
如果一个是 192.168.1.x,另一个是 192.168.50.x,就要先回到路由器和网络连接上排查。
第七步:重启 SMB 服务或重新开关文件共享
当权限、用户和网络都确认无误后,如果 Windows 仍然连不上,可以在 Mac 上关闭“文件共享”,等待几秒后再重新打开。必要时重启 Mac。
这一步不是玄学。SMB 共享配置、用户启用状态、外接磁盘挂载状态发生变化后,服务端有时需要重新加载配置。对家庭服务器来说,重启前最好确认没有正在进行的文件复制或备份任务。
我最后采用的检查顺序
以后再遇到 Windows 无法访问 Mac SMB 共享,我会按下面顺序处理:
- 确认 Mac 文件共享已开启;
- 确认目标文件夹已加入共享列表;
- 确认共享用户有读写权限;
- 确认 SMB 选项里已勾选这个用户;
- 在 Mac 本机验证该用户能否读写目标文件夹;
- Windows 端删除旧凭据后重新登录;
- 优先用 Mac 内网 IP 访问,而不是电脑名;
- 确认 Windows 和 Mac 在同一个局域网;
- 重新开关文件共享,必要时重启 Mac。
小结
Windows 无法通过 SMB 访问 Mac 共享文件夹时,不要只盯着用户名密码。真正稳定的排查方式,是把问题拆成四层:Mac 是否开启 SMB、用户是否允许通过 SMB 登录、目标文件夹本身是否允许访问、Windows 是否用了正确凭据和正确地址。
对家庭服务器来说,文件共享最好保持简单清晰:固定 Mac 的内网 IP,使用专门的本地共享用户,只共享必要目录,并避免把系统保护目录或 Time Machine 目标卷直接当作普通共享目录使用。这样后续 Windows、Mac 和其他设备访问起来都会更稳定。