關(guān)于Linux操作系統(tǒng)的NTFS和內(nèi)核分析
當(dāng)你安裝完Linux系統(tǒng),并且已經(jīng)啟動(dòng),恭喜你!如果你的硬盤(pán)上還安裝了WinNT/2000系統(tǒng),你試圖去訪(fǎng)問(wèn)另一個(gè)NTFS分區(qū)時(shí)卻遇到了麻煩。因?yàn)槟闼玫?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/Linux">Linux系統(tǒng)沒(méi)有已編譯的支持NTFS文件系統(tǒng)的模塊。怎么辦?也許你會(huì)運(yùn)行make menuconfig,重新定制你需要的所有模塊,接著運(yùn)行make modeules;make modeules_install來(lái)安裝。這樣不僅繁瑣、費(fèi)時(shí),還可能會(huì)出現(xiàn)問(wèn)題?;蛘咭?yàn)榫幾g內(nèi)核對(duì)你有些棘手,太多的選擇讓你手足無(wú)措,你根本沒(méi)有太好的方法。本文給你提供一個(gè)簡(jiǎn)單的方法,你可以輕松地去編譯你所需要的支持NTFS系統(tǒng)的模塊(ntfs.o)。以此為例,但愿對(duì)你編譯其他模塊有所幫助。
寫(xiě)此文時(shí)我用的系統(tǒng)是Red Hat Linux release 7.0 (Guinness) Kernel 2.2.16-22 on an i686。從一個(gè)新安裝的系統(tǒng)開(kāi)始,我們一起去編譯一個(gè)自己想要的支持NTFS文件系統(tǒng)模塊。
一、找到編譯內(nèi)核所需要的.config文件
在/usr/src/linux/configs目錄下有若干編譯內(nèi)核所用的配置。選擇我們想要的配置,將它復(fù)制到/usr/src/linux目錄下,改名為.config。
cp /usr/src/linux/configs/kernel-2.2.16-i686.config /usr/src/linux/.config
二、修改.config文件,去掉不用的模塊,加上自己想要的模塊
打開(kāi).config,有許多XXXX=m的項(xiàng),這些都是要被編譯為模塊的項(xiàng),因?yàn)槲覀儾幌M幾g這些模塊,所以要把XXXX=m的項(xiàng)統(tǒng)統(tǒng)去掉。然后再加上我們想要的模塊,將# CONFIG_NTFS_FS is not set 改為CONFIG_NTFS_FS=m 當(dāng)然,可以用你熟悉各種工具來(lái)做這件事。
三、編譯NTFS模塊
在/usr/src/linux目錄下運(yùn)行命令make modules來(lái)編譯我們想要的NTFS模塊。
四、安裝NTFS模塊
編譯后得到的ntfs.o在/usr/src/linux/fs/ntfs目錄下,手動(dòng)將它復(fù)制到正確的目錄下。
cp /usr/src/linux/fs/ntfs/ntfs.o /lib/modules/2.2.16-22/fs/
注意:千萬(wàn)不能運(yùn)行命令make modules_install,否則將帶來(lái)嚴(yán)重的后果,它會(huì)刪除你系統(tǒng)中的所有模塊,只安裝剛剛編譯的模塊(ntfs.o)。
五、載入NTFS模塊
運(yùn)行命令depmod;modprobe ntfs 試著訪(fǎng)問(wèn)你的NTFS文件系統(tǒng)吧,祝你成功!
有些模塊依賴(lài)于你的系統(tǒng)內(nèi)核,所以不適用本文所提供的方法。還有些模塊和其他模塊有依賴(lài)關(guān)系。如果你不熟悉這些依賴(lài)關(guān)系的話(huà),建議你在第二步去掉不用的模塊選項(xiàng)后,通過(guò)make menuconfig來(lái)加上自己想要的模塊。
我用此方法用了三分鐘編譯了支持NTFS文件系統(tǒng)的模塊,你呢?
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論