注册表方式

注册表方式

我的 Windows 服务器(2016 版和 2019 版)经常崩溃,我注意到使用 BackupPC 备份有时会失败。经过调查,我发现问题总是源于文件路径超过 255 个字符。尽管我反复建议用户使用较短的名称和路径,但他们并没有遵守,这导致用户感到沮丧,因为解决这个问题需要删除有问题的文件并重新启动服务器,从而造成严重中断。

为了寻找解决方案,我探索了允许用户绕过此限制的替代方法。例如,通过 Firefox 保存文件时,路径字符不计算在内,某些第三方工具可以从深层嵌套的目录中提取文件,即使路径很长,这会导致服务器崩溃。

我正在寻求有关实施技术限制的建议,以防止用户创建超过 255 个字符的路径。虽然教育用户是理想的方法,但他们的不情愿需要技术解决方案。任何建议都将不胜感激。谢谢。

答案1

有一种 Generell 方法:

注册表方式

  • 请注意,这可能会造成伤害。

    • 因为它违反了 Windows 标准的限制。

使用Regedit编辑

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
  • 并添加/更改LongPathsEnabled为十六进制 1

使用 Powershell 的懒惰管理员:*

New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" ` 
-Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force

使用此方法,重启后,Windows 10、1607+ 就可以使用扩展路径了。在我看来,这可以作为您问题的一种解决方法。

本地 Dos

  • 如果您需要删除扩展路径,还有其他解决方案
    • subst
subst /?
Assigns a drive letter to a path.

SUBST [Drive1: [Drive2:]Path]
SUBST Drive1: /D

Drive1: Drive letter to assign to the path.
[Drive2:]Path Physical drive and physical path to assign to the
virtual drive.
/D Deletes the association for (virtual) Drive1.

SUBST without parameters displays the virtual drives created with SUBST.

这意味着您可以将路径减少至少 250 个字符,根据我过去二十年及以后的知识,这几乎足够了。

致 BackupPC 的通知

BackupPC 的最新版本是 2020

考虑换用像 Veeam 这样的知名商业产品。Veeam
有免费的社区版。

参考:
HowToGeek
微软
备份电脑

答案2

您可以利用组策略来强制执行路径长度限制。通过配置 下的“启用 Win32 长路径”策略Computer Configuration > Administrative Templates > System > Filesystem,您可以强制执行最大路径长度为 255 个字符。此外,实施文件系统审核可以帮助跟踪和识别违反路径长度限制的情况:

  1. Security Settings > Advanced Audit Policy Configuration > Object Access
  2. Audit File System >> Succes and Failure

相关内容