Ntfs

由於文件名過長,無法從卷影複製中恢復

  • December 3, 2020

我們在 Windows SBS 2008 伺服器上啟用了卷影複製。嘗試從卷影副本還原文件時出現以下錯誤 -

源文件名大於文件系統支持的名稱。嘗試移動到路徑名稱較短的位置,或在嘗試此操作之前嘗試重命名為較短的名稱。

文件名有 67 個字元,它的捲影複製路徑是 170 個字元。這些似乎在 NTFS 限制(260?)之下。

我們嘗試了-

  • 複製到可能的最短路徑 (C:)
  • 複製到客戶端電腦和伺服器本身的最短路徑

是否可以在複製之前重命名卷影副本中的文件?儘管文件名大小似乎在限制範圍內,但知道為什麼會出現錯誤嗎?

採取的步驟

  1. 在本地電腦上,轉到 SBS 伺服器上的共享文件夾(通過映射驅動器),例如 J:\Projects\Foo\Bar
  2. 右鍵點擊文件夾並選擇屬性
  3. 點擊以前的版本選項卡。
  4. 選擇一個卷影副本並點擊打開
  5. 在新打開的視窗中,選擇文件夾/文件,然後按 Ctrl-C 進行複制。
  6. 打開一個新的 Windows 資源管理器,並將文件夾/文件粘貼到本地驅動器上。

編輯-(Un)幸運的是,我現在無法重現此錯誤。導致問題的特定文件已被刪除,並且無法使用其他類似文件重新創建錯誤。

我在 Server 2008 R2 中遇到了完全相同的問題,這就是我解決它的方法:

  1. 右鍵點擊您要從卷影副本恢復的文件夾,然後選擇Previous Versions。選擇一個日期並點擊打開
  2. 右鍵點擊前一個文件夾中的任何文件或文件夾,然後選擇Properties。在“正常”選項卡上複製“位置”中顯示的內容,例如: \\localhost\D$\@GMT-2011.09.20-06.00.04\_Data
  3. 打開 cmd.exe 並輸入:
subst X: \\localhost\D$\@GMT-2011.09.20-06.00.04\_Data
  1. 打開 PowerShell 並使用 robocopy 複製 X 的內容:例如:
robocopy X: D:\Folder\ /E /COPYALL
  1. 檢查是否已複製所有文件。
  2. 完成後subst X: /D在 cmd(命令提示符)視窗中輸入

引用自:https://serverfault.com/questions/285997