在 Linux 下訪問(wèn) Win 分區(qū),不管是 fat 還是 ntfs 已經(jīng)比較完善了,而且方法統(tǒng)一,文檔豐富,驅(qū)動(dòng)也很容易找。
但在 Win 下訪問(wèn) Linux 各種分區(qū)就很不容易,只讀然后導(dǎo)出文件的工具還好,無(wú)縫訪問(wèn)工具更難找。
所謂“無(wú)縫訪問(wèn)”,seamless access ,就是掛載到本地文件系統(tǒng),不需要導(dǎo)出后才能讀或?qū)憽R?iso 為例,比較用 winiso 導(dǎo)出文件再讀,用 daemon 掛載成虛擬光驅(qū)就能直接讀了,這就是“無(wú)縫訪問(wèn)”。
Win 實(shí)現(xiàn)無(wú)縫訪問(wèn)本地 ext2/3 xfs reiserfs 分區(qū),一般是通過(guò) win 的 IFS KIT 對(duì)各種文件系統(tǒng)分別實(shí)現(xiàn)驅(qū)動(dòng)來(lái)實(shí)現(xiàn)的。一般是把一個(gè)分區(qū)映射成一個(gè)比如 J: K: 等的盤符。
這有一個(gè)很嚴(yán)重的問(wèn)題,許可證問(wèn)題,MS 的 IFS KIT 是商業(yè)軟件,不能和 Linux 下 GPL 的 ext2/3 reiserfs xfs jfs 驅(qū)動(dòng)代碼編譯到一起的。要法律上沒(méi)有瑕疵,只有兩種方案,重新發(fā)明和 IFS 同功能的接口,或者重新發(fā)明 linux 文件驅(qū)動(dòng)。法律上,只能用“凈室方法”在完全沒(méi)有接觸過(guò)替代代碼的情況下,通過(guò)反向工程作出。
開(kāi)源的同志們已經(jīng)作出了 a free version ntifs.h 。許多開(kāi)源驅(qū)動(dòng)都是用這個(gè)的,所以不叫 IFS 叫 FSD 。只要用 GPL,就可以直接用 Linux kernel 里的文件驅(qū)動(dòng)代碼。
但許多不開(kāi)源的,不管是商業(yè)還是免費(fèi),我覺(jué)得里面用的文件系統(tǒng)驅(qū)動(dòng)代碼很可疑。
還有一些驅(qū)動(dòng),不合法的用了 MS 的東西。
各種文件系統(tǒng)的支持程度大不一樣,ext2/3 只讀訪問(wèn)比較完善,驅(qū)動(dòng)較多,reiserfs 較少,xfs 只有一個(gè)不能工作的雛形,ufs 有兩個(gè)驅(qū)動(dòng),jfs 根本就沒(méi)聽(tīng)說(shuō)過(guò)有。
ext2 的驅(qū)動(dòng)有 Ext2IFS , FSDExt2 , Ext2FSD , ext2fsnt 等等。
ext2/3 可以用 ltools , explorer2fs 導(dǎo)出 ext2/3 中的文件,不能無(wú)縫訪問(wèn)。
paragon-software.com 就是 partition manager 的公司,有個(gè) Partition Explorer 可以導(dǎo)入,我記得以前好像有驅(qū)動(dòng)的。
reiserfs 驅(qū)動(dòng)只有 rfsd ,導(dǎo)入工具可以用 ltools + GUI 和 rfstool + GUI 。
Total Commander Plugins 支持 ext2/3 和 reiserfs ,據(jù)說(shuō)就是兩個(gè)開(kāi)源驅(qū)動(dòng)的組合,所以還是 GPL 的。
xfs 在 win 下有個(gè) xfs32 ,只是雛形,連導(dǎo)入都不能工作。
usf 驅(qū)動(dòng)有 ffsdrv 和 ufs2tools 。
這些軟件肯定是要能獨(dú)得,至于能不能寫,我認(rèn)為任何宣稱可寫的都值得懷疑,我是不會(huì)測(cè)試寫的,就像 Linux 下我也不會(huì)寫 ntfs 。至于 fat ,那不是現(xiàn)代的文件系統(tǒng),結(jié)構(gòu)很簡(jiǎn)單,我相信 linux 里的實(shí)現(xiàn)。
而 crossmeta 雖然用了 MS IFS 和 GPL 文件系統(tǒng)代碼,卻用一種巧妙的方式避開(kāi)了法律問(wèn)題,而且更具擴(kuò)展性。
首先, crossmeta 用 MS IFS 實(shí)現(xiàn)了一個(gè)商業(yè)的核心程序,掛載了一個(gè) V: 盤符的核心文件系統(tǒng),布局類似 *nix 系統(tǒng)。在這個(gè)系統(tǒng)之上,提供另一個(gè)文件系統(tǒng)接口,把其他文件系統(tǒng)掛載到 V:/mnt/xxx 里。
新聞熱點(diǎn)
疑難解答
圖片精選