文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>在Linux上挂接NTFS文件系统

在Linux上挂接NTFS文件系统

时间:2006-08-29  来源:飞天二狭

前言,本例中的Linux分别为RedHat Linux AS 3,硬件平台为IBM IntelliStation PC工作站,带有USB接口,主机名称为ibm06。
  一,确定操作系统内核:
  1,第一种办法是通过uname -a查看内核版本。
  在主机ibm06(操作系统为RedHat AS 3)上,执行uname -a,结果如下:
  Linux ibm06 2.4.21-4.EL #1 Fri Oct 3 18:13:58 EDT 2003 i686 i686 i386 GNU/Linux
  2,第二种办法是通过其他机器telnet到该主机上,会显示如下内容:
  Red Hat Enterprise Linux AS release 3 (Taroon)
  Kernel 2.4.21-4.EL on an i686
  login:
  二,到http://www.linux-ntfs.org下载相应内核版本的rpm包。
  注意,一定要充分匹配操作系统的内核版本号,而且要匹配硬件结构。如本例中的硬件平台,都属于i686架构的平台。
  再有一点,注意选择亚洲的服务器下载。而且要直接点击下载连接,而不是右键“另存为”。否则,下载的不是真正的rpm包,而是以rpm命名的网页文件。
  三,安装支持USB盘的rpm包:
  [zb@ibm06 ntfs]# rpm -ivh kernel-ntfs-2.4.21-4.EL.i686.rpm
  Preparing...     ########################################### [100%]
  1:kernel-ntfs     ########################################### [100%]
  The Linux NTFS RPM has been successfully installed.
  Please read the NTFS FAQ if you want to know how to:
   * Mount an NTFS partition
   * Change the permissions/ownership of a mounted NTFS partition
   * Automatically mount an NTFS partition
  FAQ: http://linux-ntfs.sourceforge.net/info/ntfs.html
  RPM: http://linux-ntfs.sourceforge.net/rpm/index.html
  SRC: http://linux-ntfs.sourceforge.net/rpm/rpmsrc.html
  四,验证是否Linux已经支持ntfs文件系统:
  cat /proc/filesystems
  如果,里面含有ntfs,则可进行如下工作。
  五,挂接ntfs分区:
  [zb@ibm06 ntfs]#
  [zb@ibm06 ntfs]# fdisk -l
  Disk /dev/sda: 36.4 GB, 36401479680 bytes
  255 heads, 63 sectors/track, 4425 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot  Start   End  Blocks Id System
  /dev/sda1 *     1   1029 8265411  7 HPFS/NTFS
  /dev/sda2     1030   1094  522112+ 83 Linux
  /dev/sda3     1095   2399 10482412+ 83 Linux
  /dev/sda4     2400   4425 16273845  f Win95 Ext'd (LBA)
  /dev/sda5     2400   3443 8385898+ 83 Linux
  /dev/sda6     3444   3704 2096451 82 Linux swap
  /dev/sda7     3705   4425 5791401 83 Linux
  [zb@ibm06 ntfs]#
  [zb@ibm06 ntfs]# mount -t ntfs -o iocharset=gb2312 /dev/sda1 /ntfs
  [zb@ibm06 ntfs]#
  六,查看已经挂接的文件系统:
  [zb@ibm06 ntfs]# df -k
  Filesystem     1K-blocks   Used Available Use% Mounted on
  /dev/sda5       8254240 4286028 3548920 55% /
  /dev/sda2       505636   13479  466052 3% /boot
  /dev/sda7       5700436   34032 5376836 1% /home
  none          514772     0  514772 0% /dev/shm
  /dev/sda3       10317860   32828 9760912 1% /sw
  /dev/sda1       8265408 6780000 1485408 83% /ntfs
  [zb@ibm06 ntfs]#
  [zb@ibm06 ntfs]#
  七,获得可写支持:
  这样挂接上的ntfs文件系统,是只读的。那怕是在mount命令行中,加入umask参数也不能变为可写。如果要让在linux里面向ntfs分区写数据,有以下方法:
  1,编译内核:(以redhat 8.0原始安装为例,#之后的整行是输入的命令,其他系统或者打过redhat 补丁的系统只有内核以及开发程序版本不同,按照自己的情况略加修改就可以正常完成)
  login as root,
  #uname -r 查看kernel版本号,确认要编译的kernel source和运行的kernel一致,这一步并非必须,可以在一个运行版本下编译另一个版本的kernel。
  #cd /usr/src/linux-2.4.18-14 2.4.18-14是新装的redhat 8的内核版本,随发行版不同略有变化,根据自己的情况改后面的数字。下面不再说明。
  #make mrproper 说明:这一步很重要,否则编译会出错,这是编译任何内核的第一步;
  #vi Makefile 编辑Makefile, 把前面EXTRAVERSION = -14custom 去掉custum,改成 EXTRAVERSION = -14 ,对照前面uname出来的结果,Makefile最前面几行的$VERSION+$PATCHLEVEL+$SUBLEVEL+$EXTRAVERSION 应该和你的内核版本完全一致。
  #cp configs/kernel-2.4.18-i686.config .config (根据你的配置选择一个合适的config,多CPU的机器选择带smp的config)
  #make menuconfig 选择File Systems,把光标定在NTFS file system support (read only) 前面,按回车是最前面显示为。紧跟的一行NTFS write support(DANGEROUS)前面不要选, 要吗?! 连续按ESC键(不要太多了),直到出现保存设置对话框,打回车确认。
  #make dep
  #make modules SUBDIRS=fs/ntfs
  #mkdir /lib/modules/2.4.18-14/kernel/fs/ntfs
  #cp /usr/src/linux-2.4.18-14/fs/ntfs/ntfs.o /lib/modules/2.4.18-14/kernel/fs/ntfs
  #depmod -a
  如果没有错误,编译完成。
  2,安装ntfs可写模块:
  有可写ntfs分区的rpm包(用了winxp的ntfs驱动模块),但是不一定安全,下载地址:
  http://www.jankratochvil.net/project/captive/
  3,编译内核,设置如下:(来自http://www.laikan8.com/5/34868.html)
  CONFIG_NTFS_FS=m
  CONFIG_NTFS_DEBUG=y
  CONFIG_NTFS_RW=y
  一般不推荐对ntfs分区执行写操作,因为ntfs支持写的功能只支持在不变化文件长度的变化情况下可写。
相关阅读 更多 +
排行榜 更多 +
独角兽装扮物语

独角兽装扮物语

休闲益智 下载
多格和迷失的猫

多格和迷失的猫

休闲益智 下载
模拟赛车精英

模拟赛车精英

赛车竞速 下载