歡迎您光臨本站 註冊首頁

如何再windows里掛載linux分區

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

在 Linux 下訪問 Win 分區,不管是 fat 還是 ntfs 已經比較完善了,而且方法統一,文檔豐富,驅動也很容易找。

但在 Win 下訪問 Linux 各種分區就很不容易,只讀然後導出文件的工具還好,無縫訪問工具更難找。

所謂「無縫訪問」,seamless access ,就是掛載到本地文件系統,不需要導出后才能讀或寫。以 iso 為例,比較用 winiso 導出文件再讀,用 daemon 掛載成虛擬光碟機就能直接讀了,這就是「無縫訪問」。

Win 實現無縫訪問本地 ext2/3 xfs reiserfs 分區,一般是通過 win 的 IFS KIT 對各種文件系統分別實現驅動來實現的。一般是把一個分區映射成一個比如 J: K: 等的盤符。
這有一個很嚴重的問題,許可證問題,MS 的 IFS KIT 是商業軟體,不能和 Linux 下 GPL 的 ext2/3 reiserfs xfs jfs 驅動代碼編譯到一起的。要法律上沒有瑕疵,只有兩種方案,重新發明和 IFS 同功能的介面,或者重新發明 linux 文件驅動。法律上,只能用「凈室方法」在完全沒有接觸過替代代碼的情況下,通過反向工程作出。
開源的同志們已經作出了 a free version ntifs.h 。許多開源驅動都是用這個的,所以不叫 IFS 叫 FSD 。只要用 GPL,就可以直接用 Linux kernel 里的文件驅動代碼。
但許多不開源的,不管是商業還是免費,我覺得裡面用的文件系統驅動代碼很可疑。
還有一些驅動,不合法的用了 MS 的東西。

各種文件系統的支持程度大不一樣,ext2/3 只讀訪問比較完善,驅動較多,reiserfs 較少,xfs 只有一個不能工作的雛形,ufs 有兩個驅動,jfs 根本就沒聽說過有。

ext2 的驅動有 Ext2IFS , FSDExt2 , Ext2FSD , ext2fsnt 等等。
ext2/3 可以用 ltools , explorer2fs 導出 ext2/3 中的文件,不能無縫訪問。
paragon-software.com 就是 partition manager 的公司,有個 Partition Explorer 可以導入,我記得以前好像有驅動的。

reiserfs 驅動只有 rfsd ,導入工具可以用 ltools + GUI 和 rfstool + GUI 。
Total Commander Plugins 支持 ext2/3 和 reiserfs ,據說就是兩個開源驅動的組合,所以還是 GPL 的。

xfs 在 win 下有個 xfs32 ,只是雛形,連導入都不能工作。

usf 驅動有 ffsdrv 和 ufs2tools 。

這些軟體肯定是要能獨得,至於能不能寫,我認為任何宣稱可寫的都值得懷疑,我是不會測試寫的,就像 Linux 下我也不會寫 ntfs 。至於 fat ,那不是現代的文件系統,結構很簡單,我相信 linux 里的實現。

而 crossmeta 雖然用了 MS IFS 和 GPL 文件系統代碼,卻用一種巧妙的方式避開了法律問題,而且更具擴展性。

首先, crossmeta 用 MS IFS 實現了一個商業的核心程序,掛載了一個 V: 盤符的核心文件系統,布局類似 *nix 系統。在這個系統之上,提供另一個文件系統介面,把其他文件系統掛載到 V:\mnt\xxx 里。
支持 NTFS, FAT and CDFS ,還有 Win 不支持的 NFS version 2 and 3 over UDP 。
而 BSD License 的 UFS/FFS 代碼也已經集成。
這個核心是不開源,但免費的。

然後,用自己的文件系統介面,加上 Linux kernel 里的文件驅動代碼,作出 EXT2, XFS 和 Reiserfs 的驅動,這是 GPL 的。

Win 的文件系統介面跟 Linux 的是大不一樣的,而 crossmeta 的文件系統介面可以更接近 Linux ,移植 Linux 文件系統會比較方便。加上 jfs 支持也不會太難。

但是,crossmeta 這樣比較接近 *nix ,配置比較複雜。下面說一下:


