最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種擦除磁盤的方法及裝置的制作方法

文檔序號(hào):6434675閱讀:341來(lái)源:國(guó)知局
專利名稱:一種擦除磁盤的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種擦除磁盤的方法與裝置。
背景技術(shù)
隨著時(shí)代的進(jìn)步和計(jì)算機(jī)應(yīng)用的普及,人們對(duì)計(jì)算機(jī)設(shè)備的使用越來(lái)越頻繁。在日常應(yīng)用中,用戶經(jīng)常需要將大量的數(shù)據(jù)保存于個(gè)人計(jì)算機(jī)中,同時(shí),用戶還可能經(jīng)常需要對(duì)包含個(gè)人數(shù)據(jù)的文件進(jìn)行刪除操作。但是,用戶做的一般的刪除操作只是將文件放入回收站,然后清空回收站,或者不放入回收站而直接刪除,比如在Windows操作系統(tǒng)中使用 shift + delete組合鍵對(duì)文件進(jìn)行刪除。然而,用戶做的這些刪除操作,映射到系統(tǒng)層次,往往是由操作系統(tǒng)完成這樣一系列動(dòng)作在主文件表中給文件增加一個(gè)的已刪除標(biāo)識(shí)符,然后將此文件所在的數(shù)據(jù)區(qū)域設(shè)置為可寫狀態(tài)。這樣,用戶在人機(jī)交互界面中,比如Windows操作系統(tǒng)的資源管理器里,就看不到該文件的信息了,這就是對(duì)文件進(jìn)行一般刪除的過(guò)程。而實(shí)際上,在作為物理存儲(chǔ)介質(zhì)的磁盤上,仍然保留著該文件的文件信息以及數(shù)據(jù)內(nèi)容,這樣就給必要時(shí)恢復(fù)原有數(shù)據(jù)提供了可能,同時(shí),也給用戶數(shù)據(jù)泄露留下了隱患。由于以上所述的原因,用戶有時(shí)希望徹底刪除需要?jiǎng)h除的數(shù)據(jù),使被刪除的數(shù)據(jù)具有不可恢復(fù)的特性。此時(shí),除了一般刪除操作,用戶還會(huì)使用一種能夠擦除磁盤的應(yīng)用, 將需要?jiǎng)h除的數(shù)據(jù)徹底清除,使被刪除的數(shù)據(jù)不可被恢復(fù),從而降低用戶數(shù)據(jù)泄露的可能性。但在以往的擦除磁盤應(yīng)用過(guò)程中,有時(shí)會(huì)出現(xiàn)磁盤分區(qū)丟失,導(dǎo)致用戶數(shù)據(jù)丟失的情況,危害了用戶的數(shù)據(jù)安全。綜上所述,迫切需要本領(lǐng)域技術(shù)人員解決的技術(shù)問(wèn)題就在于,在用戶進(jìn)行擦除磁盤操作時(shí),如何提供一種安全擦除磁盤的工具,使用戶在執(zhí)行擦除磁盤的過(guò)程中,避免磁盤分區(qū)丟失,進(jìn)而避免用戶數(shù)據(jù)丟失。

