在Linux中读取NTFS分区上的数据

在Linux中读取NTFS分区上的数据

  在有些情况下,系统需要访问本地NTFS分区上的数据,也可能需要访问网络上NTFS文件格式的数据。而使用mount -t挂载文件系统时,系统报告不支持NTFS错误。

  这是由于缺省情况下,Linux核心不支持NTFS文件系统。所以,客户需要重新链接核心。

  1、以root身份登录系统,运行startx,进入X Windows。
  2、打开一个终端窗口,#cd /usr/src/Linux,进入源文件目录。
  3、#make xconfig,出现一个“Linux Kernel Configuration”窗口。
  4、单击“Filesystems”按钮,其中会发现两行与NTFS文件系统相关,“NTFS filesystem support(read only)”和“NTFS read-write support(DANGEROUS)”,当前都设为“n”。
  5、根据需要,将相应设置由“n”改为“y”,一般为安全起见,只设置只读选项即可。
  6、单击“Main Menu”按钮,退回主界面,单击“Save and Exit”按钮,退回到终端窗口。
  7、运行下列命令,重新生成核心文件:

  #make dep
  #make clean
  #make zImage(注:如果生成核心较大,请用bzImage)
  #make modules
  #make modules_install

  8、#cp /usr/src/Linux-[版本号]/arch/i386/boot/bzImage /boot
  9、#mkinitrd /boot/initrd-[版本号]ntfs.img [版本号]
  10、#vi /etc/lilo.conf,编辑文件,加入下面内容

  image=/boot/bzImage
  label=ntfs
  initrd=/boot/initrd-[版本号]ntfs.img
  read-only
  root=/dev/sda1

  11、#lilo -v,使lilo文件生效。
  12、重启机器,在“boot:”提示符下键入“ntfs”,即可进入支持NTFS文件格式的Linux系统。

为Linux编译模块让其支持NTFS文件系统

  如果你的硬盘上安装了Linux/WinNT/2000系统,用Linux访问WinNT/2000时肯定会遇到麻烦。这是因为你所用的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文件系统模块。

  1、找到编译内核所需要的.config文件。

  在/usr/src/Linux/configs目录下有若干编译内核所用的配置。选择我们想要的配置,将它复制到/usr/src/Linux目录下,改名为.config。
  cp /usr/src/Linux/configs/kernel-2.2.16-i686.config /usr/src/Linux/.config

  2、修改.config文件,去掉不用的模块,加上自己想要的模块。

  打开.config,有许多XXXX=m的项,这些都是要被编译为模块的项,因为我们不希望编译这些模块,所以要把XXXX=m的项统统去掉。然后再 加上我们想要的模块,将# CONFIG_NTFS_FS is not set 改为CONFIG_NTFS_FS=m 当然,可以用你熟悉各种工具来做这件事。

  3、编译NTFS模块。

  在/usr/src/Linux目录下运行命令make modules来编译我们想要的NTFS模块。

  4、安装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)。

  5、载入NTFS模块.

  运行命令depmod;modprobe ntfs 试着访问你的NTFS文件系统吧,祝你成功!

  有些模块依赖于你的系统内核,所以不适用本文所提供的方法。还有些模块和其他模块有依赖关系。如果你不熟悉这些依赖关系的话,建议你在第二步去掉不用的模块选项后,通过make menuconfig来加上自己想要的模块。

在Linux下如何访问Windows分区

  喜欢Linux的朋友,一般都会在硬盘上安装Red Hat Linux和Windows 98。被大家经常问到的问题就是如何在Linux下访问Windows分区,现在我们讨论一下如何解决这个问题。

  可以通过下面的方法在您的系统中访问另外系统的分区。

  首先,假设Windows分区位于第一个IDE硬盘驱动器,为第一个分区(/dev/hdal)。

  打开Xterm窗口。如果您还在用户帐号下,用“su”命令转到根用户:

  su

  Password: your root password

  然后创建一个装配点用以保存Windows分区的数据,键入:

  mkdir /mnt/vfat

  要以Xterm的根用户访问分区,键入如下内容:

  mount -t vfat /dev/hdal /mnt/vfat

  另一个访问Windows分区的办法是在文件/etc/fstab中输入正确的字段。输入这些字段的最简单办法是用Linuxconf。

  打开Xterm窗口。如果还在用户帐号下,用“su”转到根用户,方法同上。

  现在为Windows分区创建固定点,键入:

  mkdir /mnt/vfat

  下一步,仍旧在根用户下,在提示符下键入“Linuxconf”,启动Linuxconf。移动“tree view(树视图)”或Linuxconf左面板的滚动条,向下移到标有“File Systems(文件系统)”的条目,单击“+”展开树结构。

  然后单击“Access local drive(访问本地驱动器)”。在右面板中,可以看到当前已装的文件系统列表。(新的装配点并不在里面,因为您还没将它添加到里面。请见下文。)

  单击“Add(添加)”按钮,将显示标有“Volume specification(容量说明)”的选项卡。在第一个突出的条目(名为Base)中,有一系列的框需要填写,或者输入内容或者从下拉菜单中选择。下面就是其中的框:

  Partition(分区):Windows分区的物理位置(例如,第一硬盘的第一个分区为/dev/hdal);

  Type(类型):文件系统类型。Windows 98分区的文件系统类型为vfat。

  Mount point(装配点):您选定的装配点名称(如/mnt/vfat)。

  不同窗口还有其他不同的选项,它们用以设置用户访问分区的权限,选择在启动时是否停止分区的装配及其他选择。需要特别注意的选项包括:

  Dos选项:如果希望用户帐号访问分区,那么“default user id(默认的用户ID)”和“default group id(默认群组ID)”都应该设为用户帐号(这样,就不需要用“su”命令返回到作为默认方式的根用户);translation mode(翻译模式)在大部分情况下都应设为“auto(自动)”,而不是指定为“text(文本)”或“binary(二进制文件)”;default permission(默认权限)指定对分区的访问是否有读、写及执行分区上文件和目录的权限。您可以选择755的设置值,它表示用户有读、写和执行的权 限,而群组及其他有读和执行的权限。

  选项:除非指定启动系统时不装配分区(Not Mount at boot time),该选项卡中不必选择“User mountable(可装配用户)”选项。

  选好各个选项,如果有疑问,按“Help(帮助)”按钮。

  完成后,选择“Mount(装配)”图标检查新的分区,确认分区已经成功地装配其中了。

  现在单击“Accept(接受设置)”按钮,新的文件系统就添加到/etc/fstab中了。

  要访问分区,键入“cd /mnt/vfat”。而要通过Windows 98的长文件名目录导航的话,应在该目录上加引号,例如,ls“Program Files”。

  通过以上办法,就可以在Linux访问Windows下面的内容,解决文件共享的问题。

你可能感兴趣的:(linux,mount,ntfs,挂载,休闲)