Ntfs

確定 NTFS 重解析點的目標

  • December 10, 2015

我有一個作為 VM 執行的 Windows 2012 R2 伺服器(在 KVM/Libvirt 之上)。它有一個額外的“內部”磁碟定義為F:

如果我對基於 Linux 的主機的邏輯卷表示快照F:並將其掛載到主機上,我會得到許多文件標記為不支持的重解析點

我想做的是從主機備份文件系統,這就是我從這裡開始的原因。


這是一個從主人的角度來看的例子

lvcreate --name shares-snap --size 10G --snapshot /dev/crypt_md3/shares
mount -o ro,offset=$((129*1024*1024)) /dev/crypt_md3/shares-snap /mnt/dsk
ls -l /mnt/dsk/mfc70.dll
lrwxrwxrwx 1 root root 26 Jan  5  2002 /mnt/dsk/mfc70.dll -> unsupported reparse point

在 Windows 客戶機中,文件屬性對話框顯示其大小為 952KB,但磁碟上的大小為 0 字節。這對於重解析點來說是經典的。高級屬性是APLL確認文件確實是一個重解析點。

複製文件會從副本中刪除PL屬性。

四處搜尋將我帶到如何找到使用 mklink 創建的符號連結的目標及其接受的答案。我已經下載了junction 1.06NTFSLinksView

跑步junction對我沒有任何用處:

F:\> c:\local\bin\junction mfc70.dll

Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

F:\mfc70.dll: UNKNOWN MICROSOFT REPARSE POINT

跑步dir /L也沒有什麼用處:

F:\>dir /L mfc70.dll
Volume in drive F is Folder shares
Volume Serial Number is B600-69DE

Directory of F:\

05/01/2002  04:48           974,848 mfc70.dll
              1 File(s)        974,848 bytes
              0 Dir(s)  233,785,053,184 bytes free

執行dir /A:L確實包含該文件,因此它絕對是某種重新分析點。

NTFSLinksView根本沒有列出文件。


在所有這些背景資訊之後,問題真的很簡單:

  1. 如何找出重解析點的詳細資訊?
  2. ntfs-3g在主機上告訴什麼來重新映射連接點以便它們解決?

這些可能是重複文件。它們通過磁碟上的聯結實現,文件系統驅動程序處理重組。我懷疑你會找到一個可以處理它們的 Linux 工具。其他用於結點的 Windows 實用程序無法理解它們,因為它們是為正常結點設計的,而不是重複數據刪除結點。

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