專利名稱:一種擦除磁盤的方法及裝置的制作方法
技術領域:
本發(fā)明涉及計算機技術領域,特別是涉及一種擦除磁盤的方法與裝置。
背景技術:
隨著時代的進步和計算機應用的普及,人們對計算機設備的使用越來越頻繁。在日常應用中,用戶經(jīng)常需要將大量的數(shù)據(jù)保存于個人計算機中,同時,用戶還可能經(jīng)常需要對包含個人數(shù)據(jù)的文件進行刪除操作。但是,用戶做的一般的刪除操作只是將文件放入回收站,然后清空回收站,或者不放入回收站而直接刪除,比如在Windows操作系統(tǒng)中使用 shift + delete組合鍵對文件進行刪除。然而,用戶做的這些刪除操作,映射到系統(tǒng)層次,往往是由操作系統(tǒng)完成這樣一系列動作在主文件表中給文件增加一個的已刪除標識符,然后將此文件所在的數(shù)據(jù)區(qū)域設置為可寫狀態(tài)。這樣,用戶在人機交互界面中,比如Windows操作系統(tǒng)的資源管理器里,就看不到該文件的信息了,這就是對文件進行一般刪除的過程。而實際上,在作為物理存儲介質(zhì)的磁盤上,仍然保留著該文件的文件信息以及數(shù)據(jù)內(nèi)容,這樣就給必要時恢復原有數(shù)據(jù)提供了可能,同時,也給用戶數(shù)據(jù)泄露留下了隱患。由于以上所述的原因,用戶有時希望徹底刪除需要刪除的數(shù)據(jù),使被刪除的數(shù)據(jù)具有不可恢復的特性。此時,除了一般刪除操作,用戶還會使用一種能夠擦除磁盤的應用, 將需要刪除的數(shù)據(jù)徹底清除,使被刪除的數(shù)據(jù)不可被恢復,從而降低用戶數(shù)據(jù)泄露的可能性。但在以往的擦除磁盤應用過程中,有時會出現(xiàn)磁盤分區(qū)丟失,導致用戶數(shù)據(jù)丟失的情況,危害了用戶的數(shù)據(jù)安全。綜上所述,迫切需要本領域技術人員解決的技術問題就在于,在用戶進行擦除磁盤操作時,如何提供一種安全擦除磁盤的工具,使用戶在執(zhí)行擦除磁盤的過程中,避免磁盤分區(qū)丟失,進而避免用戶數(shù)據(jù)丟失。
發(fā)明內(nèi)容
本發(fā)明提供了一種擦除磁盤的方法及裝置,能夠在執(zhí)行磁盤擦除的過程中,有效保護磁盤分區(qū)信息,進而保護用戶的數(shù)據(jù)安全。本發(fā)明提供了如下方案 一種擦除磁盤的方法,包括
當需要對磁盤當前分區(qū)執(zhí)行擦除操作時,獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信
息;
根據(jù)所述分區(qū)信息,判斷當前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重疊; 根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作。其中,所述獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息包括
獲取當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號,以及下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號;所述根據(jù)所述分區(qū)信息,判斷當前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重疊包括 判斷當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號是否大于其下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號,如果是,則當前分區(qū)與其下一分區(qū)之間存在分區(qū)重疊。其中,所述根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作包括
如果當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊,則確定當前分區(qū)與下一分區(qū)之間的重疊區(qū)域;
在對當前分區(qū)執(zhí)行擦除操作時,跳過所述重疊區(qū)域,僅擦除當前分區(qū)中除所述重疊區(qū)域以外的區(qū)域。其中,所述根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作包括
如果當前分區(qū)與下一 分區(qū)之間存在分區(qū)重疊,跳過當前分區(qū),僅對除當前分區(qū)以外的其他分區(qū)進行擦除操作。其中,所述對磁盤當前分區(qū)的擦除操作包括
當需要對磁盤當前分區(qū)進行擦除操作時,通過向擦除區(qū)域內(nèi)寫入隨機數(shù),來擦除磁盤。
一種擦除磁盤的裝置,包括
分區(qū)信息獲取單元,用于當需要對磁盤當前分區(qū)執(zhí)行擦除操作時,獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息;
判斷單元,用于根據(jù)所述分區(qū)信息,判斷當前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重
疊;
擦除單元,用于根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作。其中,所述分區(qū)信息獲取單元用于
獲取當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號,以及下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號;
所述判斷單元具體用于
判斷當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號是否大于其下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號,如果是,則當前分區(qū)與其下一分區(qū)之間存在分區(qū)重疊。其中,所述擦除單元包括
重疊區(qū)域確定子單元,用于在當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊時,確定當前分區(qū)與下一分區(qū)之間的重疊區(qū)域;
第一刪除子單元,用于在對當前分區(qū)執(zhí)行擦除操作時,跳過所述重疊區(qū)域,僅擦除當前分區(qū)中除所述重疊區(qū)域以外的區(qū)域。其中,所述擦除單元包括
第二刪除子單元,用于在當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊時,跳過當前分區(qū),僅對除當前分區(qū)以外的其他分區(qū)進行擦除操作。其中,所述擦除單元具體用于
當需要對磁盤當前分區(qū)進行擦除操作時,通過向擦除區(qū)域內(nèi)寫入隨機數(shù),來擦除磁盤。根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術效果
通過本發(fā)明,可以在執(zhí)行具體的磁盤擦除操作之前,首先判斷磁盤分區(qū)之間是否存在分區(qū)重疊的現(xiàn)象,并根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作。因此,在擦除磁盤的過程中,能夠有效保護磁盤分區(qū)信息,進而保護了用戶的數(shù)據(jù)安全。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例提供的方法的流程圖; 圖2是本發(fā)明實施例提供的裝置的示意圖。
具體實施例方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。首先需要說明的是,計算機中存放信息的主要的存儲設備是硬盤,但是硬盤不能直接使用,必須對硬盤進行分割,分割成的一塊一塊的硬盤區(qū)域,這種磁盤區(qū)域就稱為磁盤分區(qū)。在傳統(tǒng)的磁盤管理中,將一個硬盤分為兩大類分區(qū)主分區(qū)和擴展分區(qū)。主分區(qū)是能夠安裝操作系統(tǒng),能夠進行計算機啟動的分區(qū)。主分區(qū)是獨立的,也是硬盤的第一個分區(qū), 實際應用中所見的C盤通常就是主分區(qū)。在一個硬盤中最多只能存在4個主分區(qū)。如果一個硬盤上需要超過4個以上的磁盤分塊的話,那么就需要使用擴展分區(qū)了。如果使用擴展分區(qū),那么一個物理硬盤上最多只能3個主分區(qū)和1個擴展分區(qū)。擴展分區(qū)不能直接使用, 它必須經(jīng)過第二次分割成為一個一個的邏輯分區(qū)(例如D盤、E盤、F盤等等),然后才可以使用,也即,可以將文件存放到某邏輯分區(qū),當需要查看該文件時,就到該邏輯分區(qū)對應的盤符下查找。其中,在磁盤的0扇區(qū)0磁道中存在分區(qū)表,該分區(qū)表中標記了各個主分區(qū)的起始地址、結束地址,以及擴展分區(qū)的起始地址等分區(qū)信息。每個主分區(qū)的起始位置處都保存有 DBR (一般占用63個扇區(qū),當然也可能是其他數(shù)目),以及MFT (Master File Table,主文件表)或者FAT (File Allocation Table,文件配置表)文件表等,如果這些數(shù)據(jù)被破壞,會導致對應的主分區(qū)無法打開。另外,擴展分區(qū)的每個邏輯分區(qū)由分區(qū)信息段(一般包括分區(qū)表以及主文件表等, 這部分占用的磁盤總扇區(qū)數(shù)通常是固定的,例如在某種系統(tǒng)中共占用63個扇區(qū))和數(shù)據(jù)段兩部分組成,其中,分區(qū)表通常位于每個邏輯分區(qū)的起始位置,用于保存當前邏輯分區(qū)的分區(qū)信息以及下一分區(qū)的分區(qū)信息,數(shù)據(jù)段用于保存具體的數(shù)據(jù)。其中第一個邏輯分區(qū)的起始地址即擴展分區(qū)的起始地址,其他后續(xù)的分區(qū)信息,可以由此地址及各分區(qū)的扇區(qū)占用數(shù)目推得。邏輯分區(qū)是鏈表形式保存在磁盤中,倘若硬盤丟失了分區(qū)表,數(shù)據(jù)就無法按順序讀取和寫入,導致無法操作。而本發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),之所以在使用磁盤擦除器對磁盤中的數(shù)據(jù)進行擦除時,會出現(xiàn)分區(qū)丟失的現(xiàn)象,一種可能的原因就在于磁盤的分區(qū)之間存在分區(qū)重疊的現(xiàn)象。所謂分區(qū)重疊是指某一邏輯分區(qū)(例如為B分區(qū))的分區(qū)表,寫入到前面邏輯分區(qū)(例如為A分區(qū))的數(shù)據(jù)段中,此時,一旦A分區(qū)數(shù)據(jù)被寫滿,則必然會把B分區(qū)的分區(qū)表給覆蓋。如前文所述,由于邏輯分區(qū)是鏈表形式保存在磁盤中,當前面分區(qū)丟失,后面的分區(qū)將全部丟失,因此,這種分區(qū)重疊的現(xiàn)象會造成邏輯分區(qū)的丟失,進而造成用戶數(shù)據(jù)的丟失。尤其是現(xiàn)在游戲和影音文件等的體積越來越大,一個磁盤分區(qū)經(jīng)常被寫滿,這樣,一旦發(fā)生分區(qū)重疊,則分區(qū)丟失的情況就會越來越多。例如,第一個邏輯分區(qū)的分區(qū)表保存在了其前面主分區(qū)中(即第一個邏輯分區(qū)的起始位置小于最后一個主分區(qū)的結束位置),這樣分區(qū)就會重疊,當最后一個主分區(qū)寫滿后,第一個邏輯分區(qū)的分區(qū)表就會被覆蓋,這樣第一個邏輯分區(qū)就會丟失。而第一個邏輯分區(qū)的分區(qū)表中又記錄了第二個邏輯分區(qū)的起始信息,因此,第一個邏輯分區(qū)丟失之后,第二個邏輯分區(qū)也隨之 丟失,以此類推,只要第一個邏輯分區(qū)丟失,后面的邏輯分區(qū)將全部丟失。至于造成分區(qū)重疊的原因,其中一種可能是在電腦使用一段時間后,系統(tǒng)越來越慢,此時避免不了要重裝系統(tǒng),而限于電腦重裝的復雜性和耗時,GHOST做系統(tǒng)已經(jīng)越來越普及。所謂GH0ST,實際上是一種硬盤備份還原工具,它采取鏡象系統(tǒng)分區(qū)或者文件夾的方式備份和還原數(shù)據(jù)。但是,由于現(xiàn)在網(wǎng)上各種形式的GHOST軟件和系統(tǒng)鏡像文件,很多不規(guī)范,給用戶系統(tǒng)帶來了風險。其中一種風險就是引起分區(qū)重疊的問題,也即,GHOST自帶的分區(qū)信息和原用戶的分區(qū)信息之間存在沖突,從而造成分區(qū)重疊。此外,一些是使用了有BUG 的分區(qū)軟件,也可能造成分區(qū)的重疊。在以上分析基礎上,本發(fā)明實施例提供了一種擦除磁盤的方法,參見圖1,該方法包括以下步驟
5101當需要對磁盤當前分區(qū)執(zhí)行擦除操作時,獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息;
5102根據(jù)所述分區(qū)信息,判斷當前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重疊;
在實際應用中,可以根據(jù)用戶的手動啟動操作,來確定是否需要對磁盤去執(zhí)行擦除操作。例如,當用戶需要對某磁盤分區(qū)執(zhí)行擦除操作時,就可以啟動磁盤擦除工具,并指示其對該指定的磁盤分區(qū)執(zhí)行擦除操作,此時,就相當于需要對該分區(qū)執(zhí)行擦除操作。當然,用戶也可以選擇對多個分區(qū)進行擦除,當然,在具體實現(xiàn)時,當用戶選擇多個分區(qū)進行擦除操作時,也可被分解為對單一磁盤分區(qū)的擦除作業(yè)的子任務。因此,此步驟中所述的需要對磁盤當前分區(qū)執(zhí)行擦除操作包括了 用戶選擇單一磁盤分區(qū),發(fā)出擦除指令;或者用戶選擇多個分區(qū)發(fā)出擦除指令,由此分解為對單一磁盤分區(qū)進行擦除操作的多個子任務。需要說明的是,由于磁盤應用擴展分區(qū)技術后,在分區(qū)已經(jīng)被確定的情況下,物理磁盤的在其0磁道0扇區(qū)的分區(qū)表中保存了該物理磁盤的各主分區(qū)以及擴展分區(qū)的地址以及占用的扇區(qū)數(shù)目,因此,通過讀取物理磁盤0磁道0扇區(qū)的信息,即可獲取到主分區(qū)的地址以及擴展分區(qū)的起始地址。因此,在需要獲取主分區(qū)及擴展分區(qū)的分區(qū)信息時,就可以從磁盤0磁道0扇區(qū)的分區(qū)表中獲取。同時,擴展分區(qū)的起始地址就相當于第一個邏輯分區(qū)的起始地址,而第一個邏輯分區(qū)的分區(qū)表就保存在第一個邏輯分區(qū)的起始扇區(qū)中,因此,就可以獲得第一個邏輯分區(qū)的分區(qū)表,并獲取到其中的分區(qū)信息,其他后續(xù)各邏輯分區(qū)的起始地址,可以該第一個邏輯分區(qū)的起始地址及其分區(qū)表中記錄的各分區(qū)的扇區(qū)占用數(shù)目等參數(shù)推得。這里需要說明的是,如前文所述,由于每個邏輯分區(qū)的分區(qū)表中都是不僅記載了當前分區(qū)的分區(qū)信息,還記載了下一分區(qū)的分區(qū)信息,因此,按照常規(guī)的理解,在需要獲取磁盤某邏輯分區(qū)的分區(qū)信息時,既可以從該分區(qū)自身的分區(qū)表中獲取,又可以從上一分區(qū)的分區(qū)表中獲取(當然,第一個邏輯分區(qū)除外)。 但是,在擴展分區(qū)的邏輯分區(qū)中,在每個邏輯分區(qū)的開始位置扇區(qū)有EBR (Extended Boot Record)。EBR和MBR不同,它沒有引導代碼,而是保存了兩個分區(qū)表第一個分區(qū)表是當前分區(qū)除本分區(qū)DBR (DBR 一般占用63扇區(qū),也有2048或者其他值)之外數(shù)據(jù)區(qū)的起始扇區(qū)和占用的扇區(qū)數(shù);第二個分區(qū)表是下一個分區(qū)的起始扇區(qū)數(shù)和占用的扇區(qū)數(shù)(包含DBR及數(shù)據(jù)區(qū)在內(nèi))。在下一分區(qū)的起始位置又包含兩個分區(qū)表(如果有三個邏輯分區(qū)以上)第一個分區(qū)表記錄了除本分區(qū)DBR之外數(shù)據(jù)區(qū)的起始扇區(qū)和占用的扇區(qū)數(shù),第二個分區(qū)表中記錄了第三個擴展分區(qū)的起始扇區(qū)和占用的扇區(qū)數(shù)。依次類推,邏輯分區(qū)中的分區(qū)表是以鏈表形式保存的。邏輯分區(qū)的起始地址實際可以從其上一個邏輯分區(qū)的分區(qū)表中獲取。例如,第一個邏輯分區(qū)A的起始扇區(qū)取該邏輯分區(qū)所在擴展分區(qū)的起始扇區(qū),它的結束位置為起始扇區(qū)加上它所占用的扇區(qū)數(shù)。第二個邏輯分區(qū)B的起始地址取邏輯分區(qū) A中的分區(qū)表中第二個分區(qū)表項記錄的起始地址和占用的扇區(qū)數(shù)。后面的某邏輯分區(qū)Y占用扇區(qū)的判斷依據(jù)以前面的邏輯分區(qū)X中的分區(qū)表中第二個分區(qū)表項記錄的起始扇區(qū)和占用的扇區(qū)數(shù)為準。當某一邏輯分區(qū)A的起始扇區(qū)所在位置加上它所占用的扇區(qū)數(shù)大于它后面邏輯分區(qū)B (A與B在同一擴展分區(qū)中)的起始扇區(qū)所在的位置,就會造成分區(qū)重疊。例如A邏輯分區(qū)起始扇區(qū)是1000扇區(qū),它占用2000個扇區(qū),B邏輯分區(qū)起始扇區(qū)在2920扇區(qū),占用1000個扇區(qū)。這樣A邏輯分區(qū)中結束扇區(qū)應該是3000扇區(qū),而邏輯分區(qū)B起始扇區(qū)是2920,A的結束扇區(qū)大于B開始扇區(qū),他們共有80個扇區(qū)的重疊。這80 個扇區(qū)中可能記錄著B分區(qū)的分區(qū)表、DBR和一些其他數(shù)據(jù)(NTFS中可能會有MFT,F(xiàn)AT格式中,可能會有FAT表)。當A邏輯分區(qū)寫滿后,就會在這80個扇區(qū)寫入數(shù)據(jù),然后,B分區(qū)中的分區(qū)表、DBR和其他數(shù)據(jù)就會被破壞,導致B分區(qū)及其后面的分區(qū)全部丟失,從而造成這些分區(qū)上的數(shù)據(jù)全部丟失,以用戶造成損失。因此,具體在獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息時,可以獲取當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號,以及下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號;這樣,就可以通過判斷當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號是否大于其下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號,如果是,則當前分區(qū)與其下一分區(qū)之間存在分區(qū)重疊。具體的,如果當前分區(qū)及其下一分區(qū)均為擴展分區(qū)中的邏輯分區(qū)時,所述獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息包括通過以下方式獲取第一邏輯分區(qū)以及第二邏輯分區(qū)的分區(qū)信息根據(jù)所述第一邏輯分區(qū)的上一分區(qū)的分區(qū)表中標記的分區(qū)信息,確定所述第一邏輯分區(qū)的結束位置所在的物理扇區(qū)號;根據(jù)所述第一邏輯分區(qū)的分區(qū)表中標記的分區(qū)信息,確定所述第二邏輯分區(qū)的起始位置所在的物理扇區(qū)號;然后,判斷所述第一邏輯分區(qū)的結束位置所在的物理扇區(qū)號是否大于所述第二邏輯分區(qū)的起始位置所在的物理扇區(qū)號,如果是,則所述第一邏輯分區(qū)與所述第二邏輯分區(qū)之間存在分區(qū)重疊。
其中,根據(jù)第一邏輯分區(qū)的上一分區(qū)的分區(qū)表中記錄的分區(qū)信息,確定所述第一邏輯分區(qū)的結束位置所在的物理扇區(qū)號時,具體可以為查詢所述第一邏輯分區(qū)的上一分區(qū)的分區(qū)表,從中獲取第一邏輯分區(qū)的起始扇區(qū)偏移值以及占用的總扇區(qū)數(shù);根據(jù)該第一邏輯分區(qū)的起始扇區(qū)偏移值以及該邏輯分區(qū)占用的總扇區(qū)數(shù),獲取該第一邏輯扇區(qū)的結束扇區(qū)偏移值;根據(jù)該第一邏輯扇區(qū)的結束扇區(qū)偏移值以及擴展分區(qū)的起始地址獲取該第一邏輯分區(qū)所在的結束位置所在的物理扇區(qū)號。根據(jù)所述第一邏輯分區(qū)的分區(qū)表中記錄的分區(qū)信息,確定第二邏輯分區(qū)的起始位置所在的物理扇區(qū)號時,具體可以為查詢所述第一邏輯分區(qū)的分區(qū)表,從中獲取所述第二邏輯分區(qū)的起始扇區(qū)偏移值;根據(jù)該第二邏輯扇區(qū)的起始扇區(qū)偏移值以及擴展分區(qū)的起始地址獲取該第二邏輯分區(qū)的起始位置所在的物理扇區(qū)號。如果當前分區(qū)為主分區(qū),其 下一分區(qū)為主分區(qū)或擴展分區(qū)時,則具體在獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息時,可以是根據(jù)磁盤0磁道0扇區(qū)中的分區(qū)表中標記的分區(qū)信息,確定所述當前分區(qū)的結束位置所在的物理扇區(qū)號,以及下一分區(qū)的起始位置所在的物理扇區(qū)號;進而,通過判斷當前分區(qū)的結束位置所在的物理扇區(qū)號是否大于下一分區(qū)的起始位置所在的物理扇區(qū)號,如果是,則當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊。需要說明的是,具體實現(xiàn)時,除了利用起始扇區(qū)的扇區(qū)號以及結束扇區(qū)的扇區(qū)號來表示邏輯分區(qū)的起始位置及結束位置以外,還可以利用其它的信息來表示,例如,起始字節(jié)、結束字節(jié)等等?;蛘?,由于分區(qū)表中記載的“偏移量”均是相對于擴展分區(qū)的起始地址的,因此。如果不計算起始扇區(qū)及結束扇區(qū)的物理扇區(qū)號,而是之間利用起始扇區(qū)及結束扇區(qū)的“偏移量”來判斷邏輯扇區(qū)之間是否存在分區(qū)重疊也是可以的,這里不再贅述。另外需要說明的是,在本技術領域中,DOS分區(qū)方案下的邏輯分區(qū)只是磁盤分區(qū)的一種,其他的磁盤分區(qū)類型各有其相關信息獲取方法,在此不再贅述。S103 根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作。具體實現(xiàn)時,如果判斷出分區(qū)之間存在分區(qū)重疊的現(xiàn)象,具體在執(zhí)行對磁盤分區(qū)的擦除操作時可以有多種實現(xiàn)方式。例如,在其中一種實現(xiàn)方式下,可以是只要某分區(qū)A與分區(qū)B之間存在分區(qū)重疊,并且分區(qū)A是分區(qū)B的上一分區(qū),則直接將分區(qū)A跳過不擦,僅對其他與下一分區(qū)之間不存在分區(qū)重疊的分區(qū)執(zhí)行擦除操作。或者,在另一種實現(xiàn)方式下,如果某分區(qū)A與其下一分區(qū)B之間存在分區(qū)重疊,也還可以對分區(qū)A執(zhí)行擦除操作,只是需要將與分區(qū)B發(fā)生了重疊的部分跳過不擦,即可避免擦除之后造成分區(qū)B的丟失。在這種方式下,具體實現(xiàn)時,可以首先確定出當前分區(qū)與下一分區(qū)之間的重疊區(qū)域(也即確定出兩個分區(qū)具體在哪些扇區(qū)上存在重疊,例如,前述例子中分區(qū)A與分區(qū)B之間的重疊區(qū)域就是第97至第99扇區(qū)),然后在對當前分區(qū)執(zhí)行擦除操作時,跳過該重疊區(qū)域,僅擦除當前分區(qū)中除該重疊區(qū)域以外的區(qū)域即可。這里需要說明的是,由于磁盤擦除工具的作用就是防止磁盤中已刪除的數(shù)據(jù)被恢復,因此,在傳統(tǒng)的磁盤擦除器中,在默認的情況下,都是指擦除的剩余空間(也就是說除了現(xiàn)有文件所在的數(shù)據(jù)區(qū)以外的數(shù)據(jù)區(qū),尤其是已刪除文件對應的數(shù)據(jù)區(qū))。所以在本發(fā)明實施例中,所謂的“當前分區(qū)中重疊區(qū)域以外的區(qū)域”就是指當前分區(qū)的剩余空間,除重疊區(qū)域以外的區(qū)域。當然,在實際應用中,如果用戶需要對磁盤進行全盤擦除,也即,連同現(xiàn)有未刪除文件所在的數(shù)據(jù)區(qū)一起進行刪除,也是可以的,在這種情況下,本發(fā)明實施例中的“當前分區(qū)中重疊區(qū)域 以外的區(qū)域”就可以指整個當前分區(qū)中除重疊區(qū)域以外的區(qū)域。在進行具體的擦除操作時,可以通過將需要擦除的區(qū)域一次或反復寫入隨機數(shù)、 全部置0或置1等方式實現(xiàn)。其中,如果是連同現(xiàn)有文件一起擦除,則在擦除現(xiàn)有文件或者文件夾時,可以首先用隨機數(shù)據(jù)按一定次數(shù)復寫文件,根據(jù)需要再把數(shù)據(jù)區(qū)清零。然后隨機對文件或文件夾改名一定次數(shù),這樣從MFT或者FAT文件表中不能通過原始文件名找到原始文件,再將文件大小改為0。然后再把MFT或者FAT文件表中文件索引信息清零,使文件在MFT或者FAT文件表的特性被破壞,增加了恢復的難度。最后再刪除這個文件,從而保證用戶的隱私安全。如果是擦除磁盤的剩余空間,就可以直接在磁盤中用隨機生成的數(shù)據(jù),根據(jù)用戶選擇的次數(shù),寫臨時文件,直到寫滿需要擦除的區(qū)域,把需要擦除的區(qū)域全部覆蓋, 然后再刪除這些臨時文件。這樣,已經(jīng)刪除的文件的數(shù)據(jù),就會被全部復寫,不能再被恢復。其中,F(xiàn)AT格式因為最大支持4GB大小的文件,所以,根據(jù)需要擦除的區(qū)域大小,擦除時可能生成多個臨時文件。例如假設需要擦除的區(qū)域為10GB,則可能會生成3個文件 兩個4GB的文件和一個2GB的文件。而對于NTFS格式,因為支持大文件,最大可支持64GB, 因此寫入的臨時文件數(shù)量會相對少一些。另外,本發(fā)明實施例所述的擦除磁盤的方法,既針對用戶選擇單一磁盤分區(qū)進行的擦除操作,也適用于用戶選擇多個磁盤分區(qū)進行的批量擦除操作。之所以如此,是因為當用戶選擇多個磁盤分區(qū)進行批量擦除的操作時,無論是順序執(zhí)行單個的磁盤擦除,或者執(zhí)行多個磁盤的擦除,都可被分解為對單一磁盤分區(qū)的擦除作業(yè)的子任務,因此,上述情況皆屬于本發(fā)明的保護范圍。與本發(fā)明實施例提供的磁盤擦除方法相對應,本發(fā)明實施例還提供了一種擦除磁盤的裝置,參見圖2,該裝置可以包括
分區(qū)信息獲取單元201,用于當需要對磁盤當前分區(qū)執(zhí)行擦除操作時,獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息;
判斷單元202,用于根據(jù)所述分區(qū)信息,判斷當前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重疊;
擦除單元203,用于根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作。具體實現(xiàn)時,分區(qū)信息獲取單元具體用于
獲取當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號,以及下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號;
所述判斷單元具體用于
判斷當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號是否大于其下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號,如果是,則當前分區(qū)與其下一分區(qū)之間存在分區(qū)重疊。如果當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊,則在一種實現(xiàn)方式下,擦除單元203 可以包括
重疊區(qū)域確定子單元,用于在當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊時,確定當前分區(qū)與下一分區(qū)之間的重疊區(qū)域;
第一刪除子單元,用于在對當前分區(qū)執(zhí)行擦除操作時,跳過所述重疊區(qū)域,僅擦除當前分區(qū)中除所述重疊區(qū)域以外的區(qū)域?;蛘?,在另一種實現(xiàn)方式下,擦除單元203也可以包括第二刪除子單元,用于在當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊時,跳過當前分區(qū),僅對除當前分區(qū)以外的其他分區(qū)進行擦除操作。其中,擦除單元203具體用于
當需要對磁盤 當前分區(qū)進行擦除操作時,通過向擦除區(qū)域內(nèi)寫入隨機數(shù),來擦除磁盤。通過本發(fā)明實施例提供的磁盤擦除裝置,可以在執(zhí)行具體的磁盤擦除操作之前, 首先判斷磁盤分區(qū)之間是否存在分區(qū)重疊的現(xiàn)象,并根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作。因此,在擦除磁盤的過程中,能夠有效保護磁盤分區(qū)信息,進而保護了用戶的數(shù)據(jù)安全。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備 (可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置或系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置及系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。以上對本發(fā)明所提供的擦除磁盤的方法及裝置,進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。
權利要求
1.一種擦除磁盤的方法,其特征在于,包括當需要對磁盤當前分區(qū)執(zhí)行擦除操作時,獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息;根據(jù)所述分區(qū)信息,判斷當前分 區(qū)與其下一分區(qū)之間是否存在分區(qū)重疊; 根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作。
2.根據(jù)權利要求1所述的方法,其特征在于,所述獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息包括獲取當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號,以及下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號;所述根據(jù)所述分區(qū)信息,判斷當前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重疊包括 判斷當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號是否大于其下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號,如果是,則當前分區(qū)與其下一分區(qū)之間存在分區(qū)重疊。
3.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作包括如果當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊,則確定當前分區(qū)與下一分區(qū)之間的重疊區(qū)域;在對當前分區(qū)執(zhí)行擦除操作時,跳過所述重疊區(qū)域,僅擦除當前分區(qū)中除所述重疊區(qū)域以外的區(qū)域。
4.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作包括如果當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊,跳過當前分區(qū),僅對除當前分區(qū)以外的其他分區(qū)進行擦除操作。
5.根據(jù)權利要求1所述的方法,其特征在于,所述對磁盤當前分區(qū)的擦除操作包括 當需要對磁盤當前分區(qū)進行擦除操作時,通過向擦除區(qū)域內(nèi)寫入隨機數(shù),來擦除磁盤。
6.一種擦除磁盤的裝置,其特征在于,包括分區(qū)信息獲取單元,用于當需要對磁盤當前分區(qū)執(zhí)行擦除操作時,獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息;判斷單元,用于根據(jù)所述分區(qū)信息,判斷當前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重疊;擦除單元,用于根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作。
7.根據(jù)權利要求6所述的裝置,其特征在于,所述分區(qū)信息獲取單元用于獲取當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號,以及下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號;所述判斷單元具體用于判斷當前分區(qū)所在的結束扇區(qū)的物理扇區(qū)號是否大于其下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號,如果是,則當前分區(qū)與其下一分區(qū)之間存在分區(qū)重疊。
8.根據(jù)權利要求1所述的裝置,其特征在于,所述擦除單元包括重疊區(qū)域確定子單元,用于在當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊時,確定當前分區(qū)與下一分區(qū)之間的重疊區(qū)域;第一刪除子單元,用于在對當前分區(qū)執(zhí)行擦除操作時,跳過所述重疊區(qū)域,僅擦除當前分區(qū)中除所述重疊區(qū)域以外的區(qū)域。
9.根據(jù)權利要求1所述的裝置,其特征在于,所述擦除單元包括第二刪除子單元,用于在當前分區(qū)與下一分區(qū)之間存在分區(qū)重疊時,跳過當前分區(qū),僅對除當前分區(qū)以外的其他分區(qū)進行擦除操作。
10.根據(jù)權利要求1所述的裝置,其特征在于,所述擦除單元具體用于當需要對磁盤當前分區(qū)進行擦除操作時,通過向擦除區(qū)域內(nèi)寫入隨機數(shù),來擦除磁盤。
全文摘要
本發(fā)明公開了一種擦除磁盤的方法及裝置,其中,所述方法包括當需要對磁盤當前分區(qū)執(zhí)行擦除操作時,獲取磁盤當前分區(qū)以及其下一分區(qū)的分區(qū)信息;根據(jù)所述分區(qū)信息,判斷當前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重疊;根據(jù)判斷結果,確定針對磁盤當前分區(qū)的擦除操作。通過本發(fā)明,在擦除磁盤的過程中,能夠有效保護磁盤分區(qū)信息,進而保護了用戶的數(shù)據(jù)安全。
文檔編號G06F12/16GK102354302SQ201110298720
公開日2012年2月15日 申請日期2011年9月28日 優(yōu)先權日2011年9月28日
發(fā)明者于天佐, 劉科, 唐智, 陸坡, 陳佃曉, 陳耀攀 申請人:奇智軟件(北京)有限公司