大约一年前,我在一台旧笔记本电脑上安装了 Windows 7,将其用作文件服务器。笔记本电脑本身的硬盘容量很小,所以我连接了两个 500GB 的外置硬盘。
仅仅几天后,我发现每次重启后,USB 介质上的所有共享都会消失。因此,我应用了一个修复程序(可能是注册表调整,忘记具体是什么了),似乎通过延迟启动 Windows 文件和打印机共享服务解决了该问题。
在大多数情况下,这种方法效果很好,但有时我的所有分享(大约八个)仍然会消失,迫使我花整整十分钟的时间重新设置它们。
这是我的两个问题:
- 有人知道如何解决这个问题吗?
- 有没有什么方法可以让我专门备份共享设置,以便在丢失时或每次启动时轻松恢复它们?
答案1
您可以自动进行修复,以便在每次(重新)检测到驱动器时应用共享:
当您插入 USB 驱动器时,Windows 会记录事件 7036、服务控制管理器、便携式设备枚举器服务。使用事件查看器将任务附加到运行网络共享(如在其他帖子中一样)或包含网络共享语句的批处理文件的事件(右键单击事件)。
这个 Windows“错误”困扰了我一段时间。在这个网站的帮助下,我能够修复它(嗯,到目前为止,有限的测试似乎很积极)。
谢谢。
答案2
我猜测共享的配置并不是特别复杂(可能只是向公众或任何人共享,并且您可能共享每个 USB 驱动器的根目录)。
我的第一个建议是,您使用“net share”编写一个 powershell 脚本或者甚至只是一个批处理文件,以便在需要时可以从头开始快速重新创建共享。
我的第二个建议是在我们的 C 盘上创建一个文件夹,仅共享该文件夹并使用连接点重定向到其他驱动器:
c:\mount c:\mount\usb01 c:\mount\usb02 c:\mount\usb03 c:\mount\usb04 ... c:\mount\usb08
Usb01 到 08 指向您的各种 USB 驱动器。
将 c:\mount 文件夹共享为“mount”或其他名称,然后就大功告成了。如果某个 USB 驱动器因某种原因处于离线状态,并且有人尝试访问它,他们只会收到某种错误,或者他们可能只是看不到任何文件。我想是这样的。我从未在 USB 驱动器上尝试过这种方法,但它适用于 SATA 驱动器。如果它确实有效,您就不需要您提到的注册表破解;文件服务可以在应该启动的时候启动,因为它不会尝试共享它(暂时)看不到的东西。
答案3
这不是解决我问题的万能办法,但可以按照以下步骤备份共享此 Microsoft 知识库文章。
简单的重启就可以恢复我的共享设置,无需采取任何其他操作,幸运的是,这对我来说已经足够了,因为所有需要访问共享的设备/人员都可以重新启动服务器。
当然仍然欢迎更好的解决方案。
答案4
同样的问题。我的业务经验:永远不要使用共享权限,始终使用文件权限。重启后文件权限仍会保留。
添加简单的启动 cmd 文件,如下所示:
net share public=z:\public /GRANT:everyone,FULL
net share cd_images=z:\cd_images /GRANT:everyone,FULL
net share videos=z:\public\videos /GRANT:everyone,FULL
net share music=z:\public\music /GRANT:everyone,FULL
这对于保存所有共享的记录也非常方便。对于许多共享,您可以使用 for 循环。如果共享在重启后以某种方式保留,这些命令将被忽略。