Sdelete
時間:2020-01-07 10:58:04 作者:無名 瀏覽量:45
今天小編就為大家帶來Sdelete的相關資訊,安全地刪除沒有任何特殊屬性的文件相對而言簡單而直接:安全刪除程序使用安全刪除模式簡單地覆蓋文件。較為復雜的是安全地刪除 Windows NT/2K 壓縮、加密和稀疏文件,以及安全地清理磁盤可用空間。
壓縮、加密和稀疏文件由 NTFS 以 16 群集塊方式管理。如果某個程序向此類文件的現有部分寫入數據,則 NTFS 會分配磁盤上的新空間來存儲新數據,并在寫入新數據后取消分配該文件先前占用的群集。NTFS 采取此保守方法的原因與數據完整性有關,而且對于壓縮和稀疏文件,這樣可以在出現新分配大于現有分配(新的壓縮數據大于舊的壓縮數據)的情況下正確應對。因此,覆蓋此類文件時將不能成功地從磁盤中刪除文件的內容。
為了處理上述類型的文件,SDelete 依賴
碎片整理 API。利用 碎片整理 API,SDelete 可以精確地判斷磁盤中哪些群集由屬于壓縮、稀疏和加密文件的數據占用。 SDelete 在了解哪些群集包含該文件的數據后,就可以打開磁盤進行原始訪問并覆蓋這些群集。
可用空間的清理問題提出了另一項挑戰。由于 FAT 和 NTFS 沒有為應用程序提供直接尋址可用空間的方法,因此 SDelete 具有以下兩個選擇之一。第一個選擇是它可以像處理壓縮、稀疏和加密文件那樣,打開磁盤以進行原始訪問并覆蓋可用空間。此方法面臨一個很大的問題:即使 SDelete 被編碼為完全能夠計算 NTFS 和 FAT
驅動器的可用空間部分(這并非微不足道),它也會遭遇與系統上發生的活動文件操作發生沖突的風險。例如,假設 SDelete 確定某個群集可用,而就在此時文件系統驅動程序(FAT、NTFS)決定為另一應用程序正在修改的文件分配該群集。文件系統驅動程序會將新數據寫入該群集,然后 SDelete 跟隨而來并覆蓋了剛剛寫入的數據:該文件的新數據丟失了。如果為文件系統元數據分配該群集,則問題會更糟,因為 SDelete 會破壞文件系統的磁盤結構。
Sdelete圖二
在 NTFS 驅動器上,分配和覆蓋這兩個文件并非 SDelete 的全部工作。SDelete 還必須用適合 MFT 記錄的文件填充 NTFS MFT(主文件表)的任何現有可用部分。一個 MFT 記錄的大小通常為 1KB,而磁盤上的每個文件或目錄都至少需要一個 MFT 記錄。小文件都整個存儲在各自的 MFT 記錄中,而對于不適合一個記錄的文件,則會為其分配 MFT 外部的群集。SDelete 為處理可用 MFT 空間而必須完成的全部工作就是分配它能夠分配的最大文件 - 當該文件占用 MFT 記錄中的所有可用空間時,NTFS 將防止該文件增大,因為磁盤中沒有剩余的可用群集(它們正被 SDelete 先前分配的兩個文件占用)。然后,SDelete 將重復此過程。當 SDelete 甚至無法再創建新文件時,它會知道 MFT 中所有先前可用的記錄都已完全被安全覆蓋文件填充。
Sdelete圖三
為了覆蓋您刪除的文件的文件名,SDelete 會將該文件重命名 26 次,每次都用連續的字母字符替換文件名中的每個字符。例如,“foo.txt”經過第一次重命名后將變為“AAA.AAA”。
SDelete 在清理磁盤可用空間時不能安全刪除文件名的原因是,刪除文件名需要直接操作目錄結構。目錄結構可能具有包含已刪除文件名的可用空間,但可用目錄空間不能分配給其他文件。因此, SDelete 無法分配此可用空間以便安全地覆蓋它。
SDelete 的用法
SDelete 是一個帶有許多選項的命令行實用工具。按照任何給定用法,都可以使用它刪除一個或多個文件和/或目錄,或者清理邏輯磁盤上的可用空間。SDelete 將通配符接受為目錄或文件說明符的一部分。
- 軟件性質:國產軟件
- 授權方式:免費版
- 軟件語言:簡體中文
- 軟件大小:140 KB
- 下載次數:260 次
- 更新時間:2019/12/30 9:46:14
- 運行平臺:WinXP,Win7,...
- 軟件描述:有時候硬盤里有一些很難刪除的文件,每次刪除都說系統占用,怎么刪除這些頑固的文件呢... [立即下載]
相關資訊
相關軟件