2010-05-28 48 views
0

我想開發一個程序,僅將分區的「數據」複製到另一個分區。我想這樣做,程序從源分區的第一個扇區開始,並檢查是否使用扇區。開發一個基於扇區的分區複製程序?

如果使用 將其複製到目標parition。 其他 請勿複製。

換句話說,就像只將分區的內容複製到另一個扇區。

問題: 有沒有辦法檢查硬盤上的特定扇區是否被使用?

我正在使用的編程語言是C++和NTFS中的底層文件系統。

非常感謝。

+0

重新標記,因爲(1)NTFS實際上並未在部門級別上工作,(2)標籤應該與問題和組類似問題相關。 – MSalters 2010-05-28 08:55:49

+0

感謝您的信息。我應該先檢查ntfs是如何工作的。 – baltoro 2010-05-30 14:50:16

回答

1

你的問題根本上有缺陷。 NTS可以將數據和元數據存儲在同一個羣集中。兩者都作爲文件屬性處理。

我也想知道重點是什麼。沒有元數據,原始數據就毫無用處。你甚至無法知道一個文件的結尾和另一個文件的開始。

+0

你說得對。我的問題是錯誤的。我不應該尋找原始數據。我只是認爲每個扇區都必須有一些屬性,告訴操作系統某個扇區是否可用於存儲數據或已被佔用。無論如何,我的錯誤。 :) 謝謝 – baltoro 2010-05-30 14:49:35

+1

不,自由列表在羣集級別進行管理。但從那裏開始相當簡單。有一個特殊的'$ Bitmap'文件,每個羣集有一位告訴操作系統羣集是否空閒。請注意,您不應該依賴_running_系統上此文件的內容。 – MSalters 2010-05-31 08:24:02

+0

非常感謝。這很有幫助。我如何查看MFT和$ Bitmap? – baltoro 2010-06-01 09:27:24

1

IIRC扇區只存儲原始字節和低級錯誤特定數據。您需要的信息是一種只有文件系統可以提供給您的元信息。

+0

好的,謝謝Nick。我會看看我是否可以通過您提到的元信息來找到實現我想要的內容的方法。 – baltoro 2010-05-30 14:47:32

0

ntfsclone就像剛剛描述的那樣。

它可以在複製時跳過未分配的塊。