Windows 2000/XP/2003操作系统的分区格式是NTFS。NTFS格式支持高达2TB的大硬盘,而且性能不会随着磁盘容量的增大而降低。但是,因为这个格式在Linux下不能直接使用,所以Linux用户不能充分利用NTFS格式的硬盘空间。
因为Linux没有将挂载NTFS格式这项功能编译到内核里面,所以用户必须重新编译内核。但是编译完成后,很难保证一定能够挂载NTFS分区。下面介绍怎样才能正确、可靠地把NTFS安装、编译和挂载到Linux之中。
安装
1.RPM
在Linux下安装软件一般使用RPM组件管理程序。首先使用下面的命令查询目前所使用的Linux的内核版本:
#uname -r
得到版本信息后,到http://Linux-ntfs.sourceforge.net/网站下载系统所需的kernel-ntfs-2.4.28-27.8.0.i686.rpm组件。下载完成就可以使用下面的命令安装该组件:
#rpm ivh kernel-ntfs-2.4.28-27.8.0.i686.rpm
2.光盘
首先以root身份登录Linux,将Linux的第二张安装盘放入光驱,找到/redhat/RPMS目录下的kernel-2.4.xx-x-i386.rpm(这里x代表数字)文件,输入下面的命令:
#rpm ivh kernel-2.4.xx-x.i386.rpm
编译
用户安装好NTFS软件包后,就来进行编译的工作。首先进入/usr/src/linux-2.4.xx-x/configs目录,直接选择kernel-2.4.xx-x.i686.config,将该文件复制到/usr/src/linux2.4.xx-x目录下。接着用文本编辑器打开,把“#CONFIG_NTFS_FS is not set”这一行改为“CONFIG_NTFS_FS=m”。
然后到/usr/src/linux-2.4.xx-3目录,输入下面的命令编译NTFS模块:
#make modules
编译完成后,到/usr/src/linux-2.4.xx-x/fs/ntf目录下找到一个ntfs.o文件,将其文件复制到/lib/modules/2.4.xx-x/kernel/fs目录。最后回到/usr/src/linux-2.4.xx-3目录,输入如下命令即可:
#depmod
#modprobe ntfs
挂载NTFS
当安装和编译完成后,便可以自行在/mnt下建立一个目录当作挂载点。以笔者而言,挂载点设为windows1。然后使用“mount”命令挂载,示例如下:
#mount t ntfs /dev/hdc1 /mnt/windows1
当顺利将NTFS挂载起来后,便可以切换到所建立的挂载点目录下(例如切换到/mnt/windows1下),运行如下命令来查看NTFS分区下的文件:
#ls -l
在用RPM方式安装可以挂载NTFS分区的组件后,此时的Linux只能在所挂载的NTFS分区内读取和运行相关文件,而无法写入任何信息或存储任何文件到NTFS分区中。
此时,一般的用户无法使用NTFS分区内的东西,因为挂载的权限只有系统管理者root才拥有。在默认值上挂载后的分区,其拥有者(UID)和拥有群组(GID)都是root。如果想让一般的用户也能使用挂载后的文件,就必须重新设置。具体做法如下:
首先,root在运行“mount”命令前,须先考虑有几位用户将使用NTFS分区内的文件,例如abc用户需要使用,就可以输入下面的命令:
#mount /dev/hdc1 /mnt/windows1 t ntfs r o uid=abc
挂载完成后,可以看到windows1的拥有者已经变为abc。此时,abc这位用户便可以使用windows1目录下的任何文件了,从而实现了利用NTFS磁盘空间的目的。