專利名稱:Linux操作系統(tǒng)與Windows操作系統(tǒng)的NTFS分區(qū)數(shù)據(jù)交換的方法及裝置的制作方法
技術領域:
本發(fā)明涉及雙操作系統(tǒng)下的數(shù)據(jù)交換的方法,特別是涉及在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法。
背景技術:
隨著作為服務器和工作站操作系統(tǒng)的選擇之一的Linux操作系統(tǒng)的日益壯大,Linux操作系統(tǒng)的優(yōu)勢不斷的顯露出來,其強大的自由軟件資源,安全無病毒的系統(tǒng)環(huán)境,越來越多的吸引著對系統(tǒng)安全要求較高的商業(yè)用戶和對性價比要求苛刻的個人PC用戶,但由于Linux本身存在的一些限制,如版權問題、有限的辦公、娛樂軟件資源,將Linux操作系統(tǒng)作為PC的通用操作系統(tǒng)(特別是對個人PC用戶)所存在的局限性愈加明顯。相反,當談及多媒體,尤其是視頻編輯以及DVD光盤制作等方面的軟件時,Windows操作系統(tǒng)是一個必不可少的操作系統(tǒng)。對于辦公軟件以及圖像編輯等方面來說,Windows操作系統(tǒng)目前在這方面仍然處于領先地位。
因此,目前一種新的Linux系統(tǒng)的應用逐漸引起大家的興趣,進而推動了Linux的發(fā)展。即,許多專業(yè)用戶使用Windows系統(tǒng)和Linux系統(tǒng)的雙操作系統(tǒng)用以相互補充。針對一臺PC機,以Windows操作系統(tǒng)為主要操作系統(tǒng),用戶可以方便的利用Windows操作系統(tǒng)所提供給大家的強大的應用軟件,方便自己的辦公和學習環(huán)境,同時又利用Linux操作系統(tǒng)來彌補Windows操作系統(tǒng)所帶來的不足,如針對Windows操作系統(tǒng)對病毒防護能力的不足,而且在Windows操作系統(tǒng)本身運行殺毒程序又無法徹底殺死病毒的情況,采用在Linux環(huán)境安裝殺毒軟件的方法,可以在一個完全脫離Windows環(huán)境的操作系統(tǒng)下,徹底的將Windows病毒殺死。這種雙操作系統(tǒng)的結合不僅解決了兩個系統(tǒng)的應用沖突,利用了各個系統(tǒng)的優(yōu)勢,避開了二者的弱點,最大程度上發(fā)揮了各自的功能。眾所周知,F(xiàn)AT16、FAT32、NTFS是目前最常見的三種文件系統(tǒng)。NTFS分區(qū)格式是跟隨Windows NT系統(tǒng)產生的,除了WindowsNT外,Win 2000和Win XP也都支持這種硬盤分區(qū)格式。它顯著的優(yōu)點是安全性和穩(wěn)定性極其出色,在使用中不易產生文件碎片,對硬盤的空間利用及軟件的運行速度都有好處。它能對用戶的操作進行記錄,通過對用戶權限進行非常嚴格的限制,使每個用戶只能按照系統(tǒng)賦予的權限進行操作,充分保護了網絡系統(tǒng)與數(shù)據(jù)的安全。由于NTFS格式具有上述許多獨特的優(yōu)點,其已被很多用戶廣泛的使用。然而NTFS格式也有一個致命的缺點,那就是該磁盤文件格式不能被很多其他操作系統(tǒng)所識別(包括Linux系統(tǒng)),這就對與不識別NTFS格式的系統(tǒng)在NTFS分區(qū)進行數(shù)據(jù)交換造成了很大的影響。
因此,如何使Linux系統(tǒng)訪問Windows系統(tǒng)資源,特別是如何在Linux環(huán)境下訪問Windows的NTFS分區(qū)數(shù)據(jù)的問題已經是上述雙操作系統(tǒng)的使用所面臨的主要問題之一。由于微軟公司并未開放其開發(fā)的NTFS分區(qū)技術內幕,這使得Linux環(huán)境下訪問Windows NTFS分區(qū)數(shù)據(jù)更顯得極為困難。這一問題限制了利用雙系統(tǒng)進一步開發(fā)應用的步伐,也在一定程度上減慢了Linux發(fā)展的步伐。
隨著Linux內核的逐步更新,目前一些Linux標準內核,例如版本號為2.6.9-1.667以上的內核,已經實現(xiàn)對NTFS分區(qū)的有限訪問,該有限訪問包括完全的讀控制和有限的寫控制,但無法對NTFS文件結構進行增加、刪除、改寫文件大小等操作,只能對NTFS現(xiàn)有文件在不改變文件大小的基礎上進行有限的改寫操作,即只能在NTFS現(xiàn)有文件上修改文件內容,而無法修改文件大小和屬性。由于Linux內核對NTFS分區(qū)讀寫的種種限制,使得希望在Linux環(huán)境下向Windows中NTFS分區(qū)存儲數(shù)據(jù)的應用程序無法發(fā)揮其功能。
發(fā)明內容
為了解決Windows操作系統(tǒng)和Linux操作系統(tǒng)利用NTFS分區(qū)進行數(shù)據(jù)互訪以及解決在Linux環(huán)境下的應用程序無法完全訪問NTFS分區(qū)文件數(shù)據(jù)的問題,本發(fā)明提出了一種基于Linux操作系統(tǒng)和Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法和裝置,該方法是基于現(xiàn)有Linux操作系統(tǒng)內核已經實現(xiàn)對NTFS分區(qū)有限訪問的基礎上實現(xiàn)的。該方法使得Windows操作系統(tǒng)和Linux操作系統(tǒng)的NTFS分區(qū)的數(shù)據(jù)可方便的相互訪問,達到Windows和Linux利用NTFS分區(qū)進行充分的數(shù)據(jù)共享的目的。
本發(fā)明的第一方面提出一種在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,該方法主要是在Linux操作系統(tǒng)或Windows操作系統(tǒng)下將某一NTFS分區(qū)上創(chuàng)建一個或多個空文件;在上述的系統(tǒng)中,利用虛擬分區(qū)的技術可將所創(chuàng)建的空文件在各自的系統(tǒng)下加載為一個或多個虛擬設備或虛擬分區(qū),從而使得每個系統(tǒng)的上層應用程序可以實現(xiàn)對各自系統(tǒng)下的虛擬設備或分區(qū)完全的訪問,即可以實現(xiàn)對文件進行建立、刪除、和完全的改寫文件和目錄;再利用虛擬分區(qū)技術將每個系統(tǒng)上層應用程序完全訪問后文件進行卸載,使得另一操作系統(tǒng)通過將該卸載文件利用上述提到的方法,即在本系統(tǒng)下加載為虛擬設備或分區(qū)的方法,從而系統(tǒng)的實現(xiàn)上層應用程序對所加載的虛擬設備或分區(qū)的完全訪問。
其中,上述的方法是基于具有可以實現(xiàn)對NTFS分區(qū)進行有限訪問的Linux內核版本,該有限訪問括完全的讀控制和有限的寫控制,但無法對NTFS文件結構進行增加、刪除、改寫文件大小等操作。
其中,在上述方法中將一文件虛擬為一分區(qū)的方法可以采用loop虛擬分區(qū)技術。
其中,在上述方法中將一文件虛擬為一分區(qū)的方法可以采用自定義的將邏輯文件劃分為分區(qū)的方法。
其中,在上述方法中將一文件虛擬為一分區(qū)的方法可以采用ISO文件。
其中,在上述方法中對文件的完全的訪問是指對文件的完全的讀控制和完全的寫控制。
其中,在上述的方法中所使用的Linux內核版本是2.6.9-1.667以上的版本。
本發(fā)明的另一方面提出了一種實現(xiàn)在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的裝置,該裝置主要包括創(chuàng)建空文件單元和虛擬化單元,其中所述的創(chuàng)建空文件單元用于在Linux操作系統(tǒng)或Windows操作系統(tǒng)的NTFS分區(qū)上創(chuàng)建一個或多個空文件,該空文件的大小根據(jù)實際系統(tǒng)的應用程序的大小而設定。所述的虛擬化單元由包括一加載單元和一卸載單元,所述的加載單元利用虛擬分區(qū)的技術將所創(chuàng)建空文件單元創(chuàng)建的空文件在各自的系統(tǒng)下加載為一個或多個虛擬設備或虛擬分區(qū)。經過加載后的虛擬設備或分區(qū)可以被對各自系統(tǒng)下的每個系統(tǒng)的上層應用程序完全的訪問,即可以實現(xiàn)對文件進行建立、刪除、和完全的改寫文件和目錄等處理。所述的卸載單元用于利用虛擬分區(qū)的技術將每個系統(tǒng)的上層應用程序訪問后的虛擬設備或分區(qū)進行卸載。
其中所述的創(chuàng)建空文件單元還可以包括創(chuàng)建文件單元和格式化單元,所述的格式化單元是對創(chuàng)建文件單元中創(chuàng)建的文件判斷否為空文件以及對不為空的文件執(zhí)行全部清“0”處理并將該文件格式化成系統(tǒng)所需要的數(shù)據(jù)格式。在所述的加載單元中,Linux操作系統(tǒng)下可以使用loop等設備技術將創(chuàng)建空文件單元中創(chuàng)建的文件加載為一虛擬設備或虛擬分區(qū)。在Windows操作系統(tǒng)下需要利用預先開發(fā)的一驅動程序來對上述創(chuàng)建的文件進行加載為Windows操作系統(tǒng)下的一個虛擬設備或分區(qū)。該驅動程序具有如下功能可以創(chuàng)建一個空文件,所創(chuàng)建的空文件文件用于在Linux操作系統(tǒng)下對其以loop文件的形式進行加載,從而可以向該分區(qū)中讀、寫、增、刪、改目錄和文件,而不受Linux內核目前無法改寫NTFS文件大小等的限制,并且在Windows系統(tǒng)下可將一loop文件掛載成虛擬分區(qū),使得Windows應用程序將該loop文件以分區(qū)的形式讀寫,而不必關心它的內部存儲方式。
圖1為本發(fā)明實施例1的在Linux操作系統(tǒng)下與Windows操作系統(tǒng)的NTFS分區(qū)數(shù)據(jù)交換的方法的流程示意圖;圖2為本發(fā)明實施例2的在Linux操作系統(tǒng)下與Windows操作系統(tǒng)的NTFS分區(qū)數(shù)據(jù)交換的方法的流程示意圖;圖3為本發(fā)明的實現(xiàn)在Linux操作系統(tǒng)下與Windows操作系統(tǒng)的NTFS分區(qū)數(shù)據(jù)交換的裝置示意圖。
具體實施例方式
以下給出的本發(fā)明具體實施例,用于對本發(fā)明的內容做更具體的說明。本發(fā)明的實施例主要是基于一臺安裝有雙操作系統(tǒng),即Linux操作系統(tǒng)和Windows操作系統(tǒng)的計算機,并且采用Linux內核對NTFS的有限度支持和Linux操作系統(tǒng)下的成熟技術,結合現(xiàn)有的虛擬分區(qū)技術實現(xiàn)本發(fā)明的目的。其中本實施例中所采用Linux內核是最大限度的解決了Linux操作系統(tǒng)下完全訪問NTFS分區(qū)數(shù)據(jù)的方法,不僅可以讀取NTFS數(shù)據(jù),也可以隨意的向NTFS中寫入、修改、刪除文件和目錄數(shù)據(jù),部分解決了Windows操作系統(tǒng)和Linux操作系統(tǒng)利用NTFS分區(qū)進行數(shù)據(jù)互訪的問題。本實施例中所采用的虛擬技術可以是loop虛擬塊設備技術(也稱虛擬分區(qū)技術),所述的loop虛擬分區(qū)技術是在Linux下可以使用loop技術將一個文件虛擬成一個塊設備,從而可以將該文件加載為Linux下一個分區(qū),進而可以在該文件中建立、刪除、改寫文件和目錄。通過上述技術的結合實現(xiàn)了Linux操作對NTFS的支持功能的擴充,從而達到在Linux操作系統(tǒng)下完全訪問NTFS數(shù)據(jù)的能力,而不再僅限于只對NTFS數(shù)據(jù)進行讀取,修改的功能。由于在Windows系統(tǒng)下,loop虛擬分區(qū)技術的開放性,使其很容易被開發(fā)出讀寫loop文件的工具,從而實現(xiàn)在Windows環(huán)境下讀、寫Linux下存儲的數(shù)據(jù)的目的。很明顯,上述技術的結合克服了現(xiàn)有Linux操作系統(tǒng)內核對NTFS格式下文件的限制性訪問的局限性,實現(xiàn)了Windows操作系統(tǒng)和Linux操作系統(tǒng)下利用NTFS分區(qū)的數(shù)據(jù)共享。
以下將參照附圖對本發(fā)明的具體實施例做更詳盡的描述。
實施例1圖1是裝有上述雙操作系統(tǒng)的計算機,在Linux操作系統(tǒng)下與Windows操作系統(tǒng)的NTFS分區(qū)的數(shù)據(jù)交換的流程示意圖。
首先,在Windows操作系統(tǒng)下執(zhí)行下述的步驟創(chuàng)建空目標文件步驟在Windows操作系統(tǒng)下的某一NTFS分區(qū)創(chuàng)建一個目標文件,并對該目標文件進行格式化處理,使其成為一空目標文件,所述的空目標文件是指文件數(shù)據(jù)全部為“0”的文件。上述格式化處理主是判斷該目標文件是否為空文件以及對不為空的目標文件執(zhí)行全部清“0”處理并將該空的目標文件處理成系統(tǒng)所需要的數(shù)據(jù)格式(實施例中的系統(tǒng)所需要的數(shù)據(jù)格式通常指為下述的虛擬分區(qū)可識別的數(shù)據(jù)格式)。該空目標文件的大小可根據(jù)應用程序的實際需求來設定,所創(chuàng)建的空目標文件數(shù)目也可以根據(jù)實際需要而創(chuàng)建一個或多個。
上述創(chuàng)建空目標文件的方法可以采用一驅動程序來創(chuàng)建,例如利用looptool的方法進行創(chuàng)建,在Windows操作系統(tǒng)下開發(fā)一個這樣的驅動程序(Looptool),該驅動程序具有如下功能可以創(chuàng)建一個空文件并對該空文件格式處理成為系統(tǒng)所需要的數(shù)據(jù)格式,所創(chuàng)建的空文件文件用于在Linux操作系統(tǒng)下對其以loop文件的形式進行加載,從而可以向該分區(qū)中讀、寫、增、刪、改目錄和文件,而不受Linux內核目前無法改寫NTFS文件大小等的限制。而在Windows系統(tǒng)下可將一loop文件掛載成虛擬分區(qū),使得Windows應用程序將該loop文件以分區(qū)的形式讀寫,而不必關心它的內部存儲方式。
形成交換文件步驟當所創(chuàng)建的目標文件經過格式化成為空目標文件后,系統(tǒng)將該空目標文件命名為交換文件。
然后,當計算機切換進入Linux操作系統(tǒng),可以執(zhí)行如下的步驟加載交換文件為虛擬設備或虛擬分區(qū)步驟利用該Linux操作系統(tǒng)內核對NTFS分區(qū)的支持,將上述的交換文件加載為一虛擬設備或一分區(qū)。這里,我們可以采用現(xiàn)有的loop虛擬分區(qū)技術將該加載文件通過命令如mount-oloop test.img/mnt/tmp,(這里,交換文件的名稱為test.img)映射為一虛擬分區(qū)。實際上,將交換文件虛擬為一分區(qū)的方法不僅限于在用loop虛擬分區(qū)技術,還可以采用自定義的將邏輯文件劃分為分區(qū)的方法或其他的方法,如可以采用ISO文件替代loop技術等,這里不再一一列舉。由于Linux內核已經實現(xiàn)了對NTFS分區(qū)中文件的改寫操作,而且loop文檔不會改變的交換文件(test.img文件)的大小(這也剛好符合目前Linux內核版本2.6.9-1.667對NTFS操作的限制),并且支持所有的文件目錄操作,因此這時Linux操作系統(tǒng)可以對所加載的虛擬分區(qū)實現(xiàn)完全的增、刪、改等文件和目錄等操作。
Linux操作系統(tǒng)的上層應用程序的完全訪問步驟在已經成功完成上述的加載交換文件為虛擬設備或虛擬分區(qū)步驟后,Linux操作系統(tǒng)的上層應用程序可以直接讀寫上述的加載的虛擬設備或分區(qū)數(shù)據(jù),從而達到完全訪問,而不需要考慮該設備或分區(qū)是否為NTFS結構。
卸載虛擬設備或分區(qū)步驟當Linux操作系統(tǒng)的上層應用程序完全訪問后,卸載上述的虛擬設備或分區(qū),這里可以使用loop tool來卸載該虛擬分區(qū)。
最后,當計算機重新切換進入Windows操作系統(tǒng)下,可執(zhí)行如下步驟加載交換文件為虛擬設備或分區(qū)步驟,Windows操作系統(tǒng)的上層應用程序的完全訪問和卸載虛擬設備或分區(qū)步驟,這些步驟與Linux操作系統(tǒng)下所執(zhí)行的步驟大致相同。
加載交換文件為虛擬設備或分區(qū)步驟將上述的形成交換文件步驟中的交換文件加載為一虛擬設備或一分區(qū)。具體到將交換文件加載為虛擬設備或分區(qū)的方法可以利用上述所開發(fā)的驅動程序來實現(xiàn),將該交換文件掛載為Windows操作系統(tǒng)下的一個分區(qū)。
Windows操作系統(tǒng)的上層應用程序的完全訪問步驟在已經成功完成上述的交換文件加載為虛擬設備或分區(qū)驟后,Windows操作系統(tǒng)的上層應用程序可以直接讀取Linux操作系統(tǒng)的應用程序傳入的文件數(shù)據(jù),也可以向其內寫入文件數(shù)據(jù)。
卸載虛擬設備或分區(qū)步驟當Windows操作系統(tǒng)的上層應用程序完全訪問后,卸載上述的虛擬設備或分區(qū),這里可以使用loop tool卸載該虛擬分區(qū)。
實施例2實施例2與實施例1的基本結構和具體方法很近似,這里僅對不同之處進行描述,相同的部分就不在重復。
與上述實施例1的不同僅在于如圖2所示,首先,計算機在Linux操作系統(tǒng)下實現(xiàn)上述的創(chuàng)建空目標文件,形成交換文件等步驟,至于上述步驟的實現(xiàn)以及其他的步驟與實施例1的內容相同??梢姡鲜龅牟襟E是需要在Windows操作系統(tǒng)還是Linux操作系統(tǒng)下完成可以根據(jù)實際的需求情況而任意設定,這里并沒有嚴格的限制。
另外,實施例1和實施例2中,計算機是先切換進入Linux操作系統(tǒng)進行加載交換文件為虛擬設備或虛擬分區(qū)步驟,上層應用程序完全訪問步驟以及卸載分區(qū)步驟等操作還是先切換進入Windows操作系統(tǒng)執(zhí)行相應的操作,也可以根據(jù)具體的實際需求而任意設定,這里不做嚴格的限制。
以上的實施例中所描述采用的loop虛擬分區(qū)技術也可以采用自定義的將邏輯文件劃分為分區(qū)的方法或其他方法,即只要可以將一個文件映射為分區(qū)的方法都可以使用,如可以采用ISO文件替代loop技術。
以上實施例中在Windows操作系統(tǒng)下的創(chuàng)建空目標文件步驟中所描述的采用驅動程序(Loop tool)制作空文件的方法也可以使用其他可以生成空文件的工具代替,如可以使用WinISO等虛擬光驅軟件創(chuàng)建空文件。
以上實施例中在Windows操作系統(tǒng)下的加載交換文件為虛擬設備或分區(qū)步驟中所采用驅動(Loop tool)加載交換文件的方法也可以使用其他可以識別并加載該交換文件成Windows下分區(qū)的方法實現(xiàn),如除了采用ISO文件以外,可以采用虛擬光驅創(chuàng)建文件的技術。
如圖3所示為本發(fā)明實現(xiàn)在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的裝置。
該裝置主要包括創(chuàng)建空文件單元和虛擬化單元,其中所述的創(chuàng)建空文件單元用于在Linux操作系統(tǒng)或Windows操作系統(tǒng)的NTFS分區(qū)上創(chuàng)建一個或多個空文件。
所述的虛擬化單元由包括一加載單元和一卸載單元,如圖所示,在Windows操作系統(tǒng)下的W-虛擬化單元,W-加載單元和W-卸載單元,以及在Linux操作系統(tǒng)下的L-虛擬化單元,L-加載單元和L-卸載單元。
所述的加載單元利用虛擬分技術將所創(chuàng)建空文件單元創(chuàng)建的空文件在各自的系統(tǒng)下加載為一個或多個虛擬設備或虛擬分區(qū)。經過加載后的虛擬設備或分區(qū)可以被對各自系統(tǒng)下的每個系統(tǒng)的上層應用程序完全的訪問,即可以實現(xiàn)對文件進行建立、刪除、和完全的改寫文件和目錄等處理。所述的卸載單元用于利用虛擬分區(qū)的技術將每個系統(tǒng)的上層應用程序訪問后的虛擬設備或分區(qū)進行卸載。
其中所述的創(chuàng)建空文件單元還可以包括創(chuàng)建文件單元和格式化單元(圖中未示),所述的格式化單元是對創(chuàng)建文件單元中創(chuàng)建的文件進行格式化處理,使其成為空文件和系統(tǒng)所需要的數(shù)據(jù)格式。
在L-加載單元中,Linux操作系統(tǒng)可以使用loop等設備技術將創(chuàng)建空文件單元中的文件加載為L-虛擬分區(qū)。在W-加載單元中,Windows操作系統(tǒng)中需要利用預先開發(fā)的一驅動程序來對上述的文件進行加載為W-虛擬分區(qū)。該驅動程序可以使用Loop tool工具進行開發(fā),開發(fā)后的程序具有可以創(chuàng)建一個空文件,所創(chuàng)建的空文件文件用于在Linux操作系統(tǒng)下對其以loop文件的形式進行加載,從而可以向該分區(qū)中讀、寫、增、刪、改目錄和文件,而不受Linux內核目前無法改寫NTFS文件大小等的限制,并且在Windows系統(tǒng)下可將一loop文件掛載成虛擬分區(qū),使得Windows應用程序將該loop文件以分區(qū)的形式讀寫,而不必關心它的內部存儲方式的功能。
這里需要說明的是,對于在Linux操作系統(tǒng)的L-加載單元和Windows操作系統(tǒng)下L-加載單元中,各自的系統(tǒng)將選擇哪些交換文件進行加載以及如何選擇所需要的交換文件,在此均不需要做特別的限定。各個系統(tǒng)可以根據(jù)具體的實際需要進行設定選擇所需要加載的交換文件,一般可考慮選擇另一個系統(tǒng)已經卸載后的交換文件。所選擇的方法也可以自由設定,例如可以對Linux操作系統(tǒng)卸載后返回的文件設定一標識符,給與Windows操作系統(tǒng)卸載后返回文件給予另一不同的標識符,這樣不同的操作系統(tǒng)根據(jù)選擇具有對方標識符的文件可以進行加載處理,以便可以訪問另一個系統(tǒng)操作系統(tǒng)的應用程序傳入的文件數(shù)據(jù)。由于空的交換文件沒有設定標識符可以根據(jù)具體需要設定為上述兩個系統(tǒng)均可以直接加載或僅指定其中一個系統(tǒng)進行加載。
綜上所述,本發(fā)明的Linux操作系統(tǒng)與Windows操作系統(tǒng)的NTFS分區(qū)數(shù)據(jù)交換的方法和裝置在一定程度上解決了Linux下對NTFS分區(qū)的限制性訪問的問題,使得Windows和Linux的數(shù)據(jù)資源互訪成為可能。同時,該方法是在底層驅動上進行的,上層已有的無論是Windows應用程序還是Linux應用程序無需進行代碼修改,都可以方便的使用該方法進行Windows和Linux基于NTFS的數(shù)據(jù)共享,大大簡化了使用難度。
權利要求
1.一種在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,該方法是基于現(xiàn)有Linux操作系統(tǒng)內核已經實現(xiàn)對NTFS分區(qū)有限訪問的基礎,該方法主要包括如下步驟步驟一,在Linux操作系統(tǒng)或Windows操作系統(tǒng)下在一NTFS分區(qū)上創(chuàng)建一個或多個空文件;步驟二,利用虛擬分區(qū)技術將創(chuàng)建的所述空文件在各自的系統(tǒng)下加載為一個或多個虛擬設備或虛擬分區(qū),使得每個系統(tǒng)的上層應用程序可以實現(xiàn)對各自系統(tǒng)下的虛擬設備或分區(qū)的完全訪問;步驟三,利用虛擬分區(qū)技術將每個系統(tǒng)上層應用程序完全訪問后的文件進行卸載,使另一操作系統(tǒng)通過利用步驟二的方法實現(xiàn)上層應用程序的完全訪問。
2.如權利要求1所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,其中將所述文件虛擬為一分區(qū)的方法可以采用loop虛擬分區(qū)技術或者采用ISO文件或者自定義的將邏輯文件劃分為分區(qū)的方法。
3.如權利要求1所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,其中所述步驟一中的空文件的大小可根據(jù)應用程序的實際需求來設定。
4.如權利要求1所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,其中所使用的Linux內核版本是2.6.9-1.667以上的版本。
5.如權利要求1所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,其中所述的有限訪問是指系統(tǒng)對文件完全的讀控制和有限的寫控制,所述的完全訪問是指系統(tǒng)對文件的完全的讀控制和完全的寫控制。
6.如權利要求1所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,其中步驟一是在Windows操作系統(tǒng)下進行的,該步驟可以包括創(chuàng)建空目標文件步驟和形成交換文件步驟;所述的創(chuàng)建空目標文件步驟是在Windows操作系統(tǒng)下的某一NTFS分區(qū)創(chuàng)建一個或多空目標文件;所述的形成交換文件步驟是Windows系統(tǒng)下將上述的空目標文件命名為交換文件。
7.如權利要求1所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,其中步驟一是在Linux操作系統(tǒng)下進行的,該步驟可以包括創(chuàng)建空目標文件步驟和形成交換文件步驟;所述的創(chuàng)建空目標文件步驟是在Linux操作系統(tǒng)下的某一NTFS分區(qū)創(chuàng)建一個或多空目標文件;所述的形成交換文件步驟是Linux系統(tǒng)下將上述的空目標文件命名為交換文件。
8.如權利要求6或7所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,其中所述的創(chuàng)建空目標文件步驟利用格式化處理創(chuàng)建所述的空目標文件,所述的格式化處理主是判斷所述的目標文件是否為空文件以及對不為空的目標執(zhí)行全部清“0”處理并將該文件格式化成該系統(tǒng)所需要的數(shù)據(jù)格式。
9.如權利要求6所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,其中所述的創(chuàng)建空目標文件步驟以采用一驅動程序來創(chuàng)建所述的空目標文件;其中該驅動程序是在Windows操作系統(tǒng)下利用loop tool所開發(fā),其具有可以創(chuàng)建并格式化一個空文件,所創(chuàng)建的空文件文件用于在Linux操作系統(tǒng)下對其以loop文件的形式進行加載,而不受Linux內核目前無法改寫NTFS文件大小等的限制,且在Windows系統(tǒng)下可將一loop文件掛載成虛擬分區(qū),使得Windows應用程序將該loop文件以分區(qū)的形式讀寫,而不必關心它的內部存儲方式的功能。
10.如權利要求6或7所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,其中步驟二主要包括加載交換文件為虛擬設備或虛擬分區(qū)步驟,系統(tǒng)上層應用程序的完全訪問步驟和卸載虛擬設備或分區(qū)步驟;所述的加載交換文件步驟中,Linux操作系統(tǒng)利用該Linux操作系統(tǒng)內核對NTFS分區(qū)的支持,可以將所述的交換文件加載為虛擬設備或虛擬分,Windows操作系統(tǒng)下,利用上述所開發(fā)的驅動程序可以將所述交換文件掛載為Windows操作系統(tǒng)下的虛擬設備或虛擬分區(qū);所述的系統(tǒng)上層應用程序的完全訪問步驟是在已經成功完成上述的加載交換文件為虛擬設備或虛擬分區(qū)步驟后,Linux操作系統(tǒng)或Windows操作系統(tǒng)的上層應用程序可以直接讀寫上述的加載的虛擬設備或分區(qū)數(shù)據(jù),對所述的虛擬設備或分區(qū)進行完全訪問;所述的卸載虛擬設備或分區(qū)步驟是當Linux操作系統(tǒng)或Windows操作系統(tǒng)的上層應用程序完全訪問后,卸載各自的虛擬設備或分區(qū)。
11.如權利要求10所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,其中Linux操作系統(tǒng)采用現(xiàn)有的loop虛擬分區(qū)技術通過命令mount-o loop test.img/mnt/tmp將交換文件加載為虛擬分區(qū),test.img為交換文件的名稱。
12.一種在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的裝置,其包括創(chuàng)建空文件單元和虛擬化單元,所述的創(chuàng)建空文件單元用于在Linux操作系統(tǒng)或Windows操作系統(tǒng)的NTFS分區(qū)上創(chuàng)建一個或多個空文件;所述的虛擬化單元進一步包括一加載單元和一卸載單元;其中所述的加載單元利用虛擬分區(qū)的技術將所述創(chuàng)建空文件單元創(chuàng)建的空文件在各自的系統(tǒng)下加載為一個或多個虛擬設備或虛擬分區(qū);所述的卸載單元用于利用虛擬分區(qū)的技術對每個系統(tǒng)的上層應用程序訪問后的虛擬設備或分區(qū)進行卸載。
13.如權利要求12所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的裝置,其中所述的創(chuàng)建空文件單元還可以包括創(chuàng)建文件單元和格式化單元;所述的格式化單元是對創(chuàng)建文件單元中創(chuàng)建的文件進行格式化處理,使其成為空文件。
14.如權利要求12所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的裝置,其中所述的加載單元中,在Linux操作系統(tǒng)可以使用loop等設備技術將創(chuàng)建空文件單元中的文件加載為一虛擬設備或虛擬分區(qū)。
15.如權利要求12所述的在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的裝置,其中所述的加載單元,在Windows操作系統(tǒng)中需要利用預先開發(fā)的一驅動程序來對上述的文件進行加載為Windows操作系統(tǒng)下的一個虛擬設備或分區(qū);其中該驅動程序是在Windows操作系統(tǒng)下利用loop tool所開發(fā),其具有可以創(chuàng)建并格式化一個空文件,所創(chuàng)建的空文件文件用于在Linux操作系統(tǒng)下對其以loop文件的形式進行加載,而不受Linux內核目前無法改寫NTFS文件大小等的限制,且在Windows系統(tǒng)下可將一loop文件掛載成虛擬分區(qū),使得Windows應用程序將該loop文件以分區(qū)的形式讀寫,而不必關心它的內部存儲方式的功能。
全文摘要
本發(fā)明涉及一種在Linux操作系統(tǒng)與Windows操作系統(tǒng)下的NTFS分區(qū)數(shù)據(jù)交換的方法,該方法基于現(xiàn)有Linux操作系統(tǒng)內核已經實現(xiàn)對NTFS分區(qū)有限訪問的基礎,在Linux或Windows操作系統(tǒng)下將某一NTFS分區(qū)上創(chuàng)建一個或多個空文件;利用虛擬分區(qū)技術可將所創(chuàng)建的空文件在各自的系統(tǒng)下加載為一個或多個虛擬設備或虛擬分區(qū),從而使得每個系統(tǒng)的上層應用程序可以實現(xiàn)對各自系統(tǒng)下的虛擬設備或分區(qū)完全的訪問,該方法在一定程度上解決了Linux下對NTFS分區(qū)的限制性訪問的問題,使得Windows和Linux的數(shù)據(jù)資源互訪成為可能。同時,該方法是在底層驅動上進行的,上層已有的無論是Windows應用程序還是Linux應用程序無需進行代碼修改,都可以方便的使用該方法進行Windows和Linux基于NTFS的數(shù)據(jù)共享,大大簡化了使用難度。
文檔編號G06F9/46GK1940873SQ20051010515
公開日2007年4月4日 申請日期2005年9月28日 優(yōu)先權日2005年9月28日
發(fā)明者丁剛 申請人:聯(lián)想(北京)有限公司