專利名稱:計(jì)算機(jī)硬盤文件固化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)硬盤文件的固化方法,用以防止計(jì)算機(jī)病毒及人為因素對(duì)計(jì)算機(jī)文件造成的破壞。
硬盤是計(jì)算機(jī)系統(tǒng)最常用的數(shù)據(jù)存儲(chǔ)介質(zhì)。目前對(duì)硬盤數(shù)據(jù)安全性最大的威脅來(lái)自計(jì)算機(jī)病毒(以下簡(jiǎn)稱病毒)的破壞。為抵御病毒對(duì)計(jì)算機(jī)系統(tǒng)的侵蝕,人們開發(fā)了多種抗病毒產(chǎn)品,按其抗病毒的機(jī)理可分為以下兩類1、查病毒/殺病毒系統(tǒng)這類產(chǎn)品一般都基于這樣的思想定義一個(gè)已知病毒的集合,提取集合中病毒特征,由此制定病毒代碼的判斷標(biāo)準(zhǔn),根據(jù)該標(biāo)準(zhǔn)對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行檢測(cè),提示可能出現(xiàn)的病毒,并在可能的情況下清除病毒。但Cohen原理指出通過(guò)有限步驟不可能證明一段程序代碼的合法性。這意味著不可能找到一種能檢測(cè)所有病毒的標(biāo)準(zhǔn)。另外,被病毒破壞的文件大部分不可能恢復(fù),因此查病毒/殺病毒系統(tǒng)不能確保硬盤文件不被破壞。
2、硬盤固化系統(tǒng)這類產(chǎn)品一般是通過(guò)取消對(duì)硬盤某分區(qū)的所有寫盤操作,使該分區(qū)數(shù)據(jù)固化。它可確保被固化分區(qū)文件不被破壞。這類產(chǎn)品不足之處是被固化分區(qū)不能再進(jìn)行寫盤操作,導(dǎo)致系統(tǒng)與DOS的兼容性較差,需要?jiǎng)?chuàng)建臨時(shí)文件的軟件系統(tǒng)難于在該分區(qū)正常運(yùn)行。給用戶帶來(lái)了極大不便。
本發(fā)明的目的是提供一種針對(duì)硬盤上文件進(jìn)行固化的方法。該方法可確保被固化的文件不被破壞,同時(shí)非固化區(qū)域可被用戶自由讀/寫,保證了與DOS兼容性。
本發(fā)明在硬盤數(shù)據(jù)分類存貯的基礎(chǔ)上對(duì)硬盤數(shù)據(jù)進(jìn)行二級(jí)分類處理,該硬盤數(shù)據(jù)存放區(qū)域分為硬盤主引導(dǎo)區(qū)、分區(qū)引導(dǎo)區(qū)、FAT表、FAT備份、目錄區(qū)及數(shù)據(jù)區(qū)等六類,數(shù)據(jù)在硬盤的存放以文件形式進(jìn)行,每個(gè)文件由文件名、文件分配簇號(hào)形成的鏈表,分散在各簇的數(shù)據(jù)等三部分組成,它們分別位于硬盤的目錄區(qū)、FAT表、數(shù)據(jù)區(qū)。本發(fā)明對(duì)硬盤進(jìn)行二級(jí)分類處理,將待固化的文件名移至目錄區(qū)的前端,將待固化文件分配簇號(hào)形成的鏈表移至FAT表的前端,將待固化文件分散在相應(yīng)各簇的數(shù)據(jù)移至數(shù)據(jù)區(qū)的前端,在此分類基礎(chǔ)上,監(jiān)視主機(jī)對(duì)硬盤的I/O請(qǐng)求,取消對(duì)硬盤的格式化操作,取消對(duì)固化文件所占區(qū)域的寫盤操作,具體步驟是先按下列程序?qū)τ脖P數(shù)據(jù)二級(jí)分類1、將硬盤的主引導(dǎo)扇區(qū)定義為集合So;2、將分區(qū)C的引導(dǎo)扇區(qū)定義為集合C1;3、將需固化的文件在FAT表中所對(duì)應(yīng)的簇號(hào)移至FAT表的前端,隨后添加若干個(gè)FFF9使其正好占據(jù)整數(shù)個(gè)扇區(qū),將這些扇區(qū)追加至集合C1;4、將FAT表中剩余扇區(qū)定義為集合C2;5、將需固化的文件在FAT備份表中所對(duì)應(yīng)的簇號(hào)移至FAT備份表的前端,隨后添加若個(gè)FFF9使其正好占據(jù)整數(shù)個(gè)扇區(qū),將這些扇區(qū)定義為集合C3;6、將FAT備份表中剩余扇區(qū)定義為集合C4;7、將需固化的文件在目錄區(qū)所對(duì)應(yīng)的文件名移至目錄區(qū)的前端,隨后添加若干個(gè)隱含文件使其正好占據(jù)整數(shù)個(gè)扇區(qū),將這些扇區(qū)定義為集合C5;8、將根目錄區(qū)的剩余扇區(qū)定義為集合C6;9、將需固化的文件在數(shù)據(jù)區(qū)中所對(duì)應(yīng)的扇區(qū)移至文件數(shù)據(jù)的前端,將這些扇區(qū)定義為集合C7;
10、將數(shù)據(jù)區(qū)的剩余扇區(qū)定義為集合C8;11、對(duì)分區(qū)D、E、F、等邏輯盤的二級(jí)分類,只要重復(fù)2-10步驟,集合名分別為D1-D8、E1-E8、F1-F8;12、計(jì)算各集合終止扇區(qū)的邏輯扇區(qū)號(hào),依次放入數(shù)組IDT中;在上述二級(jí)分類的基礎(chǔ)上,監(jiān)視主機(jī)對(duì)硬盤的I/O請(qǐng)求,取消硬盤的格式化操作,并對(duì)寫盤操作執(zhí)行如下步驟1、計(jì)算指定寫入的邏輯扇區(qū)號(hào);2、根據(jù)數(shù)組IDT判斷該扇區(qū)所屬的集合;3、若該扇區(qū)屬于集合So,取消寫操作,返回;4、若該扇區(qū)屬于集合Cn(或Dn,En,F(xiàn)n)且n為奇數(shù),取消寫操作,返回;5、若該扇區(qū)屬于集合Cn(或Dn,En,F(xiàn)n)且n為偶數(shù),執(zhí)行正常寫操作。
采用本發(fā)明提出的對(duì)硬盤文件固化的方法,由于只取消被固化文件所占區(qū)域的任何寫操作,硬盤的剩余空間仍可自由讀/寫,因而能確保被固化的文件不被破壞,使病毒及人為誤操作無(wú)法改寫被固化的文件,同時(shí)又不影響在硬盤的剩余空間進(jìn)行正常的文件操作,保證了與DOS系統(tǒng)的充分兼容,各類軟件均可在固化后的硬盤上正常運(yùn)行。采用本發(fā)明的方法,還可在恢復(fù)硬盤正常引導(dǎo)記錄的同時(shí),將硬盤引導(dǎo)記錄固化,達(dá)到徹底清除并確保不再感染引導(dǎo)型病毒的目的。
下面結(jié)合
本發(fā)明的實(shí)施例。
圖1是本實(shí)施例硬盤數(shù)據(jù)分類存儲(chǔ)結(jié)構(gòu)圖,圖2是經(jīng)二級(jí)分類處理后的硬盤數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)圖;圖3是監(jiān)視I/O請(qǐng)求的流程圖。
如圖1所示,設(shè)硬盤中有WA,WC,WD,RA,RB,RC共七個(gè)文件,F(xiàn)RA1、FRA2、FRA3、FRAE表示文件RA在FAT表及FAT備份表中所對(duì)應(yīng)的簇號(hào),F(xiàn)WA1、FWA2、FWA3、FWA4、FWAE表示文件WA在FAT表及FAT備份表中所對(duì)應(yīng)的簇號(hào),余類推。FRA1、FRA2、FRA3、FRAE表示文件RA存放在文件數(shù)據(jù)區(qū)對(duì)應(yīng)簇的數(shù)據(jù),DRA1、DRA2、DRA3、DRA4、DRAE表示文件FA存放在文件數(shù)據(jù)區(qū)對(duì)應(yīng)簇的數(shù)據(jù),余類推。
本實(shí)施例擬對(duì)文件RA、RB、RC固化,首先對(duì)硬盤上的數(shù)據(jù)進(jìn)行二級(jí)分類,分類后的數(shù)據(jù)排列如圖2所示,F(xiàn)FF9是使集合C1、C3正好占據(jù)整數(shù)個(gè)扇區(qū)而填充的數(shù)據(jù),HA、HB、HC、HD是使集合C5正好占據(jù)整數(shù)個(gè)扇區(qū)而填充的文件名。分別計(jì)算C1、C2、C3、C4、C5、C6、C7、C8各集合終止扇區(qū)的邏輯扇區(qū)號(hào),依次放入數(shù)組IDT中。
在對(duì)硬盤數(shù)據(jù)進(jìn)行二級(jí)分類,建立數(shù)組IDT的基礎(chǔ)上,通過(guò)監(jiān)視主機(jī)對(duì)硬盤的I/O請(qǐng)求,取消對(duì)硬盤的格式化操作,取消對(duì)固化文件所占區(qū)域的寫盤操作,確保被固化文件不被改寫,其流程如圖3所示。圖中IDT[1]為集合C1的終止扇區(qū)號(hào),IDT[2]為集合C2的終止扇區(qū)號(hào),……,IDT[8]為集合C8的終止扇區(qū)號(hào)。
當(dāng)GPU對(duì)硬盤有I/O請(qǐng)求時(shí),首先判斷是否為格式化操作,若是,硬盤復(fù)位,返回。若否,進(jìn)一步斷是否為寫盤操作,若否,執(zhí)行正常執(zhí)行正常硬盤I/O操作,返回。若為寫盤操作,計(jì)算所寫扇區(qū)是否為固化文件所占區(qū)域,若是,硬盤復(fù)位,返回。若否,執(zhí)行正常執(zhí)行正常硬盤I/O操作,返回。
權(quán)利要求
計(jì)算機(jī)硬盤文件固化方法,其特征是在硬盤數(shù)據(jù)分類存儲(chǔ)的基礎(chǔ)上,先按下列程序?qū)τ脖P數(shù)據(jù)二級(jí)分類1、將硬盤的主引導(dǎo)扇區(qū)定義為集合So;2、將分區(qū)C的引導(dǎo)扇區(qū)定義為集合C1;3、將需固化的文件在FAT表中所對(duì)應(yīng)的簇號(hào)移至FAT表的前端,隨后添加若干個(gè)FFF9使其正好占據(jù)整數(shù)個(gè)扇區(qū),將這些扇區(qū)追加至集合C1;4、將FAT表中剩余扇區(qū)定義為集合C2;5、將需固化的文件在FAT備份表中所對(duì)應(yīng)的簇號(hào)移至FAT備份表的前端,隨后添加若個(gè)FFF9使其正好占據(jù)整數(shù)個(gè)扇區(qū),將這些扇區(qū)定義為集合C3;6、將FAT備份表中剩余扇區(qū)定義為集合C4;7、將需固化的文件在目錄區(qū)所對(duì)應(yīng)的文件名移至目錄區(qū)的前端,隨后添加若干個(gè)隱含文件使其正好占據(jù)整數(shù)個(gè)扇區(qū),將這些扇區(qū)定義為集合C5;8、將目錄區(qū)的剩余扇區(qū)定義為集合C6;9、將需固化的文件在數(shù)據(jù)區(qū)中所對(duì)應(yīng)的扇區(qū)移至文件數(shù)據(jù)的前端,將這些扇區(qū)定義為集合C7;10、將數(shù)據(jù)區(qū)的剩余扇區(qū)定義為集合C8;11、對(duì)分區(qū)D、E、F、等邏輯盤的二級(jí)分類,只要重復(fù)2-10步驟,集合名分別為D1-D8、E1-E8、F1-F8;12、計(jì)算各集合終止扇區(qū)的邏輯扇區(qū)號(hào),依次放入數(shù)組IDT中;
在上述二級(jí)分類基礎(chǔ)上,監(jiān)視主機(jī)對(duì)硬盤的I/O請(qǐng)求,取消硬盤的格式化操作,并對(duì)寫操作執(zhí)行如下步驟1、計(jì)算指定寫入的邏輯扇區(qū)號(hào);2、根據(jù)數(shù)組IDT判斷該扇區(qū)所屬的集合;3、若該扇區(qū)屬于集合So,取消寫操作,返回;4、若該扇區(qū)屬于集合Cn(或Dn,En,F(xiàn)n)且n為奇數(shù),取消寫操作,返回;5、若該扇區(qū)屬于集合Cn(或Dn,En,F(xiàn)n)且n為偶數(shù),執(zhí)行正常寫操作。
全文摘要
本發(fā)明涉及一種計(jì)算機(jī)硬盤文件固化方法,用于防止計(jì)算機(jī)病毒或人為因素對(duì)計(jì)算機(jī)文件的破壞。它通過(guò)硬盤文件的二級(jí)分類,將待固化的文件名移至目錄區(qū)的前端,將固化文件分配簇號(hào)形成的鏈表移至FAT表的前端,將待固化文件分散在相應(yīng)各簇的數(shù)據(jù)移至數(shù)據(jù)區(qū)的前端,監(jiān)視主機(jī)對(duì)盤的I/O請(qǐng)求,取消對(duì)硬盤的格式化操作及固化文件所占區(qū)域的寫盤操作,使被固化文件免遭病毒的破壞,而硬盤的剩余空間仍可進(jìn)行正常的文件操作。
文檔編號(hào)G06F13/00GK1142080SQ95110940
公開日1997年2月5日 申請(qǐng)日期1995年2月17日 優(yōu)先權(quán)日1995年2月17日
發(fā)明者羅建平, 魏海明, 陳評(píng) 申請(qǐng)人:羅建平, 魏海明, 陳評(píng)