http://www.crossmeta.com/crossmeta.html
下載
http://www.crossmeta.com/downloads/crossmeta-nfs-1_0_1.zip
http://www.crossmeta.com/downloads/crossmeta-add-1_0.zip
http://www.crossmeta.com/downloads/crossmeta_jumpstart.pdf
前兩個是安裝程序,都有 setup.exe ,按順序安裝,沒有什麼難處,后一個是文檔,不讀文檔,你根本沒法掛上任何一個文件系統。

把下面的存為 startvfs.cmd ,在系統啟動后運行。
crossmeta 的服務有 bug ,千萬不要讓這些服務「自動」,一定要「手動」,然後用此文件啟動。
還有,關機之前不要忘了先 stopvfs.cmd ,同樣是因為這個 bug 。
否則,藍屏 BSOD 的幾率極大。
手工啟動停止,一般不會出錯。

請按你的需要修改下面兩個腳本,掛某類型分區之前,先啟動對應的服務 xfs ext2fs reiserfs 。
不要忘了先 mkdir V:\mnt\hda9 這樣。還有,它的分區設備名稱不是 Linux 樣式的,da0 到 da 是物理硬碟,分區從 da0s1 到 da0s 直接對應邏輯分區的順序,不管擴展分區。就像我下面掛載的。
CODE:
net start cxvfs
net start cxnfs
net start cxvfsmgr
V:\bin\mount -a
net start xfs
V:\bin\mount -t xfs /dev/da0s6 /mnt/hda9
V:\bin\mount -t xfs /dev/da0s7 /mnt/hda10

有問題,可以用 vfsadmin 圖形界面或 V:\bin\dmesg 查看。

很可能你正確啟動后,explorer 里看不見 V: ,也不能在 explorer 里輸入 V: 進入。
但此時,確實已經掛載,其他程序都能正常瀏覽,打開 V: , cmd 可以 V: 進入, notepad 可以打開 V: 里的文件。
重啟 explorer 就能在 explorer 里看見了。Ctrl-alt-del 殺掉 explorer ,等他自動重啟或你手動啟動后,就能正常看見 V: 了。

停止,存為 stopvfs.cmd 一定要在關機前手動執行。
CODE:
net stop cxvfsmgr
D:\Program\crossmeta\umountall
net stop cxnfs
net stop cxvfs

附錄,提到的網址

收集此類程序和文檔的網址
http://ext2fsd.sourceforge.net/resources/resources.htm
http://www.acc.umu.se/~bosse/
http://www.sjhf.net/Article/sjhfdoc/200608/164.html
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=76764
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=6779

WinNT 的文件系統介面 SDK
IFS Kit 商業的微軟的 http://www.microsoft.com/whdc/devtools/ifskit/default.mspx
Ntifs.h 自由的 http://www.acc.umu.se/~bosse/

ext2/3 不能無縫訪問的
explore2fs http://www.chrysocome.net/explore2fs
ltools http://www.it.fht-esslingen.de/~zimmerma/software/ltools.html
命令行,有 Java 和 .net 的 GUI。
Partition Explorer http://www.paragon-software.com/hdm/index.htm
Total Commander Plugins http://www.ghisler.com/plugins.htm

ext2/3 可以掛為盤符,無縫訪問的
Ext2IFS http://www.fs-driver.org/
fsdext2 http://www.yipton.demon.co.uk/
ext2fsd http://ext2fsd.sourceforge.net
ext2IFS http://uranus.it.swin.edu.au/~jn/
ext2fsnt http://ashedel.chat.ru/ext2fsnt/
winext2fsd http://winext2fsd.sourceforge.net

reiserfs 不能無縫訪問的
ltools http://www.it.fht-esslingen.de/~zimmerma/software/ltools.html
命令行,有 Java 和 .net 的 GUI。
rfstool http://p-nand-q.com/download/rfstool.html
rfsgui 好像 native 的 GUI http://www.wolfsheep.com/map/rfsgui/
YAReG .net 的 GUI http://yareg.akucom.de/
Total Commander Plugins http://www.ghisler.com/plugins.htm

reiserfs 只有這個驅動
rfsd http://rfsd.sf.net

xfs 的
xfs32 根本不能用 http://blitz.phpwebhosting.com/content/XFS32
crossmeta http://www.crossmeta.com/crossmeta.html

ffs/ufs 的
ffsdrv 驅動 http://ffsdrv.sourceforge.net/
ufs2tools 命令行不好用 http://ufs2tools.sourceforge.net/

[火星人 ] 如何再windows里掛載linux分區已經有748次圍觀

http://coctec.com/docs/linux/show-post-133455.html