安装 NTFS 文件系统模块的方法有三种:
- 第一种方法是完整地重新编译内核,然后在内核中选择 NTFS 功能,但这种方法过于麻烦,如果只是为了加入 NTFS 支持,则不建议采用这么复杂的方法;
- 第二种方法是得到 NTFS 文件系统模块(可以到互联网上下载,也可以利用本机的内核部分编译之后产生,不用完整地编译内核,要简单方便得多),然后使用 modprobe 命令安装,本小节就来介绍这种方法;
- 第三种方法是安装 NTFS 文件系统的第三方插件,如 NTFS-3G,这种插件安装简单、功能完整,我们也会讲讲这种方法;
得到NTFS文件系统模块后,手工安装
如果使用这种方法,则首先需要得到 NTFS 文件系统模块,这些模块一般是用 *ko 作为扩展名的。我们可以直接在互联网上找到 ntfs.ko 的模块文件下载之后安装;也可以下载完整的内核源码,自己编译生成 ntfs.ko 模块,然后安装。我们采用第二种方法。具体步骤如下。
1) 下载内核
我们可以到内核的官方网站下载和本机安装的内核版本相同的内核源码。本机内核的版本可以使用 uname -r 命令查看,命令如下:
[root@localhost ~]# uname -r
2.6.32-279.el6.i686
另外,在 2.4.x 内核版本中,我们可以通过 RPM 包安装完整的内核源码到本机,而不用去官网下载。但是在 2.6.x 内核版本之后,如果采用 RPM 包的方式安装内核源码,则只会安装部分源码文件,而不会安装完整的内核源码文件。RPM 包安装的内核源码是不能进行正常编译和安装的,所以只能到内核的官方网站上下载完整的内核源码。
2) 解压内核
下载的内核是压缩包,需要解压。解压命令如下:
[root@localhost ~]# tar -jxvf linux-2.6.32.tar.bz2
[root@localhost ~]# cp -r linux-2.6.32 /usr/src/kernels/
#复制内核源码到默认内核源码保存位置
3) 生成内核编译所需的 .config 文件
在进行内核编译时,是需要依赖 .config 配置文件来配置内核功能的,这个文件是通过 make menuconfig 命令生成的。不过,我们在这里不讲解完整的内核编译过程,只是为了生成 ntfs.ko 文件,那么我们就不需要执行复杂的 make menuconfig 命令了。我们可以安装 RPM 包的内核,虽然 RPM 包安装的内核源码并不完整(早期 Linux 版本会安装完整的内核源码),但是有 .config 配置文件,我们可以直接利用这个配置文件,而不需要使用 make menuconfig 命令自己生成 .config 配置文件(在进行真正的内核编译时,是需要使用 make menuconfig 命令来配置自己需要的功能,并生成 .config 配置文件的)。 命令如下:
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
[root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ kemel-devel-2.6.32-279.el6.i686.rpm
#安装RPM包的不完整的内核源码
[root@localhost ~]# cp /usr/src/kemels/2.6.32-279.el6.i686/.config/usr/src/
kemels/linux-2.6.32/
#从RPM包的内核源码中复制.config配置文件到源码包的内核源码中
[root@localhost ~]# vi /usr/src/kernels/ linux-2.6.32/.config
…省略部分输出…
# CONFIG_NTFS_FS is not set
#改为
CONFIG_NTFS_FS=m
…省略部分输出…
4) 编译模块
使用 make modules 命令来编译所有的模块,因为我们开启了 NTFS 文件系统模块,所以会生成 ntfs.ko 文件。当然,编译要想正确进行,gcc 编译器是必须安装的。命令如下:
[root@localhost ~]# cd /usr/src/kernels/linux-2.6.32/
#编译命令一定要进入内核目录才能执行,因为编译命令编译的是模块当前所在目录
[root@localhost linux-2.6.32]# make modules
#在命令执行过程中,需要选择安装哪些模块,这时只选择NTFS相关模块,其他模块都不安装,这样能加快安装速度。注意:需要选择的选项较多,不要漏选
…省略部分输出…
NTFS file system support (NTFS_FS) [M/n/y/?] m
NTFS debugging support (NTFS_DEBUG) [N/y/?] (NEW)y
NTFS write support (NTFS_RW) [N/y/?] (NEW)y
#只有这几个功能选择y(安装)或m(安装成模块),其他功能都不需要安装
…省略部分输出…
[root@localhost linux-2.6.32]# ll /usr/src/kemels/ linux-2.6.32/fe/ntfs/ntfs.ko
-rw-r--r--. 1 root root 3175255 6 月 4 18:57 /usr/src/ kemels/linux-2.6.32/
fs/ntfs/ntfs.ko
5) 模块安装
我们有了 ntfs.ko 模块,接下来的安装过程就比较简单了。先把 ntfs.ko 复制到指定位置,命令如下:[root@localhost linux-2.6.32]# cp fs/ntfs/ntfe.ko/lib/ modules/2.6.32-279.el6.i686/kemel/fs/
然后开始模块安装,命令如下:
[root@localhost linux-2.6.32]# depmod -a
#扫描所有模块
[root@localhost linux-2.6.32]# modprobe ntfs
#安装ntfs模块
[root@localhost linux-2.6.32]# modprobe -f ntfs
#-f:强制
[root@localhost linux-2.6.32]#lsmod | grep ntfs
ntfs 93874 0 [permanent]
注意,虽然我们使用了部分内核编译命令,但是我们的目的不是编译内核,而只是生成 ntfs.ko 模块,所以不需要完成内核的完整编译与安装过程。而且,如果执行了 make install 命令,那么安装的新内核有 ntfs 功能,其他功能都不存在,新内核是不能正确使用的。
利用 NTFS-3G 插件安装 NTFS 文件系统模块
我们已经学习了利用 ntfs.ko 模块安装 NTFS 文件系统,这种方法生成 ntfs.ko 模块比较麻烦。如果采用安装 NTFS-3G 插件的方式安装 NTFS 文件系统,则更加简单和方便。具体步骤如下。1) 下载 NTFS-3G 插件
首先,下载 NTFS-3G 插件到 Linux 服务器上。2)安装 NTFS-3G 插件
在编译安装 NTFS-3G 插件之前,要保证 gcc 编译器已经安装。具体安装命令如下:
[root@localhost ~]# tar -zxvf
ntfs-3g_ntfsprogs-2013.1,13.tgz
#解压
[root@localhost ~]#cd ntfs-3g_ntfeprogs-2013.1.13
#进入解压目录
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]#./ configure
#编译器准备。没有指定安装目录,安装到默认位置
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make
#编译
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make install
#编译安装
[root@localhost ~]# mount -t ntfs-3g 分区设备文件名 挂载点
例如:[root@localhost ~]# mount -t ntfe-3g /dev/sdb1 /mnt/win
这样看来,使用安装 NTFS-3G 插件的方式比安装 NTFS 文件系统更加简便方便。