当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 关于ntfs和内核问题

Unix/Linux
查看linux 下已经安装的软件包信息
linux 系统中软件raid 配置方法
linux 下MySQL服务器的启动与停止
linux 系统下FTP服务器配置方法
Linux系统下如何挂载U盘,硬盘,光驱
linux 系统下DHCP服务器 配置方法
Linux系统下软件的安装与卸载
在Fedora 9中启用ext4文件系统的方法
linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows网络共享和NFS网络共享
Linux查看文件夹大小的命令
LINUX系统grub常见错误分析
llinux fdisk分区工具 使用方法
linux 系统telnet乱码
rhythmbox 乱码的解决方法
linux单网卡绑定多ip
tar.gz 和tar.bz2 详细解释
linux学习笔记
linux系统rpm安装包详解
linux 服务器常用维护命令
出现The file /boot/grub/stage1 not read cor 解决办法

Unix/Linux 中的 关于ntfs和内核问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 194 ::
收藏到网摘: n/a


  作者:刘军民
  
  传统编译内核模块的方法繁琐而费时,本文将告诉我们一种快速编译所需要内核模块的新方法。
  当你安装完Linux系统,并且已经启动,恭喜你!如果你的硬盘上还安装了WinNT/2000系统,你试图去访问另一个NTFS分区时却遇到了麻烦。因为你所用的Linux系统没有已编译的支持NTFS文件系统的模块。怎么办?也许你会运行make menuconfig,重新定制你需要的所有模块,接着运行make modeules;make modeules_install来安装。这样不仅繁琐、费时,还可能会出现问题。或者因为编译内核对你有些棘手,太多的选择让你手足无措,你根本没有太好的方法。本文给你提供一个简单的方法,你可以轻松地去编译你所需要的支持NTFS系统的模块(ntfs.o)。以此为例,但愿对你编译其他模块有所帮助。
  
  写此文时我用的系统是Red Hat Linux release 7.0 (Guinness) Kernel 2.2.16-22 on an i686。从一个新安装的系统开始,我们一起去编译一个自己想要的支持NTFS文件系统模块。
  
  一、找到编译内核所需要的.config文件。
  在/usr/src/linux/configs目录下有若干编译内核所用的配置。选择我们想要的配置,将它复制到/usr/src/linux目录下,改名为.config。
  cp /usr/src/linux/configs/kernel-2.2.16-i686.config /usr/src/linux/.config
  
  二、修改.config文件,去掉不用的模块,加上自己想要的模块。
  打开.config,有许多XXXX=m的项,这些都是要被编译为模块的项,因为我们不希望编译这些模块,所以要把XXXX=m的项统统去掉。然后再加上我们想要的模块,将# CONFIG_NTFS_FS is not set 改为CONFIG_NTFS_FS=m 当然,可以用你熟悉各种工具来做这件事。

  
  三、编译NTFS模块。
  在/usr/src/linux目录下运行命令make modules来编译我们想要的NTFS模块。
  
  四、安装NTFS模块。
  编译后得到的ntfs.o在/usr/src/linux/fs/ntfs目录下,手动将它复制到正确的目录下。
  cp /usr/src/linux/fs/ntfs/ntfs.o /lib/modules/2.2.16-22/fs/
  注意:千万不能运行命令make modules_install,否则将带来严重的后果,它会删除你系统中的所有模块,只安装刚刚编译的模块(ntfs.o)。
  
  五、载入NTFS模块.
  运行命令depmod;modprobe ntfs 试着访问你的NTFS文件系统吧,祝你成功!
  
  有些模块依赖于你的系统内核,所以不适用本文所提供的方法。还有些模块和其他模块有依赖关系。如果你不熟悉这些依赖关系的话,建议你在第二步去掉不用的模块选项后,通过make menuconfig来加上自己想要的模块。
  
  我用此方法用了三分钟编译了支持NTFS文件系统的模块,你呢?