發(fā)明內(nèi)容
本發(fā)明提供了一種擦除磁盤的方法及裝置,能夠在執(zhí)行磁盤擦除的過(guò)程中,有效保護(hù)磁盤分區(qū)信息,進(jìn)而保護(hù)用戶的數(shù)據(jù)安全。本發(fā)明提供了如下方案 一種擦除磁盤的方法,包括
當(dāng)需要對(duì)磁盤當(dāng)前分區(qū)執(zhí)行擦除操作時(shí),獲取磁盤當(dāng)前分區(qū)以及其下一分區(qū)的分區(qū)信
息;
根據(jù)所述分區(qū)信息,判斷當(dāng)前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重疊; 根據(jù)判斷結(jié)果,確定針對(duì)磁盤當(dāng)前分區(qū)的擦除操作。其中,所述獲取磁盤當(dāng)前分區(qū)以及其下一分區(qū)的分區(qū)信息包括
獲取當(dāng)前分區(qū)所在的結(jié)束扇區(qū)的物理扇區(qū)號(hào),以及下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號(hào);所述根據(jù)所述分區(qū)信息,判斷當(dāng)前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重疊包括 判斷當(dāng)前分區(qū)所在的結(jié)束扇區(qū)的物理扇區(qū)號(hào)是否大于其下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號(hào),如果是,則當(dāng)前分區(qū)與其下一分區(qū)之間存在分區(qū)重疊。其中,所述根據(jù)判斷結(jié)果,確定針對(duì)磁盤當(dāng)前分區(qū)的擦除操作包括
如果當(dāng)前分區(qū)與下一分區(qū)之間存在分區(qū)重疊,則確定當(dāng)前分區(qū)與下一分區(qū)之間的重疊區(qū)域;
在對(duì)當(dāng)前分區(qū)執(zhí)行擦除操作時(shí),跳過(guò)所述重疊區(qū)域,僅擦除當(dāng)前分區(qū)中除所述重疊區(qū)域以外的區(qū)域。其中,所述根據(jù)判斷結(jié)果,確定針對(duì)磁盤當(dāng)前分區(qū)的擦除操作包括
如果當(dāng)前分區(qū)與下一 分區(qū)之間存在分區(qū)重疊,跳過(guò)當(dāng)前分區(qū),僅對(duì)除當(dāng)前分區(qū)以外的其他分區(qū)進(jìn)行擦除操作。其中,所述對(duì)磁盤當(dāng)前分區(qū)的擦除操作包括
當(dāng)需要對(duì)磁盤當(dāng)前分區(qū)進(jìn)行擦除操作時(shí),通過(guò)向擦除區(qū)域內(nèi)寫入隨機(jī)數(shù),來(lái)擦除磁盤。
一種擦除磁盤的裝置,包括
分區(qū)信息獲取單元,用于當(dāng)需要對(duì)磁盤當(dāng)前分區(qū)執(zhí)行擦除操作時(shí),獲取磁盤當(dāng)前分區(qū)以及其下一分區(qū)的分區(qū)信息;
判斷單元,用于根據(jù)所述分區(qū)信息,判斷當(dāng)前分區(qū)與其下一分區(qū)之間是否存在分區(qū)重
疊;
擦除單元,用于根據(jù)判斷結(jié)果,確定針對(duì)磁盤當(dāng)前分區(qū)的擦除操作。其中,所述分區(qū)信息獲取單元用于
獲取當(dāng)前分區(qū)所在的結(jié)束扇區(qū)的物理扇區(qū)號(hào),以及下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號(hào);
所述判斷單元具體用于
判斷當(dāng)前分區(qū)所在的結(jié)束扇區(qū)的物理扇區(qū)號(hào)是否大于其下一分區(qū)所在的起始扇區(qū)的物理扇區(qū)號(hào),如果是,則當(dāng)前分區(qū)與其下一分區(qū)之間存在分區(qū)重疊。其中,所述擦除單元包括
重疊區(qū)域確定子單元,用于在當(dāng)前分區(qū)與下一分區(qū)之間存在分區(qū)重疊時(shí),確定當(dāng)前分區(qū)與下一分區(qū)之間的重疊區(qū)域;
第一刪除子單元,用于在對(duì)當(dāng)前分區(qū)執(zhí)行擦除操作時(shí),跳過(guò)所述重疊區(qū)域,僅擦除當(dāng)前分區(qū)中除所述重疊區(qū)域以外的區(qū)域。其中,所述擦除單元包括
第二刪除子單元,用于在當(dāng)前分區(qū)與下一分區(qū)之間存在分區(qū)重疊時(shí),跳過(guò)當(dāng)前分區(qū),僅對(duì)除當(dāng)前分區(qū)以外的其他分區(qū)進(jìn)行擦除操作。其中,所述擦除單元具體用于
當(dāng)需要對(duì)磁盤當(dāng)前分區(qū)進(jìn)行擦除操作時(shí),通過(guò)向擦除區(qū)域內(nèi)寫入隨機(jī)數(shù),來(lái)擦除磁盤。根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開了以下技術(shù)效果
通過(guò)本發(fā)明,可以在執(zhí)行具體的磁盤擦除操作之前,首先判斷磁盤分區(qū)之間是否存在分區(qū)重疊的現(xiàn)象,并根據(jù)判斷結(jié)果,確定針對(duì)磁盤當(dāng)前分區(qū)的擦除操作。因此,在擦除磁盤的過(guò)程中,能夠有效保護(hù)磁盤分區(qū)信息,進(jìn)而保護(hù)了用戶的數(shù)據(jù)安全。


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